summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml4
-rw-r--r--doc/configuration.xml2
-rw-r--r--doc/cross-compilation.xml62
-rw-r--r--doc/functions.xml2
-rw-r--r--doc/languages-frameworks/python.md24
-rw-r--r--doc/overlays.xml2
-rw-r--r--doc/reviewing-contributions.xml2
-rw-r--r--doc/stdenv.xml12
-rw-r--r--lib/default.nix8
-rw-r--r--lib/fixed-points.nix78
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/maintainers.nix6
-rw-r--r--lib/meta.nix5
-rw-r--r--lib/strings.nix7
-rw-r--r--lib/systems/default.nix13
-rw-r--r--lib/systems/doubles.nix38
-rw-r--r--lib/systems/examples.nix130
-rw-r--r--lib/systems/inspect.nix37
-rw-r--r--lib/systems/parse.nix31
-rw-r--r--lib/systems/platforms.nix9
-rw-r--r--lib/tests/misc.nix38
-rw-r--r--lib/tests/release.nix2
-rw-r--r--lib/trivial.nix78
-rw-r--r--lib/types.nix9
-rwxr-xr-xmaintainers/scripts/rebuild-amount.sh345
-rwxr-xr-xmaintainers/scripts/update-python-libraries241
-rw-r--r--nixos/doc/manual/administration/imperative-containers.xml2
-rw-r--r--nixos/doc/manual/development/building-nixos.xml8
-rw-r--r--nixos/doc/manual/development/option-declarations.xml2
-rw-r--r--nixos/doc/manual/development/option-types.xml16
-rw-r--r--nixos/doc/manual/release-notes/rl-1509.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-1603.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-1709.xml36
-rw-r--r--nixos/lib/test-driver/test-driver.pl2
-rw-r--r--nixos/modules/config/networking.nix12
-rw-r--r--nixos/modules/config/nsswitch.nix2
-rw-r--r--nixos/modules/config/pulseaudio.nix7
-rw-r--r--nixos/modules/hardware/nitrokey.nix41
-rw-r--r--nixos/modules/hardware/video/nvidia.nix5
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix6
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/misc/locate.nix4
-rw-r--r--nixos/modules/module-list.nix12
-rw-r--r--nixos/modules/programs/environment.nix2
-rw-r--r--nixos/modules/programs/gnupg.nix75
-rw-r--r--nixos/modules/programs/ssh.nix5
-rw-r--r--nixos/modules/programs/thefuck.nix31
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.nix4
-rw-r--r--nixos/modules/programs/zsh/zsh-syntax-highlighting.nix37
-rw-r--r--nixos/modules/rename.nix4
-rw-r--r--nixos/modules/security/acme.nix64
-rw-r--r--nixos/modules/service-managers/docker.nix29
-rw-r--r--nixos/modules/service-managers/trivial.nix35
-rw-r--r--nixos/modules/services/backup/znapzend.nix23
-rw-r--r--nixos/modules/services/cluster/kubernetes.nix2
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/master.nix2
-rw-r--r--nixos/modules/services/databases/mysql.nix6
-rw-r--r--nixos/modules/services/databases/postgresql.nix20
-rw-r--r--nixos/modules/services/logging/SystemdJournal2Gelf.nix59
-rw-r--r--nixos/modules/services/logging/logstash.nix108
-rw-r--r--nixos/modules/services/mail/mlmmj.nix52
-rw-r--r--nixos/modules/services/mail/spamassassin.nix164
-rw-r--r--nixos/modules/services/misc/autorandr.nix14
-rw-r--r--nixos/modules/services/misc/errbot.nix2
-rw-r--r--nixos/modules/services/misc/fstrim.nix45
-rw-r--r--nixos/modules/services/monitoring/arbtt.nix3
-rw-r--r--nixos/modules/services/monitoring/graphite.nix4
-rw-r--r--nixos/modules/services/network-filesystems/glusterfs.nix5
-rw-r--r--nixos/modules/services/network-filesystems/ipfs.nix22
-rw-r--r--nixos/modules/services/network-filesystems/u9fs.nix1
-rw-r--r--nixos/modules/services/networking/aiccu.nix185
-rw-r--r--nixos/modules/services/networking/bind.nix20
-rw-r--r--nixos/modules/services/networking/charybdis.nix76
-rw-r--r--nixos/modules/services/networking/cntlm.nix154
-rw-r--r--nixos/modules/services/networking/dnschain.nix16
-rw-r--r--nixos/modules/services/networking/firewall.nix13
-rw-r--r--nixos/modules/services/networking/hostapd.nix2
-rw-r--r--nixos/modules/services/networking/i2pd.nix3
-rw-r--r--nixos/modules/services/networking/iwd.nix34
-rw-r--r--nixos/modules/services/networking/networkmanager.nix21
-rw-r--r--nixos/modules/services/networking/resilio.nix268
-rw-r--r--nixos/modules/services/networking/tinc.nix3
-rw-r--r--nixos/modules/services/networking/znc.nix5
-rw-r--r--nixos/modules/services/search/elasticsearch.nix81
-rw-r--r--nixos/modules/services/search/kibana.nix48
-rw-r--r--nixos/modules/services/security/hologram-server.nix14
-rw-r--r--nixos/modules/services/system/cloud-init.nix106
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix2
-rw-r--r--nixos/modules/services/web-servers/caddy.nix29
-rw-r--r--nixos/modules/services/x11/compton.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix30
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix4
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix13
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix2
-rw-r--r--nixos/modules/services/x11/redshift.nix9
-rw-r--r--nixos/modules/services/x11/unclutter-xfixes.nix3
-rw-r--r--nixos/modules/services/x11/unclutter.nix8
-rw-r--r--nixos/modules/services/x11/urxvtd.nix5
-rw-r--r--nixos/modules/services/x11/window-managers/qtile.nix2
-rw-r--r--nixos/modules/services/x11/xbanish.nix3
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix32
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl6
-rw-r--r--nixos/modules/system/boot/stage-1.nix2
-rw-r--r--nixos/modules/system/boot/systemd-nspawn.nix26
-rw-r--r--nixos/modules/system/boot/systemd.nix28
-rw-r--r--nixos/modules/tasks/bcache.nix2
-rw-r--r--nixos/modules/virtualisation/lxd.nix2
-rw-r--r--nixos/release.nix2
-rw-r--r--nixos/tests/cloud-init.nix47
-rw-r--r--nixos/tests/elk.nix95
-rw-r--r--nixos/tests/installer.nix2
-rw-r--r--nixos/tests/ldap.nix119
-rw-r--r--nixos/tests/logstash.nix41
-rw-r--r--nixos/tests/plasma5.nix15
-rw-r--r--pkgs/applications/altcoins/default.nix1
-rw-r--r--pkgs/applications/altcoins/ethabi.nix2
-rw-r--r--pkgs/applications/altcoins/go-ethereum-classic/default.nix24
-rw-r--r--pkgs/applications/altcoins/go-ethereum-classic/deps.nix39
-rw-r--r--pkgs/applications/altcoins/seth.nix4
-rw-r--r--pkgs/applications/audio/aeolus/default.nix14
-rw-r--r--pkgs/applications/audio/airwave/default.nix5
-rw-r--r--pkgs/applications/audio/aj-snapshot/default.nix4
-rw-r--r--pkgs/applications/audio/bristol/default.nix2
-rw-r--r--pkgs/applications/audio/csound/default.nix35
-rw-r--r--pkgs/applications/audio/google-play-music-desktop-player/default.nix4
-rw-r--r--pkgs/applications/audio/mpc/default.nix27
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix22
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix2
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix11
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix114
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix3234
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix1180
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch16
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix58
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix7
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevplatform.nix17
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/vim/default.nix2
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix11
-rw-r--r--pkgs/applications/graphics/simple-scan/default.nix11
-rw-r--r--pkgs/applications/graphics/unigine-valley/default.nix12
-rw-r--r--pkgs/applications/kde/kdenlive-cmake-concurrent-module.patch12
-rw-r--r--pkgs/applications/kde/kdenlive.nix3
-rw-r--r--pkgs/applications/misc/albert/default.nix4
-rw-r--r--pkgs/applications/misc/apvlv/default.nix7
-rw-r--r--pkgs/applications/misc/calibre/default.nix8
-rw-r--r--pkgs/applications/misc/dmenu/default.nix4
-rw-r--r--pkgs/applications/misc/electrum/default.nix4
-rw-r--r--pkgs/applications/misc/far2l/default.nix33
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock57
-rw-r--r--pkgs/applications/misc/gollum/default.nix32
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix176
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/deps.nix138
-rw-r--r--pkgs/applications/misc/hyper/default.nix4
-rw-r--r--pkgs/applications/misc/inspectrum/default.nix7
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix15
-rw-r--r--pkgs/applications/misc/lyx/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix18
-rw-r--r--pkgs/applications/misc/synergy/default.nix5
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix6
-rw-r--r--pkgs/applications/misc/tilix/default.nix43
-rw-r--r--pkgs/applications/misc/xterm/default.nix3
-rw-r--r--pkgs/applications/misc/yakuake/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix16
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix758
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix945
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix945
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix935
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix17
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/lynx/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix10
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix25
-rw-r--r--pkgs/applications/networking/c14/default.nix10
-rw-r--r--pkgs/applications/networking/c14/deps.nix66
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix23
-rw-r--r--pkgs/applications/networking/cluster/pachyderm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix12
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch13
-rw-r--r--pkgs/applications/networking/instant-messengers/jackline/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/jackline/uchar.patch302
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/scudcloud/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix92
-rw-r--r--pkgs/applications/networking/insync/default.nix14
-rw-r--r--pkgs/applications/networking/ipfs/default.nix8
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix24
-rw-r--r--pkgs/applications/networking/resilio-sync/default.nix39
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix2
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/office/gnumeric/default.nix19
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/mendeley/default.nix6
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix69
-rw-r--r--pkgs/applications/science/biology/snpeff/default.nix8
-rw-r--r--pkgs/applications/science/chemistry/pymol/default.nix40
-rw-r--r--pkgs/applications/science/logic/cryptominisat/default.nix31
-rw-r--r--pkgs/applications/science/logic/minisat/unstable.nix23
-rw-r--r--pkgs/applications/science/logic/stp/default.nix43
-rw-r--r--pkgs/applications/science/logic/stp/fixbuild.diff45
-rw-r--r--pkgs/applications/science/logic/stp/fixrefs.diff192
-rw-r--r--pkgs/applications/science/math/calc/default.nix3
-rw-r--r--pkgs/applications/science/math/ecm/default.nix11
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/msieve/default.nix21
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix45
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock2
-rw-r--r--pkgs/applications/version-management/mr/default.nix11
-rw-r--r--pkgs/applications/version-management/pijul/default.nix12
-rw-r--r--pkgs/applications/version-management/vcsh/default.nix25
-rw-r--r--pkgs/applications/video/kodi/commons.nix84
-rw-r--r--pkgs/applications/video/kodi/default.nix12
-rw-r--r--pkgs/applications/video/kodi/plugins.nix169
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix3
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/smtube/default.nix4
-rw-r--r--pkgs/applications/video/vlc/default.nix10
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix7
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix30
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix4
-rw-r--r--pkgs/applications/virtualization/runc/default.nix28
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/xen/4.5.nix120
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix2
-rw-r--r--pkgs/applications/window-managers/fvwm/default.nix8
-rw-r--r--pkgs/applications/window-managers/i3/blocks-gaps.nix29
-rw-r--r--pkgs/applications/window-managers/i3/blocks.nix42
-rw-r--r--pkgs/applications/window-managers/i3/lock-color.nix6
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix4
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix12
-rw-r--r--pkgs/build-support/cc-wrapper/utils.sh67
-rw-r--r--pkgs/build-support/docker/examples.nix16
-rw-r--r--pkgs/build-support/docker/pull.nix57
-rw-r--r--pkgs/build-support/docker/pull.sh102
-rw-r--r--pkgs/build-support/emacs/elpa2nix.el3
-rw-r--r--pkgs/build-support/fetchdarcs/default.nix2
-rw-r--r--pkgs/build-support/fetchgit/builder.sh1
-rw-r--r--pkgs/build-support/fetchgit/default.nix5
-rw-r--r--pkgs/build-support/fetchgx/default.nix2
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh4
-rw-r--r--pkgs/build-support/fetchsvn/default.nix4
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix6
-rw-r--r--pkgs/build-support/libredirect/libredirect.c1
-rw-r--r--pkgs/build-support/plugins.nix29
-rwxr-xr-xpkgs/build-support/rust/fetch-cargo-deps4
-rw-r--r--pkgs/build-support/setup-hooks/audit-tmpdir.sh41
-rw-r--r--pkgs/build-support/setup-hooks/multiple-outputs.sh2
-rw-r--r--pkgs/build-support/trivial-builders.nix2
-rw-r--r--pkgs/build-support/vm/windows/controller/default.nix2
-rw-r--r--pkgs/data/fonts/arphic/default.nix65
-rw-r--r--pkgs/data/fonts/droid/default.nix2
-rw-r--r--pkgs/data/fonts/iosevka/default.nix4
-rw-r--r--pkgs/data/fonts/rictydiminished-with-firacode/default.nix39
-rw-r--r--pkgs/data/misc/geolite-legacy/default.nix14
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/nixos-artwork/default.nix24
-rw-r--r--pkgs/data/misc/nixos-artwork/wallpapers.nix100
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix7
-rw-r--r--pkgs/desktops/enlightenment/efl.nix4
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gnome-backgrounds/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/default.nix4
-rw-r--r--pkgs/desktops/kde-4.14/kdepimlibs.nix4
-rw-r--r--pkgs/desktops/lxde/core/lxappearance/default.nix8
-rw-r--r--pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch27
-rw-r--r--pkgs/desktops/xfce/default.nix1
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix35
-rw-r--r--pkgs/development/arduino/arduino-core/default.nix18
-rw-r--r--pkgs/development/arduino/arduino-core/downloads.nix138
-rw-r--r--pkgs/development/beam-modules/lib.nix37
-rw-r--r--pkgs/development/compilers/bigloo/default.nix3
-rw-r--r--pkgs/development/compilers/binaryen/default.nix24
-rw-r--r--pkgs/development/compilers/colm/default.nix8
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix11
-rw-r--r--pkgs/development/compilers/fstar/default.nix3
-rw-r--r--pkgs/development/compilers/gambit/default.nix19
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix49
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix65
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix65
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix71
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix71
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix550
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix69
-rw-r--r--pkgs/development/compilers/gerbil/default.nix55
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix4
-rw-r--r--pkgs/development/compilers/ghc/ghc-8.0.2-no-cpp-warnings.patch23
-rw-r--r--pkgs/development/compilers/ghcjs/head.nix6
-rw-r--r--pkgs/development/compilers/go/1.7.nix4
-rw-r--r--pkgs/development/compilers/go/1.8.nix7
-rw-r--r--pkgs/development/compilers/iasl/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/3.4/fix-llvm-config.patch13
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix10
-rw-r--r--pkgs/development/compilers/llvm/3.9/clang/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix23
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix40
-rw-r--r--pkgs/development/compilers/llvm/4/libc++abi.nix3
-rw-r--r--pkgs/development/compilers/llvm/4/lld.nix3
-rw-r--r--pkgs/development/compilers/llvm/4/lldb-libedit.patch30
-rw-r--r--pkgs/development/compilers/llvm/4/lldb.nix12
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix30
-rw-r--r--pkgs/development/compilers/llvm/4/openmp.nix3
-rw-r--r--pkgs/development/compilers/rust/beta.nix73
-rw-r--r--pkgs/development/compilers/rust/binaryBuild.nix99
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix78
-rw-r--r--pkgs/development/compilers/rust/default.nix28
-rw-r--r--pkgs/development/compilers/rust/nightly.nix70
-rw-r--r--pkgs/development/compilers/rust/nightlyBin.nix78
-rwxr-xr-xpkgs/development/compilers/rust/print-hashes.sh19
-rw-r--r--pkgs/development/compilers/rust/rustc.nix74
-rw-r--r--pkgs/development/compilers/sdcc/default.nix10
-rw-r--r--pkgs/development/compilers/solc/default.nix11
-rw-r--r--pkgs/development/compilers/swift/default.nix3
-rw-r--r--pkgs/development/compilers/tinycc/default.nix6
-rw-r--r--pkgs/development/compilers/urweb/default.nix6
-rw-r--r--pkgs/development/go-modules/generic/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml263
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix9
-rw-r--r--pkgs/development/haskell-modules/default.nix15
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix7
-rw-r--r--pkgs/development/haskell-modules/generic-stack-builder.nix4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix5278
-rw-r--r--pkgs/development/haskell-modules/lib.nix5
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix31
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix58
-rw-r--r--pkgs/development/interpreters/erlang/R16B02-8-basho.nix70
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix75
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix103
-rw-r--r--pkgs/development/interpreters/erlang/R19.nix99
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix144
-rw-r--r--pkgs/development/interpreters/maude/default.nix5
-rw-r--r--pkgs/development/interpreters/perl/default.nix34
-rw-r--r--pkgs/development/interpreters/php/default.nix9
-rw-r--r--pkgs/development/interpreters/pixie/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/cpython/3.3/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/3.3/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix14
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/default.nix7
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/setup-hook.nix13
-rw-r--r--pkgs/development/interpreters/python/setup-hook.sh21
-rw-r--r--pkgs/development/interpreters/python/wrap.sh54
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/libraries/accounts-qt/default.nix3
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix6
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix4
-rw-r--r--pkgs/development/libraries/audio/libbass/default.nix59
-rw-r--r--pkgs/development/libraries/botan/generic.nix2
-rw-r--r--pkgs/development/libraries/chmlib/default.nix8
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/3.3.nix4
-rw-r--r--pkgs/development/libraries/freetype/cve-2017-8105.patch27
-rw-r--r--pkgs/development/libraries/freetype/cve-2017-8287.patch22
-rw-r--r--pkgs/development/libraries/freetype/default.nix3
-rw-r--r--pkgs/development/libraries/gnutls/3.5.nix6
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix3
-rw-r--r--pkgs/development/libraries/goffice/default.nix6
-rw-r--r--pkgs/development/libraries/grib-api/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix3
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/gtkd/default.nix98
-rw-r--r--pkgs/development/libraries/gtkd/paths.d142
-rw-r--r--pkgs/development/libraries/half/default.nix25
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch28
-rw-r--r--pkgs/development/libraries/icu/default.nix22
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix2
-rw-r--r--pkgs/development/libraries/jasper/default.nix19
-rw-r--r--pkgs/development/libraries/libao/default.nix3
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.nix32
-rw-r--r--pkgs/development/libraries/libcommuni/default.nix3
-rw-r--r--pkgs/development/libraries/libdrm/default.nix10
-rw-r--r--pkgs/development/libraries/libdwg/default.nix3
-rw-r--r--pkgs/development/libraries/libfann/default.nix25
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libftdi/default.nix3
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libhdhomerun/default.nix34
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libmnl/default.nix2
-rw-r--r--pkgs/development/libraries/libnetfilter_log/default.nix29
-rw-r--r--pkgs/development/libraries/libopus/default.nix11
-rw-r--r--pkgs/development/libraries/libproxy/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/2.5.nix2
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix8
-rw-r--r--pkgs/development/libraries/libtiff/default.nix9
-rw-r--r--pkgs/development/libraries/libuv/default.nix6
-rw-r--r--pkgs/development/libraries/libvirt/default.nix8
-rw-r--r--pkgs/development/libraries/lmdb/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix14
-rw-r--r--pkgs/development/libraries/mesa/symlink-drivers.patch19
-rw-r--r--pkgs/development/libraries/ncurses/default.nix3
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix8
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/physics/cernlib/default.nix63
-rw-r--r--pkgs/development/libraries/physics/cernlib/patch186
-rw-r--r--pkgs/development/libraries/physics/cernlib/setup-hook.sh3
-rw-r--r--pkgs/development/libraries/polkit/default.nix29
-rw-r--r--pkgs/development/libraries/poppler/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.8/qtwebkit/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/sqlite3_analyzer.nix6
-rw-r--r--pkgs/development/libraries/webkitgtk/2.16.nix (renamed from pkgs/development/libraries/webkitgtk/2.14.nix)12
-rw-r--r--pkgs/development/libraries/webkitgtk/PR-152650-2.patch2
-rw-r--r--pkgs/development/libraries/webkitgtk/adding-libintl.patch10
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml118
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix17
-rw-r--r--pkgs/development/mobile/androidenv/default.nix14
-rwxr-xr-xpkgs/development/mobile/androidenv/fetch.sh3
-rw-r--r--pkgs/development/mobile/androidenv/generate-platforms.xsl2
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix16
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix16
-rw-r--r--pkgs/development/mobile/androidenv/repository-11.xml312
-rw-r--r--pkgs/development/mobile/androidenv/sources.nix11
-rw-r--r--pkgs/development/mobile/androidenv/sys-img.xml38
-rw-r--r--pkgs/development/node-packages/node-packages-v4.nix1293
-rw-r--r--pkgs/development/node-packages/node-packages-v6.json3
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix8348
-rw-r--r--pkgs/development/ocaml-modules/base/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/1.0.nix42
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/janestreet/async_kernel-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/async_unix-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/core-113_33_02.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/core_kernel-113_33_01.nix25
-rw-r--r--pkgs/development/ocaml-modules/janestreet/default.nix600
-rw-r--r--pkgs/development/ocaml-modules/janestreet/janePackage.nix28
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_ast.nix24
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_bench-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_bin_prot-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_compare-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_core-113_33_01.nix20
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_custom_printf-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_enumerate-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_expect-113_33_01.nix22
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_fail-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_fields_conv-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_inline_test-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_jane-113_33_00.nix24
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_let-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_optcomp-113_33_01.nix34
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_pipebang-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_sexp_conv-113_33_01.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_sexp_message-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_sexp_value-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_type_conv-113_33_02.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_typerep_conv-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_variants_conv-113_33_00.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/sexplib-113_33_00.nix18
-rw-r--r--pkgs/development/ocaml-modules/mparser/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/stdio/default.nix22
-rw-r--r--pkgs/development/python-modules/3to2/default.nix7
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix59
-rw-r--r--pkgs/development/python-modules/Pmw/default.nix24
-rw-r--r--pkgs/development/python-modules/Theano/theano-with-cuda/default.nix5
-rw-r--r--pkgs/development/python-modules/Theano/theano-without-cuda/default.nix4
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/aiofiles/default.nix33
-rw-r--r--pkgs/development/python-modules/alembic/default.nix24
-rw-r--r--pkgs/development/python-modules/appdirs/default.nix21
-rw-r--r--pkgs/development/python-modules/argcomplete/default.nix27
-rw-r--r--pkgs/development/python-modules/asgi_ipc/default.nix7
-rw-r--r--pkgs/development/python-modules/asgi_redis/default.nix7
-rw-r--r--pkgs/development/python-modules/asgiref/default.nix7
-rw-r--r--pkgs/development/python-modules/astroid/default.nix61
-rw-r--r--pkgs/development/python-modules/astropy/default.nix32
-rw-r--r--pkgs/development/python-modules/async_timeout/default.nix4
-rw-r--r--pkgs/development/python-modules/automat/default.nix7
-rw-r--r--pkgs/development/python-modules/bap/default.nix3
-rw-r--r--pkgs/development/python-modules/bcrypt.nix7
-rw-r--r--pkgs/development/python-modules/blivet/default.nix3
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix40
-rw-r--r--pkgs/development/python-modules/breathe/default.nix7
-rw-r--r--pkgs/development/python-modules/btrees/default.nix4
-rw-r--r--pkgs/development/python-modules/certifi/default.nix4
-rw-r--r--pkgs/development/python-modules/channels/default.nix3
-rw-r--r--pkgs/development/python-modules/characteristic/default.nix22
-rw-r--r--pkgs/development/python-modules/colorama/default.nix22
-rw-r--r--pkgs/development/python-modules/constantly/default.nix3
-rw-r--r--pkgs/development/python-modules/daphne/default.nix3
-rw-r--r--pkgs/development/python-modules/dask/default.nix39
-rw-r--r--pkgs/development/python-modules/dateutil/default.nix3
-rw-r--r--pkgs/development/python-modules/dbfread/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--pkgs/development/python-modules/discordpy/default.nix4
-rw-r--r--pkgs/development/python-modules/distro/default.nix4
-rw-r--r--pkgs/development/python-modules/django-compat/default.nix34
-rw-r--r--pkgs/development/python-modules/django-hijack/default.nix39
-rw-r--r--pkgs/development/python-modules/django-raster/default.nix7
-rw-r--r--pkgs/development/python-modules/django/1_10.nix3
-rw-r--r--pkgs/development/python-modules/django/1_11.nix8
-rw-r--r--pkgs/development/python-modules/django_guardian.nix3
-rw-r--r--pkgs/development/python-modules/djangorestframework/default.nix7
-rw-r--r--pkgs/development/python-modules/docker.nix7
-rw-r--r--pkgs/development/python-modules/docker_compose.nix7
-rw-r--r--pkgs/development/python-modules/dogpile.cache/default.nix4
-rw-r--r--pkgs/development/python-modules/ds4drv.nix3
-rw-r--r--pkgs/development/python-modules/dulwich.nix7
-rw-r--r--pkgs/development/python-modules/ecpy/default.nix22
-rw-r--r--pkgs/development/python-modules/ed25519/default.nix19
-rw-r--r--pkgs/development/python-modules/edward/default.nix4
-rw-r--r--pkgs/development/python-modules/emoji/default.nix23
-rw-r--r--pkgs/development/python-modules/ezdxf/default.nix3
-rw-r--r--pkgs/development/python-modules/feedgenerator/default.nix24
-rw-r--r--pkgs/development/python-modules/flake8-blind-except/default.nix3
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix3
-rw-r--r--pkgs/development/python-modules/flask-elastic.nix3
-rw-r--r--pkgs/development/python-modules/flask-ldap-login.nix4
-rw-r--r--pkgs/development/python-modules/flask-login.nix3
-rw-r--r--pkgs/development/python-modules/flask-migrate/default.nix29
-rw-r--r--pkgs/development/python-modules/flask-oauthlib.nix3
-rw-r--r--pkgs/development/python-modules/flask-wtf.nix4
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix32
-rw-r--r--pkgs/development/python-modules/future/default.nix40
-rw-r--r--pkgs/development/python-modules/ghdiff.nix4
-rw-r--r--pkgs/development/python-modules/guessit/default.nix4
-rw-r--r--pkgs/development/python-modules/gunicorn.nix6
-rw-r--r--pkgs/development/python-modules/h5py/default.nix7
-rw-r--r--pkgs/development/python-modules/hidapi/default.nix30
-rw-r--r--pkgs/development/python-modules/hieroglyph/default.nix3
-rw-r--r--pkgs/development/python-modules/hypothesis.nix16
-rw-r--r--pkgs/development/python-modules/incremental/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/jabberbot.nix4
-rw-r--r--pkgs/development/python-modules/jsbeautifier/default.nix30
-rw-r--r--pkgs/development/python-modules/keepkey/default.nix30
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/koji/default.nix4
-rw-r--r--pkgs/development/python-modules/ldap.nix36
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix23
-rw-r--r--pkgs/development/python-modules/libagent/default.nix26
-rw-r--r--pkgs/development/python-modules/libais/default.nix3
-rw-r--r--pkgs/development/python-modules/libarcus/default.nix3
-rw-r--r--pkgs/development/python-modules/libasyncns/default.nix3
-rw-r--r--pkgs/development/python-modules/libsexy/default.nix3
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix26
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix4
-rw-r--r--pkgs/development/python-modules/m2r/default.nix13
-rw-r--r--pkgs/development/python-modules/magic-wormhole/default.nix13
-rw-r--r--pkgs/development/python-modules/markdown2.nix3
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix7
-rw-r--r--pkgs/development/python-modules/mnemonic/default.nix21
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix6
-rw-r--r--pkgs/development/python-modules/multidict/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix52
-rw-r--r--pkgs/development/python-modules/nbformat/default.nix36
-rw-r--r--pkgs/development/python-modules/netcdf4/default.nix (renamed from pkgs/development/python-modules/netcdf4.nix)13
-rw-r--r--pkgs/development/python-modules/nltk.nix7
-rw-r--r--pkgs/development/python-modules/ntlm-auth/default.nix37
-rw-r--r--pkgs/development/python-modules/numba/default.nix7
-rw-r--r--pkgs/development/python-modules/os-testr/default.nix7
-rw-r--r--pkgs/development/python-modules/pandas/default.nix28
-rw-r--r--pkgs/development/python-modules/path.py/default.nix34
-rw-r--r--pkgs/development/python-modules/pbr/default.nix4
-rw-r--r--pkgs/development/python-modules/pelican/default.nix54
-rw-r--r--pkgs/development/python-modules/pep257.nix3
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix6
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/powerline/default.nix46
-rw-r--r--pkgs/development/python-modules/pyatspi/default.nix3
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix7
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix7
-rw-r--r--pkgs/development/python-modules/pycuda/default.nix4
-rw-r--r--pkgs/development/python-modules/pyexiv2/default.nix6
-rw-r--r--pkgs/development/python-modules/pyext/default.nix4
-rw-r--r--pkgs/development/python-modules/pygame/default.nix3
-rw-r--r--pkgs/development/python-modules/pylibmc/default.nix13
-rw-r--r--pkgs/development/python-modules/pylint/default.nix8
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix10
-rw-r--r--pkgs/development/python-modules/pyrax.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix6
-rw-r--r--pkgs/development/python-modules/pyscard/default.nix7
-rw-r--r--pkgs/development/python-modules/pyside/default.nix3
-rw-r--r--pkgs/development/python-modules/pysrt/default.nix3
-rw-r--r--pkgs/development/python-modules/pytest-django/default.nix3
-rw-r--r--pkgs/development/python-modules/pytest-httpbin/default.nix3
-rw-r--r--pkgs/development/python-modules/pytest-localserver/default.nix33
-rw-r--r--pkgs/development/python-modules/pytest-pep257.nix28
-rw-r--r--pkgs/development/python-modules/pytest/default.nix3
-rw-r--r--pkgs/development/python-modules/pytestdjango.nix21
-rw-r--r--pkgs/development/python-modules/python-jose/default.nix3
-rw-r--r--pkgs/development/python-modules/python-sql/default.nix7
-rw-r--r--pkgs/development/python-modules/python-stdnum/default.nix7
-rw-r--r--pkgs/development/python-modules/pyudev.nix3
-rw-r--r--pkgs/development/python-modules/pywebdav/default.nix3
-rw-r--r--pkgs/development/python-modules/pywinrm/default.nix32
-rw-r--r--pkgs/development/python-modules/pyxml/default.nix4
-rw-r--r--pkgs/development/python-modules/rarfile/default.nix23
-rw-r--r--pkgs/development/python-modules/reikna/default.nix4
-rw-r--r--pkgs/development/python-modules/relatorio/default.nix3
-rw-r--r--pkgs/development/python-modules/requests-oauthlib.nix7
-rw-r--r--pkgs/development/python-modules/requests_ntlm/default.nix30
-rw-r--r--pkgs/development/python-modules/rfc3986/default.nix4
-rw-r--r--pkgs/development/python-modules/rhpl/default.nix14
-rw-r--r--pkgs/development/python-modules/ropper/default.nix28
-rw-r--r--pkgs/development/python-modules/scikitlearn/default.nix41
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix7
-rw-r--r--pkgs/development/python-modules/scrapy/permissions-fix.patch5
-rw-r--r--pkgs/development/python-modules/semver/default.nix19
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix25
-rw-r--r--pkgs/development/python-modules/simpleeval/default.nix3
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix30
-rw-r--r--pkgs/development/python-modules/sip/default.nix4
-rw-r--r--pkgs/development/python-modules/snakeviz/default.nix3
-rw-r--r--pkgs/development/python-modules/sqlalchemy-migrate/default.nix3
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix37
-rw-r--r--pkgs/development/python-modules/stringtemplate/default.nix3
-rw-r--r--pkgs/development/python-modules/subliminal/default.nix3
-rw-r--r--pkgs/development/python-modules/systemd/default.nix24
-rw-r--r--pkgs/development/python-modules/tables/default.nix7
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix9
-rw-r--r--pkgs/development/python-modules/treq/default.nix49
-rw-r--r--pkgs/development/python-modules/trezor/default.nix (renamed from pkgs/development/python-modules/trezor.nix)12
-rw-r--r--pkgs/development/python-modules/twill/default.nix6
-rw-r--r--pkgs/development/python-modules/twisted/default.nix4
-rw-r--r--pkgs/development/python-modules/txaio/default.nix26
-rw-r--r--pkgs/development/python-modules/typed-ast/default.nix4
-rw-r--r--pkgs/development/python-modules/u-msgpack-python/default.nix4
-rw-r--r--pkgs/development/python-modules/uncertainties/default.nix24
-rw-r--r--pkgs/development/python-modules/uranium/default.nix3
-rw-r--r--pkgs/development/python-modules/vcrpy/default.nix4
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/default.nix51
-rw-r--r--pkgs/development/python-modules/webencodings/default.nix4
-rw-r--r--pkgs/development/python-modules/websockets/default.nix4
-rw-r--r--pkgs/development/python-modules/wheel/default.nix32
-rw-r--r--pkgs/development/python-modules/xlwt/default.nix12
-rw-r--r--pkgs/development/python-modules/xmpppy/default.nix3
-rw-r--r--pkgs/development/python-modules/yarl/default.nix4
-rw-r--r--pkgs/development/python-modules/yolk/default.nix3
-rw-r--r--pkgs/development/python-modules/zeep/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundix/default.nix11
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/ammonite/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix8
-rw-r--r--pkgs/development/tools/analysis/randoop/default.nix28
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix49
-rw-r--r--pkgs/development/tools/build-managers/buck/pex-mtime.patch13
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix12
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh2
-rw-r--r--pkgs/development/tools/build-managers/kati/default.nix26
-rw-r--r--pkgs/development/tools/build-managers/kati/version.patch19
-rw-r--r--pkgs/development/tools/build-managers/ninja/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/pants/default.nix141
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix14
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch25
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch13
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix10
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/coursier/default.nix4
-rw-r--r--pkgs/development/tools/database/pgcli/default.nix40
-rw-r--r--pkgs/development/tools/git-series/default.nix5
-rw-r--r--pkgs/development/tools/google-app-engine-go-sdk/default.nix14
-rw-r--r--pkgs/development/tools/haskell/multi-ghc-travis/default.nix8
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix24
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix8
-rw-r--r--pkgs/development/tools/misc/elfkickers/default.nix23
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix68
-rw-r--r--pkgs/development/tools/misc/global/default.nix4
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix4
-rw-r--r--pkgs/development/tools/misc/kibana/5.x.nix45
-rw-r--r--pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/ocp-indent/1.5.2.nix37
-rw-r--r--pkgs/development/tools/ocaml/ocp-indent/default.nix13
-rw-r--r--pkgs/development/tools/packer/default.nix4
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix14
-rw-r--r--pkgs/development/tools/quilt/default.nix10
-rw-r--r--pkgs/development/tools/reno/default.nix10
-rw-r--r--pkgs/development/tools/rtags/default.nix19
-rw-r--r--pkgs/development/tools/rust/rustfmt/default.nix8
-rw-r--r--pkgs/development/tools/simavr/default.nix3
-rw-r--r--pkgs/development/tools/unity3d/default.nix69
-rw-r--r--pkgs/development/tools/vagrant/default.nix23
-rw-r--r--pkgs/development/tools/wiggle/default.nix43
-rw-r--r--pkgs/development/tools/wllvm/default.nix20
-rw-r--r--pkgs/development/tools/wp-cli/default.nix4
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/web/nodejs/no-xcode-v7.patch79
-rw-r--r--pkgs/development/web/nodejs/v7.nix5
-rw-r--r--pkgs/development/web/nodejs/v8.nix22
-rw-r--r--pkgs/games/bastet/default.nix4
-rw-r--r--pkgs/games/ezquake/default.nix37
-rw-r--r--pkgs/games/factorio/default.nix6
-rw-r--r--pkgs/games/freeciv/default.nix4
-rw-r--r--pkgs/games/galaxis/default.nix47
-rw-r--r--pkgs/games/gzdoom/default.nix4
-rw-r--r--pkgs/games/instead-launcher/default.nix4
-rw-r--r--pkgs/games/instead/default.nix4
-rw-r--r--pkgs/games/klavaro/default.nix5
-rw-r--r--pkgs/games/lbreakout2/default.nix22
-rw-r--r--pkgs/games/minecraft-server/default.nix4
-rw-r--r--pkgs/games/rigsofrods/default.nix6
-rw-r--r--pkgs/games/robotfindskitten/default.nix24
-rw-r--r--pkgs/games/steam/chrootenv.nix4
-rw-r--r--pkgs/games/ultrastardx/1.1.nix (renamed from pkgs/games/ultrastardx/default.nix)0
-rw-r--r--pkgs/games/ultrastardx/1.3-beta.nix49
-rw-r--r--pkgs/games/vdrift/default.nix1
-rw-r--r--pkgs/games/vms-empire/default.nix42
-rw-r--r--pkgs/games/wesnoth/dev.nix4
-rw-r--r--pkgs/games/xonotic/default.nix37
-rw-r--r--pkgs/misc/cups/filters.nix14
-rw-r--r--pkgs/misc/drivers/hplip/default.nix32
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix168
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix4
-rw-r--r--pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix9
-rw-r--r--pkgs/misc/emulators/wine/base.nix15
-rw-r--r--pkgs/misc/emulators/wine/default.nix3
-rw-r--r--pkgs/misc/emulators/wine/staging.nix2
-rw-r--r--pkgs/misc/logging/beats/default.nix42
-rw-r--r--pkgs/misc/logging/filebeat/default.nix25
-rw-r--r--pkgs/misc/logging/heartbeat/default.nix25
-rw-r--r--pkgs/misc/logging/metricbeat/default.nix25
-rw-r--r--pkgs/misc/logging/packetbeat/default.nix36
-rw-r--r--pkgs/misc/my-env/default.nix4
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--pkgs/misc/themes/flat-plat/default.nix4
-rw-r--r--pkgs/misc/themes/greybird/default.nix4
-rw-r--r--pkgs/misc/uboot/default.nix6
-rw-r--r--pkgs/misc/vim-plugins/default.nix358
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/clang_complete7
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim1
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch18
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch17
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix22
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix12
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix10
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix8
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix4
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/audit/default.nix4
-rw-r--r--pkgs/os-specific/linux/autofs/default.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix6
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix4
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix2
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch52
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/dmidecode/default.nix4
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix2
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix1
-rw-r--r--pkgs/os-specific/linux/eventstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix4
-rw-r--r--pkgs/os-specific/linux/fnotifystat/default.nix4
-rw-r--r--pkgs/os-specific/linux/forkstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/intel-ocl/default.nix12
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix36
-rw-r--r--pkgs/os-specific/linux/ixgbevf/default.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix47
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.11.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/perf-binutils-path.patch12
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix13
-rw-r--r--pkgs/os-specific/linux/libsmbios/default.nix3
-rw-r--r--pkgs/os-specific/linux/musl/default.nix12
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix3
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix36
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix23
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix41
-rw-r--r--pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch44
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix9
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix5
-rw-r--r--pkgs/os-specific/linux/smemstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix8
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix6
-rw-r--r--pkgs/os-specific/linux/tomb/default.nix44
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix29
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix6
-rw-r--r--pkgs/servers/caddy/default.nix8
-rw-r--r--pkgs/servers/caddy/deps.nix73
-rw-r--r--pkgs/servers/clickhouse/default.nix6
-rw-r--r--pkgs/servers/clickhouse/prefix.patch30
-rw-r--r--pkgs/servers/dex/default.nix32
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix10
-rw-r--r--pkgs/servers/dns/nsd/default.nix8
-rw-r--r--pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--pkgs/servers/emby/default.nix4
-rw-r--r--pkgs/servers/ftp/pure-ftpd/default.nix13
-rw-r--r--pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix4
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix4
-rw-r--r--pkgs/servers/http/nginx/stable.nix4
-rw-r--r--pkgs/servers/irc/charybdis/default.nix1
-rw-r--r--pkgs/servers/mail/dkimproxy/default.nix36
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix23
-rw-r--r--pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch59
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/mpd/clientlib.nix16
-rw-r--r--pkgs/servers/mpd/default.nix22
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/radarr/default.nix4
-rw-r--r--pkgs/servers/radicale/default.nix4
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/5.x.nix44
-rw-r--r--pkgs/servers/search/elasticsearch/es-classpath-5.x.patch34
-rw-r--r--pkgs/servers/search/elasticsearch/es-home-5.x.patch31
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/uwsgi/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/default.nix36
-rw-r--r--pkgs/servers/x11/xorg/extra.list2
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix5
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list10
-rw-r--r--pkgs/shells/zsh-autosuggestions/default.nix6
-rw-r--r--pkgs/shells/zsh-completions/default.nix4
-rw-r--r--pkgs/shells/zsh-syntax-highlighting/default.nix24
-rw-r--r--pkgs/stdenv/darwin/default.nix41
-rw-r--r--pkgs/stdenv/freebsd/default.nix13
-rw-r--r--pkgs/stdenv/generic/default.nix73
-rw-r--r--pkgs/stdenv/generic/setup.sh12
-rw-r--r--pkgs/stdenv/linux/default.nix10
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix94
-rw-r--r--pkgs/stdenv/native/default.nix3
-rw-r--r--pkgs/stdenv/nix/default.nix4
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix19
-rw-r--r--pkgs/tools/admin/daemontools/default.nix22
-rw-r--r--pkgs/tools/admin/daemontools/fix-nix-usernamespace-build.patch10
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/admin/lxd/deps.nix164
-rw-r--r--pkgs/tools/archivers/zpaq/zpaqd.nix24
-rw-r--r--pkgs/tools/audio/beets/default.nix11
-rw-r--r--pkgs/tools/audio/pnmixer/default.nix6
-rw-r--r--pkgs/tools/backup/restic/default.nix5
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix3
-rw-r--r--pkgs/tools/filesystems/bcache-tools/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix149
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-fix-unsubstituted-autoconf-macros.patch236
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch151
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch161
-rw-r--r--pkgs/tools/graphics/ditaa/default.nix2
-rw-r--r--pkgs/tools/graphics/maim/default.nix23
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix53
-rw-r--r--pkgs/tools/misc/aescrypt/default.nix4
-rw-r--r--pkgs/tools/misc/autorandr/default.nix25
-rw-r--r--pkgs/tools/misc/ckb/default.nix4
-rw-r--r--pkgs/tools/misc/esptool-ck/default.nix28
-rw-r--r--pkgs/tools/misc/esptool/default.nix25
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/exa/default.nix31
-rw-r--r--pkgs/tools/misc/file/default.nix4
-rw-r--r--pkgs/tools/misc/fsql/default.nix25
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/deps.nix61
-rw-r--r--pkgs/tools/misc/grc/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/default.nix3
-rw-r--r--pkgs/tools/misc/lf/default.nix6
-rw-r--r--pkgs/tools/misc/lf/deps.nix4
-rw-r--r--pkgs/tools/misc/loadlibrary/default.nix31
-rw-r--r--pkgs/tools/misc/logstash/5.x.nix39
-rw-r--r--pkgs/tools/misc/moreutils/default.nix13
-rw-r--r--pkgs/tools/misc/parallel/default.nix6
-rw-r--r--pkgs/tools/misc/patdiff/default.nix12
-rw-r--r--pkgs/tools/misc/pick/default.nix8
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix9
-rw-r--r--pkgs/tools/misc/slop/default.nix20
-rw-r--r--pkgs/tools/misc/thefuck/default.nix27
-rw-r--r--pkgs/tools/misc/tmux/default.nix4
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix6
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix8
-rw-r--r--pkgs/tools/misc/ultrastar-creator/default.nix41
-rw-r--r--pkgs/tools/misc/ultrastar-manager/default.nix121
-rw-r--r--pkgs/tools/misc/vimer/default.nix32
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix8
-rw-r--r--pkgs/tools/nagstamon/default.nix25
-rw-r--r--pkgs/tools/networking/aiccu/default.nix43
-rw-r--r--pkgs/tools/networking/biosdevname/default.nix2
-rw-r--r--pkgs/tools/networking/i2pd/default.nix8
-rw-r--r--pkgs/tools/networking/imapsync/default.nix9
-rw-r--r--pkgs/tools/networking/mcrcon/default.nix33
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix8
-rw-r--r--pkgs/tools/networking/network-manager/default.nix5
-rw-r--r--pkgs/tools/networking/network-manager/openconnect_helper_path.patch29
-rw-r--r--pkgs/tools/networking/networkmanager_dmenu/default.nix6
-rw-r--r--pkgs/tools/networking/nss-pam-ldapd/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix7
-rw-r--r--pkgs/tools/networking/pirate-get/default.nix26
-rw-r--r--pkgs/tools/networking/simpleproxy/default.nix21
-rw-r--r--pkgs/tools/networking/strongswan/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/default.nix48
-rw-r--r--pkgs/tools/security/afl/default.nix4
-rw-r--r--pkgs/tools/security/aide/default.nix11
-rw-r--r--pkgs/tools/security/ccid/default.nix6
-rw-r--r--pkgs/tools/security/cfssl/default.nix23
-rw-r--r--pkgs/tools/security/hashcat/hashcat3/default.nix2
-rw-r--r--pkgs/tools/security/kwalletcli/default.nix55
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock35
-rw-r--r--pkgs/tools/security/metasploit/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix56
-rw-r--r--pkgs/tools/security/metasploit/shell.nix2
-rw-r--r--pkgs/tools/security/nitrokey-app/FixInstallDestination.patch11
-rw-r--r--pkgs/tools/security/nitrokey-app/HeaderPath.patch13
-rw-r--r--pkgs/tools/security/nitrokey-app/default.nix22
-rw-r--r--pkgs/tools/security/nitrokey-app/udev-rules.nix25
-rw-r--r--pkgs/tools/security/paperkey/default.nix11
-rw-r--r--pkgs/tools/security/pass/rofi-pass.nix6
-rw-r--r--pkgs/tools/security/pcsclite/default.nix8
-rw-r--r--pkgs/tools/security/pgpdump/default.nix4
-rw-r--r--pkgs/tools/security/rhash/darwin.patch38
-rw-r--r--pkgs/tools/security/rhash/default.nix6
-rw-r--r--pkgs/tools/security/ssdeep/default.nix3
-rw-r--r--pkgs/tools/security/sslscan/default.nix4
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/system/ctop/default.nix25
-rw-r--r--pkgs/tools/system/ctop/deps.nix120
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/journalbeat/default.nix4
-rw-r--r--pkgs/tools/system/psensor/default.nix33
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix9
-rw-r--r--pkgs/tools/text/aha/default.nix4
-rw-r--r--pkgs/tools/text/colordiff/default.nix4
-rw-r--r--pkgs/tools/text/diffutils/default.nix4
-rw-r--r--pkgs/tools/text/grin/default.nix17
-rw-r--r--pkgs/tools/text/groff/default.nix3
-rw-r--r--pkgs/tools/text/silver-searcher/default.nix4
-rw-r--r--pkgs/tools/text/xml/jing-trang/default.nix6
-rw-r--r--pkgs/tools/typesetting/halibut/default.nix6
-rw-r--r--pkgs/tools/typesetting/pdf2htmlEX/default.nix2
-rw-r--r--pkgs/tools/typesetting/sile/default.nix3
-rw-r--r--pkgs/tools/virtualization/cloud-init/add-nixos-support.patch113
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix19
-rw-r--r--pkgs/tools/virtualization/cloudmonkey/default.nix27
-rw-r--r--pkgs/top-level/aliases.nix23
-rw-r--r--pkgs/top-level/all-packages.nix597
-rw-r--r--pkgs/top-level/beam-packages.nix65
-rw-r--r--pkgs/top-level/ocaml-packages.nix150
-rw-r--r--pkgs/top-level/perl-packages.nix244
-rw-r--r--pkgs/top-level/python-packages.nix1129
-rw-r--r--pkgs/top-level/release-cross.nix95
-rw-r--r--pkgs/top-level/release.nix7
-rw-r--r--pkgs/top-level/rust-packages.nix6
996 files changed, 31259 insertions, 16543 deletions
diff --git a/.travis.yml b/.travis.yml
index 2bd784ed30a..8ecd12642a7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -26,6 +26,4 @@ env:
         - GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
 
 notifications:
-    email:
-        on_success: never
-        on_failure: change
+    email: false
diff --git a/doc/configuration.xml b/doc/configuration.xml
index 56950e07ab5..ea3acf4e575 100644
--- a/doc/configuration.xml
+++ b/doc/configuration.xml
@@ -227,7 +227,7 @@ packages via <literal>packageOverrides</literal></title>
 
 <para>You can define a function called
 <varname>packageOverrides</varname> in your local
-<filename>~/.config/nixpkgs/config.nix</filename> to overide nix packages.  It
+<filename>~/.config/nixpkgs/config.nix</filename> to override nix packages.  It
 must be a function that takes pkgs as an argument and return modified
 set of packages.
 
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 728616a9f26..7ff35437611 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -30,7 +30,7 @@
   <section>
     <title>Platform parameters</title>
     <para>
-      The three GNU Autoconf platforms, <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>cross</wordasword>, are historically the result of much confusion.
+      The three GNU Autoconf platforms, <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>, are historically the result of much confusion.
       <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html" /> clears this up somewhat but there is more to be said.
       An important advice to get out the way is, unless you are packaging a compiler or other build tool, just worry about the build and host platforms.
       Dealing with just two platforms usually better matches people's preconceptions, and in this case is completely correct.
@@ -62,8 +62,8 @@
             The "target platform" is black sheep.
             The other two intrinsically apply to all compiled software—or any build process with a notion of "build-time" followed by "run-time".
             The target platform only applies to programming tools, and even then only is a good for for some of them.
-            Briefly, GCC, Binutils, GHC, and certain other tools are written in such a way such that a single build can only compiler code for a single platform.
-            Thus, when building them, one must think ahead about what platforms they wish to use the tool to produce machine code for, and build binaries for each.
+            Briefly, GCC, Binutils, GHC, and certain other tools are written in such a way such that a single build can only compile code for a single platform.
+            Thus, when building them, one must think ahead about which platforms they wish to use the tool to produce machine code for, and build binaries for each.
           </para>
           <para>
             There is no fundamental need to think about the target ahead of time like this.
@@ -85,7 +85,8 @@
       This field is obsolete and will soon disappear—please do not use it.
     </para></note>
     <para>
-      The exact scheme these fields is a bit ill-defined due to a long and convoluted evolution, but this is slowly being cleaned up.
+      The exact schema these fields follow is a bit ill-defined due to a long and convoluted evolution, but this is slowly being cleaned up.
+      You can see examples of ones used in practice in <literal>lib.systems.examples</literal>; note how they are not all very consistent.
       For now, here are few fields can count on them containing:
     </para>
     <variablelist>
@@ -118,8 +119,27 @@
             This is a nix representation of a parsed LLVM target triple with white-listed components.
             This can be specified directly, or actually parsed from the <varname>config</varname>.
             [Technically, only one need be specified and the others can be inferred, though the precision of inference may not be very good.]
-            See <literal>lib.systems.parse</literal> for the exact representation, along with some <literal>is*</literal>predicates.
-            These predicates are superior to the ones in <varname>stdenv</varname> as they aren't tied to the build platform (host, as previously discussed, would be a saner default).
+            See <literal>lib.systems.parse</literal> for the exact representation.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><varname>libc</varname></term>
+        <listitem>
+          <para>
+            This is a string identifying the standard C library used.
+            Valid identifiers include "glibc" for GNU libc, "libSystem" for Darwin's Libsystem, and "uclibc" for µClibc.
+            It should probably be refactored to use the module system, like <varname>parse</varname>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><varname>is*</varname></term>
+        <listitem>
+          <para>
+            These predicates are defined in <literal>lib.systems.inspect</literal>, and slapped on every platform.
+            They are superior to the ones in <varname>stdenv</varname> as they force the user to be explicit about which platform they are inspecting.
+            Please use these instead of those.
           </para>
         </listitem>
       </varlistentry>
@@ -128,7 +148,7 @@
         <listitem>
           <para>
             This is, quite frankly, a dumping ground of ad-hoc settings (it's an attribute set).
-            See <literal>lib.systems.platforms</literal> for examples—there's hopefully one in there that will work verbatim for each platform one is working.
+            See <literal>lib.systems.platforms</literal> for examples—there's hopefully one in there that will work verbatim for each platform that is working.
             Please help us triage these flags and give them better homes!
           </para>
         </listitem>
@@ -158,10 +178,10 @@
       The depending package's target platform is unconstrained by the sliding window principle, which makes sense in that one can in principle build cross compilers targeting arbitrary platforms.
     </para></note>
     <para>
-      How does this work in practice? Nixpkgs is now structured so that build-time dependencies are taken from from <varname>buildPackages</varname>, whereas run-time dependencies are taken from the top level attribute set.
+      How does this work in practice? Nixpkgs is now structured so that build-time dependencies are taken from <varname>buildPackages</varname>, whereas run-time dependencies are taken from the top level attribute set.
       For example, <varname>buildPackages.gcc</varname> should be used at build time, while <varname>gcc</varname> should be used at run time.
       Now, for most of Nixpkgs's history, there was no <varname>buildPackages</varname>, and most packages have not been refactored to use it explicitly.
-      Instead, one can use the four attributes used for specifying dependencies as documented in <link linkend="ssec-stdenv-attributes" />.
+      Instead, one can use the four attributes used for specifying dependencies as documented in <xref linkend="ssec-stdenv-attributes"/>.
       We "splice" together the run-time and build-time package sets with <varname>callPackage</varname>, and then <varname>mkDerivation</varname> for each of four attributes pulls the right derivation out.
       This splicing can be skipped when not cross compiling as the package sets are the same, but is a bit slow for cross compiling.
       Because of this, a best-of-both-worlds solution is in the works with no splicing or explicit access of <varname>buildPackages</varname> needed.
@@ -184,12 +204,28 @@
     More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section.
   </para></note>
   <para>
-    Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, and, optionally, <varname>crossSystem</varname> to nixpkgs:
-    <literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
-    <varname>system</varname> and <varname>platform</varname> together determine the system on which packages are built, and <varname>crossSystem</varname> specifies the platform on which packages are ultimately intended to run, if it is different.
-    This still works, but with more recent changes, one can alternatively pass <varname>localSystem</varname>, containing <varname>system</varname> and <varname>platform</varname>, for symmetry.
+    Nixpkgs can be instantiated with <varname>localSystem</varname> alone, in which case there is no cross compiling and everything is built by and for that system,
+    or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
+    Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
+    As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice.
+    You can use them programmatically, or on the command line like <command>nix-build &lt;nixpkgs&gt; --arg crossSystem '(import &lt;nixpkgs/lib&gt;).systems.examples.fooBarBaz'</command>.
   </para>
   <para>
+    While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields.
+    As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two.
+    Additionally, <varname>libc</varname> will be inferred from <varname>parse</varname>.
+    Finally, <literal>localSystem.system</literal> is also <emphasis>impurely</emphasis> inferred based on the platform evaluation occurs.
+    This means it is often not necessary to pass <varname>localSystem</varname> at all, as in the command-line example in the previous paragraph.
+  </para>
+  <note>
+    <para>
+      Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, along with the optional <varname>crossSystem</varname> to nixpkgs:
+      <literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
+      Passing those two instead of <varname>localSystem</varname> is still supported for compatibility, but is discouraged.
+      Indeed, much of the inference we do for these parameters is motivated by compatibility as much as convenience.
+    </para>
+  </note>
+  <para>
     One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual).
     Actually, those identifiers are purposefully not used here to draw a subtle but important distinction:
     While the granularity of having 3 platforms is necessary to properly *build* packages, it is overkill for specifying the user's *intent* when making a build plan or package set.
diff --git a/doc/functions.xml b/doc/functions.xml
index 4e7159638ca..4a9015602af 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -70,7 +70,7 @@
 
     <para>
       In the above example, the <varname>separateDebugInfo</varname> attribute is
-      overriden to be true, thus building debug info for
+      overridden to be true, thus building debug info for
       <varname>helloWithDebug</varname>, while all other attributes will be
       retained from the original <varname>hello</varname> package.
     </para>
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md
index d9306ae56bd..3c9df2e6e82 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.md
@@ -710,7 +710,7 @@ nix-env -if build.nix
 ```
 Now you can use the Python interpreter, as well as the extra packages that you added to the environment.
 
-#### Environment defined in `~/.nixpkgs/config.nix`
+#### Environment defined in `~/.config/nixpkgs/config.nix`
 
 If you prefer to, you could also add the environment as a package override to the Nixpkgs set.
 ```nix
@@ -923,6 +923,28 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
 
 If you are using the `bepasty-server` package somewhere, for example in `systemPackages` or indirectly from `services.bepasty`, then a `nixos-rebuild switch` will rebuild the system but with the `bepasty-server` package using a different `src` attribute. This way one can modify `python` based software/libraries easily. Using `self` and `super` one can also alter dependencies (`buildInputs`) between the old state (`self`) and new state (`super`). 
 
+### How to override a Python package using overlays?
+
+To alter a python package using overlays, you would use the following approach:
+
+```nix
+self: super:
+rec {
+  python = super.python.override {
+    packageOverrides = python-self: python-super: {
+      bepasty-server = python-super.bepasty-server.overrideAttrs ( oldAttrs: {
+        src = self.pkgs.fetchgit {
+          url = "https://github.com/bepasty/bepasty-server";
+          sha256 = "9ziqshmsf0rjvdhhca55sm0x8jz76fsf2q4rwh4m6lpcf8wr0nps";
+          rev = "e2516e8cf4f2afb5185337073607eb9e84a61d2d";
+        };
+      });
+    };
+  };
+  pythonPackages = python.pkgs;
+}
+```
+
 ## Contributing
 
 ### Contributing guidelines
diff --git a/doc/overlays.xml b/doc/overlays.xml
index 4b95f3e7288..f8f554bb556 100644
--- a/doc/overlays.xml
+++ b/doc/overlays.xml
@@ -78,7 +78,7 @@ self: super:
 <para>The first argument, usually named <varname>self</varname>, corresponds to the final package
 set. You should use this set for the dependencies of all packages specified in your
 overlay. For example, all the dependencies of <varname>rr</varname> in the example above come
-from <varname>self</varname>, as well as the overriden dependencies used in the
+from <varname>self</varname>, as well as the overridden dependencies used in the
 <varname>boost</varname> override.</para>
 
 <para>The second argument, usually named <varname>super</varname>,
diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml
index f86928bcd5d..0813e0968e8 100644
--- a/doc/reviewing-contributions.xml
+++ b/doc/reviewing-contributions.xml
@@ -18,7 +18,7 @@
 <para>The high change rate of nixpkgs make any pull request that is open for 
   long enough subject to conflicts that will require extra work from the 
   submitter or the merger. Reviewing pull requests in a timely manner and being 
-  responsive to the comments is the key to avoid these. Github provides sort 
+  responsive to the comments is the key to avoid these. GitHub provides sort 
   filters that can be used to see the <link 
     xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc">most 
     recently</link> and the <link 
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index a2530e102ca..19bacd08f1e 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -1156,7 +1156,7 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
             <term><option>--replace</option>
             <replaceable>s1</replaceable>
             <replaceable>s2</replaceable></term>
-            <listitem><para>Replace every occurence of the string
+            <listitem><para>Replace every occurrence of the string
             <replaceable>s1</replaceable> by
             <replaceable>s2</replaceable>.</para></listitem>
           </varlistentry>
@@ -1164,7 +1164,7 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
           <varlistentry>
             <term><option>--subst-var</option>
             <replaceable>varName</replaceable></term>
-            <listitem><para>Replace every occurence of
+            <listitem><para>Replace every occurrence of
             <literal>@<replaceable>varName</replaceable>@</literal> by
             the contents of the environment variable
             <replaceable>varName</replaceable>.  This is useful for
@@ -1177,7 +1177,7 @@ makeWrapper $out/bin/foo $wrapperfile --prefix PATH : ${lib.makeBinPath [ hello
             <term><option>--subst-var-by</option>
             <replaceable>varName</replaceable>
             <replaceable>s</replaceable></term>
-            <listitem><para>Replace every occurence of
+            <listitem><para>Replace every occurrence of
             <literal>@<replaceable>varName</replaceable>@</literal> by
             the string <replaceable>s</replaceable>.</para></listitem>
           </varlistentry>
@@ -1225,7 +1225,7 @@ substitute ./foo.in ./foo.out \
     <term><function>substituteAll</function>
     <replaceable>infile</replaceable>
     <replaceable>outfile</replaceable></term>
-    <listitem><para>Replaces every occurence of
+    <listitem><para>Replaces every occurrence of
     <literal>@<replaceable>varName</replaceable>@</literal>, where
     <replaceable>varName</replaceable> is any environment variable, in
     <replaceable>infile</replaceable>, writing the result to
@@ -1528,7 +1528,7 @@ bin/blib.a(bios_console.o): In function `bios_handle_cup':
     depends on such a format string, it will need to be worked around.
     </para>
 
-    <para>Addtionally, some warnings are enabled which might trigger build
+    <para>Additionally, some warnings are enabled which might trigger build
     failures if compiler warnings are treated as errors in the package build.
     In this case, set <option>NIX_CFLAGS_COMPILE</option> to
     <option>-Wno-error=warning-type</option>.</para>
@@ -1558,7 +1558,7 @@ fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute erro
     <term><varname>pic</varname></term>
     <listitem>
     <para>Adds the <option>-fPIC</option> compiler options. This options adds
-    support for position independant code in shared libraries and thus making
+    support for position independent code in shared libraries and thus making
     ASLR possible.</para>
     <para>Most notably, the Linux kernel, kernel modules and other code
     not running in an operating system environment like boot loaders won't
diff --git a/lib/default.nix b/lib/default.nix
index e692637abf1..3893e349db3 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -5,8 +5,9 @@
  */
 let
 
-  # trivial, often used functions
+  # often used, or depending on very little
   trivial = import ./trivial.nix;
+  fixedPoints = import ./fixed-points.nix;
 
   # datatypes
   attrsets = import ./attrsets.nix;
@@ -42,7 +43,7 @@ let
   filesystem = import ./filesystem.nix;
 
 in
-  { inherit trivial
+  { inherit trivial fixedPoints
             attrsets lists strings stringsWithDeps
             customisation maintainers meta sources
             modules options types
@@ -55,6 +56,7 @@ in
   }
   # !!! don't include everything at top-level; perhaps only the most
   # commonly used functions.
-  // trivial // lists // strings // stringsWithDeps // attrsets // sources
+  // trivial // fixedPoints
+  // lists // strings // stringsWithDeps // attrsets // sources
   // options // types // meta // debug // misc // modules
   // customisation
diff --git a/lib/fixed-points.nix b/lib/fixed-points.nix
new file mode 100644
index 00000000000..a11b5a6f4bd
--- /dev/null
+++ b/lib/fixed-points.nix
@@ -0,0 +1,78 @@
+rec {
+  # Compute the fixed point of the given function `f`, which is usually an
+  # attribute set that expects its final, non-recursive representation as an
+  # argument:
+  #
+  #     f = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; }
+  #
+  # Nix evaluates this recursion until all references to `self` have been
+  # resolved. At that point, the final result is returned and `f x = x` holds:
+  #
+  #     nix-repl> fix f
+  #     { bar = "bar"; foo = "foo"; foobar = "foobar"; }
+  #
+  #  Type: fix :: (a -> a) -> a
+  #
+  # See https://en.wikipedia.org/wiki/Fixed-point_combinator for further
+  # details.
+  fix = f: let x = f x; in x;
+
+  # A variant of `fix` that records the original recursive attribute set in the
+  # result. This is useful in combination with the `extends` function to
+  # implement deep overriding. See pkgs/development/haskell-modules/default.nix
+  # for a concrete example.
+  fix' = f: let x = f x // { __unfix__ = f; }; in x;
+
+  # Modify the contents of an explicitly recursive attribute set in a way that
+  # honors `self`-references. This is accomplished with a function
+  #
+  #     g = self: super: { foo = super.foo + " + "; }
+  #
+  # that has access to the unmodified input (`super`) as well as the final
+  # non-recursive representation of the attribute set (`self`). `extends`
+  # differs from the native `//` operator insofar as that it's applied *before*
+  # references to `self` are resolved:
+  #
+  #     nix-repl> fix (extends g f)
+  #     { bar = "bar"; foo = "foo + "; foobar = "foo + bar"; }
+  #
+  # The name of the function is inspired by object-oriented inheritance, i.e.
+  # think of it as an infix operator `g extends f` that mimics the syntax from
+  # Java. It may seem counter-intuitive to have the "base class" as the second
+  # argument, but it's nice this way if several uses of `extends` are cascaded.
+  extends = f: rattrs: self: let super = rattrs self; in super // f self super;
+
+  # Compose two extending functions of the type expected by 'extends'
+  # into one where changes made in the first are available in the
+  # 'super' of the second
+  composeExtensions =
+    f: g: self: super:
+      let fApplied = f self super;
+          super' = super // fApplied;
+      in fApplied // g self super';
+
+  # Create an overridable, recursive attribute set. For example:
+  #
+  #     nix-repl> obj = makeExtensible (self: { })
+  #
+  #     nix-repl> obj
+  #     { __unfix__ = «lambda»; extend = «lambda»; }
+  #
+  #     nix-repl> obj = obj.extend (self: super: { foo = "foo"; })
+  #
+  #     nix-repl> obj
+  #     { __unfix__ = «lambda»; extend = «lambda»; foo = "foo"; }
+  #
+  #     nix-repl> obj = obj.extend (self: super: { foo = super.foo + " + "; bar = "bar"; foobar = self.foo + self.bar; })
+  #
+  #     nix-repl> obj
+  #     { __unfix__ = «lambda»; bar = "bar"; extend = «lambda»; foo = "foo + "; foobar = "foo + bar"; }
+  makeExtensible = makeExtensibleWithCustomName "extend";
+
+  # Same as `makeExtensible` but the name of the extending attribute is
+  # customized.
+  makeExtensibleWithCustomName = extenderName: rattrs:
+    fix' rattrs // {
+      ${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs);
+   };
+}
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 0919699b41e..8dd1c210b7f 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -45,6 +45,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Apple Public Source License 2.0";
   };
 
+  arphicpl = {
+    fullName = "Arphic Public License";
+    url = https://www.freedesktop.org/wiki/Arphic_Public_License/;
+  };
+
   artistic1 = spdx {
     spdxId = "Artistic-1.0";
     fullName = "Artistic License 1.0";
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a3e397f2173..d4f9d1c31a8 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -99,6 +99,7 @@
   chris-martin = "Chris Martin <ch.martin@gmail.com>";
   chrisjefferson = "Christopher Jefferson <chris@bubblescope.net>";
   christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
+  ciil = "Simon Lackerbauer <simon@lackerbauer.com>";
   ckampka = "Christian Kampka <christian@kampka.net>";
   cko = "Christine Koppelt <christine.koppelt@gmail.com>";
   cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
@@ -132,6 +133,7 @@
   deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>";
   demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>";
   DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
+  dermetfan = "Robin Stumm <serverkorken@gmail.com>";
   DerTim1 = "Tim Digel <tim.digel@active-group.de>";
   desiderius = "Didier J. Devroye <didier@devroye.name>";
   devhell = "devhell <\"^\"@regexmail.net>";
@@ -161,6 +163,7 @@
   ehegnes = "Eric Hegnes <eric.hegnes@gmail.com>";
   ehmry = "Emery Hemingway <emery@vfemail.net>";
   eikek = "Eike Kettner <eike.kettner@posteo.de>";
+  ekleog = "Leo Gaspard <leo@gaspard.io>";
   elasticdog = "Aaron Bull Schaefer <aaron@elasticdog.com>";
   eleanor = "Dejan Lukan <dejan@proteansec.com>";
   elitak = "Eric Litak <elitak@gmail.com>";
@@ -176,6 +179,7 @@
   exlevan = "Alexey Levan <exlevan@gmail.com>";
   expipiplus1 = "Joe Hermaszewski <nix@monoid.al>";
   fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>";
+  fare = "Francois-Rene Rideau <fahree@gmail.com>";
   falsifian = "James Cook <james.cook@utoronto.ca>";
   flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
   fluffynukeit = "Daniel Austin <dan@fluffynukeit.com>";
@@ -266,6 +270,7 @@
   kaiha = "Kai Harries <kai.harries@gmail.com>";
   kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
   kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
+  kentjames = "James Kent <jameschristopherkent@gmail.com";
   kevincox = "Kevin Cox <kevincox@kevincox.ca>";
   khumba = "Bryan Gardiner <bog@khumba.net>";
   KibaFox = "Kiba Fox <kiba.fox@foxypossibilities.com>";
@@ -599,4 +604,5 @@
   zohl = "Al Zohali <zohl@fmap.me>";
   zoomulator = "Kim Simmons <zoomulator@gmail.com>";
   zraexy = "David Mell <zraexy@gmail.com>";
+  zx2c4 = "Jason A. Donenfeld <Jason@zx2c4.com>";
 }
diff --git a/lib/meta.nix b/lib/meta.nix
index ae652e579c3..8f77bbe0148 100644
--- a/lib/meta.nix
+++ b/lib/meta.nix
@@ -17,6 +17,11 @@ rec {
     drv // { meta = (drv.meta or {}) // newAttrs; };
 
 
+  /* Disable Hydra builds of given derivation.
+  */
+  dontDistribute = drv: addMetaAttrs { hydraPlatforms = []; } drv;
+
+
   /* Change the symbolic name of a package for presentation purposes
      (i.e., so that nix-env users can tell them apart).
   */
diff --git a/lib/strings.nix b/lib/strings.nix
index d48624257cf..1cc633c729d 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -438,8 +438,13 @@ rec {
        => true
        isStorePath pkgs.python
        => true
+       isStorePath [] || isStorePath 42 || isStorePath {} || …
+       => false
   */
-  isStorePath = x: builtins.substring 0 1 (toString x) == "/" && dirOf (builtins.toPath x) == builtins.storeDir;
+  isStorePath = x:
+       builtins.isString x
+    && builtins.substring 0 1 (toString x) == "/"
+    && dirOf (builtins.toPath x) == builtins.storeDir;
 
   /* Convert string to int
      Obviously, it is a bit hacky to use fromJSON that way.
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index d956969a18f..c22c9956196 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -1,7 +1,11 @@
+let inherit (import ../attrsets.nix) mapAttrs; in
+
 rec {
   doubles = import ./doubles.nix;
   parse = import ./parse.nix;
+  inspect = import ./inspect.nix;
   platforms = import ./platforms.nix;
+  examples = import ./examples.nix;
 
   # Elaborate a `localSystem` or `crossSystem` so that it contains everything
   # necessary.
@@ -18,6 +22,13 @@ rec {
       config = parse.tripleFromSystem final.parsed;
       # Just a guess, based on `system`
       platform = platforms.selectBySystem final.system;
-    } // args;
+      libc =
+        /**/ if final.isDarwin then "libSystem"
+        else if final.isMinGW  then "msvcrt"
+        else if final.isLinux  then "glibc"
+        # TODO(@Ericson2314) think more about other operating systems
+        else                        "native/impure";
+    } // mapAttrs (n: v: v final.parsed) inspect.predicates
+      // args;
   in final;
 }
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 9b17a51531a..0168eb42f2f 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -1,8 +1,9 @@
-let lists = import ../lists.nix; in
-let parse = import ./parse.nix; in
-let inherit (import ../attrsets.nix) matchAttrs; in
-
 let
+  lists = import ../lists.nix;
+  parse = import ./parse.nix;
+  inherit (import ./inspect.nix) predicates;
+  inherit (import ../attrsets.nix) matchAttrs;
+
   all = [
     "aarch64-linux"
     "armv5tel-linux" "armv6l-linux" "armv7l-linux"
@@ -25,20 +26,21 @@ in rec {
   allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
   none = [];
 
-  arm = filterDoubles (matchAttrs { cpu = { family = "arm"; bits = 32; }; });
-  i686 = filterDoubles parse.isi686;
-  mips = filterDoubles (matchAttrs { cpu = { family = "mips"; }; });
-  x86_64 = filterDoubles parse.isx86_64;
-
-  cygwin = filterDoubles parse.isCygwin;
-  darwin = filterDoubles parse.isDarwin;
-  freebsd = filterDoubles (matchAttrs { kernel = parse.kernels.freebsd; });
-  gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); # Should be better
-  illumos = filterDoubles (matchAttrs { kernel = parse.kernels.solaris; });
-  linux = filterDoubles parse.isLinux;
-  netbsd = filterDoubles (matchAttrs { kernel = parse.kernels.netbsd; });
-  openbsd = filterDoubles (matchAttrs { kernel = parse.kernels.openbsd; });
-  unix = filterDoubles parse.isUnix;
+  arm     = filterDoubles predicates.isArm32;
+  i686    = filterDoubles predicates.isi686;
+  mips    = filterDoubles predicates.isMips;
+  x86_64  = filterDoubles predicates.isx86_64;
+
+  cygwin  = filterDoubles predicates.isCygwin;
+  darwin  = filterDoubles predicates.isDarwin;
+  freebsd = filterDoubles predicates.isFreeBSD;
+  # Should be better, but MinGW is unclear, and HURD is bit-rotted.
+  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux;  abi = parse.abis.gnu; });
+  illumos = filterDoubles predicates.isSunOS;
+  linux   = filterDoubles predicates.isLinux;
+  netbsd  = filterDoubles predicates.isNetBSD;
+  openbsd = filterDoubles predicates.isOpenBSD;
+  unix    = filterDoubles predicates.isUnix;
 
   mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
 }
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
new file mode 100644
index 00000000000..e394f43831c
--- /dev/null
+++ b/lib/systems/examples.nix
@@ -0,0 +1,130 @@
+# These can be passed to nixpkgs as either the `localSystem` or
+# `crossSystem`. They are put here for user convenience, but also used by cross
+# tests and linux cross stdenv building, so handle with care!
+
+let platforms = import ./platforms.nix; in
+
+rec {
+  #
+  # Linux
+  #
+
+  sheevaplug = rec {
+    config = "armv5tel-unknown-linux-gnueabi";
+    bigEndian = false;
+    arch = "armv5tel";
+    float = "soft";
+    withTLS = true;
+    libc = "glibc";
+    platform = platforms.sheevaplug;
+    openssl.system = "linux-generic32";
+    inherit (platform) gcc;
+  };
+
+  raspberryPi = rec {
+    config = "armv6l-unknown-linux-gnueabihf";
+    bigEndian = false;
+    arch = "armv6l";
+    float = "hard";
+    fpu = "vfp";
+    withTLS = true;
+    libc = "glibc";
+    platform = platforms.raspberrypi;
+    openssl.system = "linux-generic32";
+    inherit (platform) gcc;
+  };
+
+  armv7l-hf-multiplatform = rec {
+    config = "arm-unknown-linux-gnueabihf";
+    bigEndian = false;
+    arch = "armv7-a";
+    float = "hard";
+    fpu = "vfpv3-d16";
+    withTLS = true;
+    libc = "glibc";
+    platform = platforms.armv7l-hf-multiplatform;
+    openssl.system = "linux-generic32";
+    inherit (platform) gcc;
+  };
+
+  aarch64-multiplatform = rec {
+    config = "aarch64-unknown-linux-gnu";
+    bigEndian = false;
+    arch = "aarch64";
+    withTLS = true;
+    libc = "glibc";
+    platform = platforms.aarch64-multiplatform;
+    inherit (platform) gcc;
+  };
+
+  scaleway-c1 = armv7l-hf-multiplatform // rec {
+    platform = platforms.scaleway-c1;
+    inherit (platform) gcc;
+    inherit (gcc) fpu;
+  };
+
+  pogoplug4 = rec {
+    arch = "armv5tel";
+    config = "armv5tel-softfloat-linux-gnueabi";
+    float = "soft";
+
+    platform = platforms.pogoplug4;
+
+    inherit (platform) gcc;
+    libc = "glibc";
+
+    withTLS = true;
+    openssl.system = "linux-generic32";
+  };
+
+  fuloongminipc = rec {
+    config = "mips64el-unknown-linux-gnu";
+    bigEndian = false;
+    arch = "mips";
+    float = "hard";
+    withTLS = true;
+    libc = "glibc";
+    platform = platforms.fuloong2f_n32;
+    openssl.system = "linux-generic32";
+    inherit (platform) gcc;
+  };
+
+  #
+  # Darwin
+  #
+
+  iphone64 = {
+    config = "aarch64-apple-darwin14";
+    arch = "arm64";
+    libc = "libSystem";
+    platform = {};
+  };
+
+  iphone32 = {
+    config = "arm-apple-darwin10";
+    arch = "armv7-a";
+    libc = "libSystem";
+    platform = {};
+  };
+
+  #
+  # Windows
+  #
+
+  # 32 bit mingw-w64
+  mingw32 = {
+    config = "i686-pc-mingw32";
+    arch = "x86"; # Irrelevant
+    libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
+    platform = {};
+  };
+
+  # 64 bit mingw-w64
+  mingwW64 = {
+    # That's the triplet they use in the mingw-w64 docs.
+    config = "x86_64-pc-mingw32";
+    arch = "x86_64"; # Irrelevant
+    libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
+    platform = {};
+  };
+}
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
new file mode 100644
index 00000000000..241c9365f2e
--- /dev/null
+++ b/lib/systems/inspect.nix
@@ -0,0 +1,37 @@
+with import ./parse.nix;
+with import ../attrsets.nix;
+
+rec {
+  patterns = {
+    "32bit"      = { cpu = { bits = 32; }; };
+    "64bit"      = { cpu = { bits = 64; }; };
+    i686         = { cpu = cpuTypes.i686; };
+    x86_64       = { cpu = cpuTypes.x86_64; };
+    x86          = { cpu = { family = "x86"; }; };
+    Arm          = { cpu = { family = "arm"; }; };
+    Mips         = { cpu = { family = "mips"; }; };
+    BigEndian    = { cpu = { significantByte = significantBytes.bigEndian; }; };
+    LittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; };
+
+    Unix         = { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
+    BSD          = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; };
+
+    Darwin       = { kernel = kernels.darwin; };
+    Linux        = { kernel = kernels.linux; };
+    SunOS        = { kernel = kernels.solaris; };
+    FreeBSD      = { kernel = kernels.freebsd; };
+    Hurd         = { kernel = kernels.hurd; };
+    NetBSD       = { kernel = kernels.netbsd; };
+    OpenBSD      = { kernel = kernels.openbsd; };
+    Windows      = { kernel = kernels.windows; };
+    Cygwin       = { kernel = kernels.windows; abi = abis.cygnus; };
+    MinGW        = { kernel = kernels.windows; abi = abis.gnu; };
+
+    Arm32        = recursiveUpdate patterns.Arm patterns."32bit";
+    Arm64        = recursiveUpdate patterns.Arm patterns."64bit";
+  };
+
+  predicates = mapAttrs'
+    (name: value: nameValuePair ("is" + name) (matchAttrs value))
+    patterns;
+}
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index b9758f44fc1..34272b45b8b 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -8,6 +8,7 @@
 with import ../lists.nix;
 with import ../types.nix;
 with import ../attrsets.nix;
+with (import ./inspect.nix).predicates;
 
 let
   lib = import ../default.nix;
@@ -76,6 +77,7 @@ rec {
   {
     darwin  = { execFormat = macho;   families = { inherit unix; }; };
     freebsd = { execFormat = elf;     families = { inherit unix bsd; }; };
+    hurd    = { execFormat = elf;     families = { inherit unix; }; };
     linux   = { execFormat = elf;     families = { inherit unix; }; };
     netbsd  = { execFormat = elf;     families = { inherit unix bsd; }; };
     none    = { execFormat = unknown; families = { inherit unix; }; };
@@ -109,23 +111,12 @@ rec {
       inherit cpu vendor kernel abi;
     };
 
-  is64Bit = matchAttrs { cpu = { bits = 64; }; };
-  is32Bit = matchAttrs { cpu = { bits = 32; }; };
-  isi686 = matchAttrs { cpu = cpuTypes.i686; };
-  isx86_64 = matchAttrs { cpu = cpuTypes.x86_64; };
-
-  isDarwin = matchAttrs { kernel = kernels.darwin; };
-  isLinux = matchAttrs { kernel = kernels.linux; };
-  isUnix = matchAttrs { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
-  isWindows = matchAttrs { kernel = kernels.windows; };
-  isCygwin = matchAttrs { kernel = kernels.windows; abi = abis.cygnus; };
-  isMinGW = matchAttrs { kernel = kernels.windows; abi = abis.gnu; };
-
-
   mkSkeletonFromList = l: {
     "2" = # We only do 2-part hacks for things Nix already supports
       if elemAt l 1 == "cygwin"
-        then { cpu = elemAt l 0;                      kernel = "windows"; abi = "cygnus";    }
+        then { cpu = elemAt l 0;                      kernel = "windows";  abi = "cygnus";   }
+      else if elemAt l 1 == "gnu"
+        then { cpu = elemAt l 0;                      kernel = "hurd";     abi = "gnu";      }
       else   { cpu = elemAt l 0;                      kernel = elemAt l 1;                   };
     "3" = # Awkwards hacks, beware!
       if elemAt l 1 == "apple"
@@ -153,22 +144,22 @@ rec {
     getKernel = name:  kernels.${name} or (throw "Unknown kernel: ${name}");
     getAbi    = name:     abis.${name} or (throw "Unknown ABI: ${name}");
 
-    system = rec {
+    parsed = rec {
       cpu = getCpu args.cpu;
       vendor =
         /**/ if args ? vendor    then getVendor args.vendor
-        else if isDarwin  system then vendors.apple
-        else if isWindows system then vendors.pc
+        else if isDarwin  parsed then vendors.apple
+        else if isWindows parsed then vendors.pc
         else                     vendors.unknown;
       kernel = getKernel args.kernel;
       abi =
         /**/ if args ? abi       then getAbi args.abi
-        else if isLinux   system then abis.gnu
-        else if isWindows system then abis.gnu
+        else if isLinux   parsed then abis.gnu
+        else if isWindows parsed then abis.gnu
         else                     abis.unknown;
     };
 
-  in mkSystem system;
+  in mkSystem parsed;
 
   mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));
 
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index 0bea38ab419..ae4fc355c71 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -255,6 +255,10 @@ rec {
       arch = "armv6";
       fpu = "vfp";
       float = "hard";
+      # TODO(@Ericson2314) what is this and is it a good idea? It was
+      # used in some cross compilation examples but not others.
+      #
+      # abi = "aapcs-linux";
     };
   };
 
@@ -460,7 +464,10 @@ rec {
     '';
     kernelTarget = "vmlinux";
     uboot = null;
-    gcc.arch = "loongson2f";
+    gcc = {
+      arch = "loongson2f";
+      abi = "n32";
+    };
   };
 
   beaglebone = armv7l-hf-multiplatform // {
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 334e1a70733..22557bdfeef 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -1,7 +1,6 @@
 # to run these tests:
 # nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix
 # if the resulting list is empty, all tests passed
-let inherit (builtins) add; in
 with import ../default.nix;
 
 runTests {
@@ -88,6 +87,37 @@ runTests {
     expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
   };
 
+  testIsStorePath =  {
+    expr =
+      let goodPath =
+            "${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
+      in {
+        storePath = isStorePath goodPath;
+        storePathAppendix = isStorePath
+          "${goodPath}/bin/python";
+        nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath)));
+        asPath = isStorePath (builtins.toPath goodPath);
+        otherPath = isStorePath "/something/else";
+        otherVals = {
+          attrset = isStorePath {};
+          list = isStorePath [];
+          int = isStorePath 42;
+        };
+      };
+    expected = {
+      storePath = true;
+      storePathAppendix = false;
+      nonAbsolute = false;
+      asPath = true;
+      otherPath = false;
+      otherVals = {
+        attrset = false;
+        list = false;
+        int = false;
+      };
+    };
+  };
+
 # LISTS
 
   testFilter = {
@@ -266,14 +296,14 @@ runTests {
           res4 = let x = defaultOverridableDelayableArgs id { a = 7; };
                 in (x.merge) ( x: { b = 10; });
           res5 = let x = defaultOverridableDelayableArgs id { a = 7; };
-                in (x.merge) ( x: { a = add x.a 3; });
-          res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
+                in (x.merge) ( x: { a = builtins.add x.a 3; });
+          res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
                      y = x.merge {};
                 in (y.merge) { a = 10; };
 
           resRem7 = res6.replace (a: removeAttrs a ["a"]);
 
-          resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
+          resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
                             x2 = x.merge { a = 20; }; # now we have 27
                         in (x2.replace) { a = 10; }; # and override the value by 10
 
diff --git a/lib/tests/release.nix b/lib/tests/release.nix
index 77dff39edfa..a6184041682 100644
--- a/lib/tests/release.nix
+++ b/lib/tests/release.nix
@@ -1,4 +1,4 @@
-{ pkgs ? import ((import ../../lib).cleanSource ../..) {} }:
+{ pkgs ? import ((import ../.).cleanSource ../..) {} }:
 
 pkgs.stdenv.mkDerivation {
   name = "nixpkgs-lib-tests";
diff --git a/lib/trivial.nix b/lib/trivial.nix
index ffbf96aa9bc..9ee0549fc0f 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -43,84 +43,6 @@ rec {
   */
   mergeAttrs = x: y: x // y;
 
-
-  # Compute the fixed point of the given function `f`, which is usually an
-  # attribute set that expects its final, non-recursive representation as an
-  # argument:
-  #
-  #     f = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; }
-  #
-  # Nix evaluates this recursion until all references to `self` have been
-  # resolved. At that point, the final result is returned and `f x = x` holds:
-  #
-  #     nix-repl> fix f
-  #     { bar = "bar"; foo = "foo"; foobar = "foobar"; }
-  #
-  #  Type: fix :: (a -> a) -> a
-  #
-  # See https://en.wikipedia.org/wiki/Fixed-point_combinator for further
-  # details.
-  fix = f: let x = f x; in x;
-
-  # A variant of `fix` that records the original recursive attribute set in the
-  # result. This is useful in combination with the `extends` function to
-  # implement deep overriding. See pkgs/development/haskell-modules/default.nix
-  # for a concrete example.
-  fix' = f: let x = f x // { __unfix__ = f; }; in x;
-
-  # Modify the contents of an explicitly recursive attribute set in a way that
-  # honors `self`-references. This is accomplished with a function
-  #
-  #     g = self: super: { foo = super.foo + " + "; }
-  #
-  # that has access to the unmodified input (`super`) as well as the final
-  # non-recursive representation of the attribute set (`self`). `extends`
-  # differs from the native `//` operator insofar as that it's applied *before*
-  # references to `self` are resolved:
-  #
-  #     nix-repl> fix (extends g f)
-  #     { bar = "bar"; foo = "foo + "; foobar = "foo + bar"; }
-  #
-  # The name of the function is inspired by object-oriented inheritance, i.e.
-  # think of it as an infix operator `g extends f` that mimics the syntax from
-  # Java. It may seem counter-intuitive to have the "base class" as the second
-  # argument, but it's nice this way if several uses of `extends` are cascaded.
-  extends = f: rattrs: self: let super = rattrs self; in super // f self super;
-
-  # Compose two extending functions of the type expected by 'extends'
-  # into one where changes made in the first are available in the
-  # 'super' of the second
-  composeExtensions =
-    f: g: self: super:
-      let fApplied = f self super;
-          super' = super // fApplied;
-      in fApplied // g self super';
-
-  # Create an overridable, recursive attribute set. For example:
-  #
-  #     nix-repl> obj = makeExtensible (self: { })
-  #
-  #     nix-repl> obj
-  #     { __unfix__ = «lambda»; extend = «lambda»; }
-  #
-  #     nix-repl> obj = obj.extend (self: super: { foo = "foo"; })
-  #
-  #     nix-repl> obj
-  #     { __unfix__ = «lambda»; extend = «lambda»; foo = "foo"; }
-  #
-  #     nix-repl> obj = obj.extend (self: super: { foo = super.foo + " + "; bar = "bar"; foobar = self.foo + self.bar; })
-  #
-  #     nix-repl> obj
-  #     { __unfix__ = «lambda»; bar = "bar"; extend = «lambda»; foo = "foo + "; foobar = "foo + bar"; }
-  makeExtensible = makeExtensibleWithCustomName "extend";
-
-  # Same as `makeExtensible` but the name of the extending attribute is
-  # customized.
-  makeExtensibleWithCustomName = extenderName: rattrs:
-    fix' rattrs // {
-      ${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs);
-   };
-
   # Flip the order of the arguments of a binary function.
   flip = f: a: b: f b a;
 
diff --git a/lib/types.nix b/lib/types.nix
index 45122759bfc..50aa6d77085 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -92,6 +92,8 @@ rec {
     };
 
 
+  # When adding new types don't forget to document them in
+  # nixos/doc/manual/development/option-types.xml!
   types = rec {
 
     unspecified = mkOptionType {
@@ -257,6 +259,7 @@ rec {
       functor = (defaultFunctor name) // { wrapped = elemType; };
     };
 
+    # Value of given type but with no merging (i.e. `uniq list`s are not concatenated).
     uniq = elemType: mkOptionType rec {
       name = "uniq";
       inherit (elemType) description check;
@@ -267,6 +270,7 @@ rec {
       functor = (defaultFunctor name) // { wrapped = elemType; };
     };
 
+    # Null or value of ...
     nullOr = elemType: mkOptionType rec {
       name = "nullOr";
       description = "null or ${elemType.description}";
@@ -283,6 +287,7 @@ rec {
       functor = (defaultFunctor name) // { wrapped = elemType; };
     };
 
+    # A submodule (like typed attribute set). See NixOS manual.
     submodule = opts:
       let
         opts' = toList opts;
@@ -314,6 +319,7 @@ rec {
         };
       };
 
+    # A value from a set of allowed ones.
     enum = values:
       let
         show = v:
@@ -329,6 +335,7 @@ rec {
         functor = (defaultFunctor name) // { payload = values; binOp = a: b: unique (a ++ b); };
       };
 
+    # Either value of type `t1` or `t2`.
     either = t1: t2: mkOptionType rec {
       name = "either";
       description = "${t1.description} or ${t2.description}";
@@ -352,6 +359,8 @@ rec {
       functor = (defaultFunctor name) // { wrapped = [ t1 t2 ]; };
     };
 
+    # Either value of type `finalType` or `coercedType`, the latter is
+    # converted to `finalType` using `coerceFunc`.
     coercedTo = coercedType: coerceFunc: finalType:
       assert coercedType.getSubModules == null;
       mkOptionType rec {
diff --git a/maintainers/scripts/rebuild-amount.sh b/maintainers/scripts/rebuild-amount.sh
index ebc5dc3b87e..098a8c88cb7 100755
--- a/maintainers/scripts/rebuild-amount.sh
+++ b/maintainers/scripts/rebuild-amount.sh
@@ -1,260 +1,115 @@
-#!/bin/sh
-
-usage () {
-  echo 1>&2 "
-usage:
-  $0
-    [--git commit..commit | --git commit]
-    [--svn rev:rev | --svn rev]
-    [--path path[:path]*]
-    [--help]
-
-This program is used to investigate how any changes inside your nixpkgs
-repository may hurt.  With these kind of information you may choose wisely
-where you should commit your changes.
-
-This program adapts it-self to your versionning system to avoid too much
-effort on your Internet bandwidth.  If you need to check more than one
-commits / revisions, you may use the following commands:
-
-  --git remotes/trunk..master
-  --svn 17670:17677
-
-    Check the differences between each commit separating the first and the
-    last commit.
-
-  --path /etc/nixos/nixpkgs:/tmp/nixpkgs_1:/tmp/nixpkgs_2
-
-    Check the differences between multiple directories containing different
-    versions of nixpkgs.
-
-All these options exist with one commit / revision argument.  Such options
-are used to compare your \$NIXPKGS path with the specified version.
-
-If you omit to mention any other commit / revision, then your \$NIXPKGS path
-is compared with its last update.  This command is useful to test code from
-a dirty repository.
-
-"
-
-  exit 1;
-}
-
-#####################
-# Process Arguments #
-#####################
-
-: ${NIXPKGS=/etc/nixos/nixpkgs/}
-
-vcs=""
-gitCommits=""
-svnRevisions=""
-pathLocations=""
-verbose=false
-
-argfun=""
-for arg; do
-  if test -z "$argfun"; then
-    case $arg in
-      --git) vcs="git"; argfun="set_gitCommits";;
-      --svn) vcs="svn"; argfun="set_svnRevisions";;
-      --path) vcs="path"; argfun="set_pathLocations";;
-      --verbose) verbose=true;;
-      --help) usage;;
-      *) usage;;
-    esac
-  else
-    case $argfun in
-      set_*)
-        var=$(echo $argfun | sed 's,^set_,,')
-        eval $var=$arg
-        ;;
-    esac
-    argfun=""
-  fi
-done
-
-if $verbose; then
-  set -x
-else
-  set +x
+#!/usr/bin/env bash
+set -e
+
+if [ "$#" != 1 ] && [ "$#" != 2 ]; then
+	cat <<-EOF
+	Usage: $0 commit-spec [commit-spec]
+	    You need to be in a git-controlled nixpkgs tree.
+	    The current state of the tree will be used if the second commit is missing.
+	EOF
+	exit 1
 fi
 
-############################
-# Find the repository type #
-############################
+# A slightly hacky way to get the config.
+parallel="$(echo 'config.rebuild-amount.parallel or false' | nix-repl . 2>/dev/null \
+			| grep -v '^\(nix-repl.*\)\?$' | tail -n 1 || true)"
 
-if test -z "$vcs"; then
-  if test -x "$NIXPKGS/.git"; then
-    if git --git-dir="$NIXPKGS/.git" branch > /dev/null 2>&1; then
-      vcs="git"
-      gitCommits=$(git --git-dir="$NIXPKGS/.git" log -n 1 --pretty=format:%H 2> /dev/null)
-    fi
-  elif test -x "$NIXPKGS/.svn"; then
-    cd "$NIXPKGS"
-    if svn info > /dev/null 2>&1; then
-      vcs="svn";
-      svnRevisions=$(svn info | sed -n 's,Revision: ,,p')
-    fi
-    cd -
-  else
-    usage
-  fi
-fi
+echo "Estimating rebuild amount by counting changed Hydra jobs."
 
-###############################
-# Define a storage directory. #
-###############################
+toRemove=()
 
-pkgListDir=""
-exitCode=1
-cleanup(){
-  test -e "$pkgListDir" && rm -rf "$pkgListDir"
-  exit $exitCode;
+cleanup() {
+	rm -rf "${toRemove[@]}"
 }
-
 trap cleanup EXIT SIGINT SIGQUIT ERR
 
-pkgListDir=$(mktemp --tmpdir -d rebuild-amount-XXXXXXXX)
-vcsDir="$pkgListDir/.vcs"
-
-###########################
-# Versionning for Dummies #
-###########################
-
-path_init() {
-  if test "${pathLocations#*:}" = "$pathLocations"; then
-    pathLocations="$NIXPKGS:$pathLocations"
-  fi
-  pathLocations="${pathLocations}:"
+MKTEMP='mktemp --tmpdir nix-rebuild-amount-XXXXXXXX'
+
+nixexpr() {
+	cat <<-EONIX
+		let
+		  lib = import $1/lib;
+		  hydraJobs = import $1/pkgs/top-level/release.nix
+		    # Compromise: accuracy vs. resources needed for evaluation.
+		    { supportedSystems = cfg.systems or [ "x86_64-linux" "x86_64-darwin" ]; };
+		  cfg = (import $1 {}).config.rebuild-amount or {};
+
+		  recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; };
+
+		  # hydraJobs leaves recurseForDerivations as empty attrmaps;
+		  # that would break nix-env and we also need to recurse everywhere.
+		  tweak = lib.mapAttrs
+		    (name: val:
+		      if name == "recurseForDerivations" then true
+		      else if lib.isAttrs val && val.type or null != "derivation"
+		              then recurseIntoAttrs (tweak val)
+		      else val
+		    );
+
+		  # Some of these contain explicit references to platform(s) we want to avoid;
+		  # some even (transitively) depend on ~/.nixpkgs/config.nix (!)
+		  blacklist = [
+		    "tarball" "metrics" "manual"
+		    "darwin-tested" "unstable" "stdenvBootstrapTools"
+		    "moduleSystem" "lib-tests" # these just confuse the output
+		  ];
+		
+		in
+		  tweak (builtins.removeAttrs hydraJobs blacklist)
+	EONIX
 }
 
-path_getNext() {
-  pathLoc="${pathLocations%%:*}"
-  pathLocations="${pathLocations#*:}"
+# Output packages in tree $2 that weren't in $1.
+# Changing the output hash or name is taken as a change.
+# Extra nix-env parameters can be in $3
+newPkgs() {
+	# We use files instead of pipes, as running multiple nix-env processes
+	# could eat too much memory for a standard 4GiB machine.
+	local -a list
+	for i in 1 2; do
+		local l="$($MKTEMP)"
+		list[$i]="$l"
+		toRemove+=("$l")
+
+		local expr="$($MKTEMP)"
+		toRemove+=("$expr")
+		nixexpr "${!i}" > "$expr"
+
+		nix-env -f "$expr" -qaP --no-name --out-path --show-trace $3 \
+			| sort > "${list[$i]}" &
+
+		if [ "$parallel" != "true" ]; then
+			wait
+		fi
+	done
+
+	wait
+	comm -13 "${list[@]}"
 }
 
-path_setPath() {
-  path="$pathLoc"
-}
-
-path_setName() {
-  name=$(echo "$pathLoc" | tr '/' '_')
-}
-
-################
-# Git Commands #
-################
-
-git_init() {
-  git clone "$NIXPKGS/.git" "$vcsDir" > /dev/null 2>&1
-  if echo "gitCommits" | grep -c "\.\." > /dev/null 2>&1; then
-    gitCommits=$(git --git-dir="$vcsDir/.git" log --reverse --pretty=format:%H $gitCommits 2> /dev/null)
-  else
-    pathLocations="$vcsDir:$NIXPKGS"
-    vcs="path"
-    path_init
-  fi
-}
-
-git_getNext() {
-  git --git-dir="$vcsDir/.git" checkout $(echo "$gitCommits" | head -n 1) > /dev/null 2>&1
-  gitCommits=$(echo "$gitCommits" | sed '1 d')
-}
-
-git_setPath() {
-  path="$vcsDir"
-}
-
-git_setName() {
-  name=$(git --git-dir="$vcsDir/.git" log -n 1 --pretty=format:%H  2> /dev/null)
-}
-
-#######################
-# Subversion Commands #
-#######################
-
-svn_init() {
-  cp -r "$NIXPKGS" "$vcsDir" > /dev/null 2>&1
-  if echo "svnRevisions" | grep -c ":" > /dev/null 2>&1; then
-    svnRevisions=$(seq ${svnRevisions%:*} ${svnRevisions#*:})
-  else
-    pathLocations="$vcsDir:$NIXPKGS"
-    vcs="path"
-    path_init
-  fi
-}
-
-svn_getNext() {
-  cd "$vcsDir"
-  svn checkout $(echo "$svnRevisions" | head -n 1) > /dev/null 2>&1
-  cd -
-  svnRevisions=$(echo "$svnRevisions" | sed '1 d')
-}
-
-svn_setPath() {
-  path="$vcsDir"
-}
-
-svn_setName() {
-  name=$(svn info  2> /dev/null | sed -n 's,Revision: ,,p')
-}
-
-####################
-# Logical Commands #
-####################
-
-init    () { ${vcs}_init; }
-getNext () { ${vcs}_getNext; }
-setPath () { ${vcs}_setPath; }
-setName () { ${vcs}_setName; }
-
-
-#####################
-# Check for Rebuild #
-#####################
-
-# Generate the list of all derivations that could be build from a nixpkgs
-# respository.  This list of derivation hashes is compared with previous
-# lists and a brief summary is produced on the output.
-
-compareNames () {
-    nb=$(diff -y --suppress-common-lines --speed-large-files "$pkgListDir/$1.drvs" "$pkgListDir/$2.drvs" 2> /dev/null | wc -l)
-    echo "$1 -> $2: $nb"
-}
-
-echo "Please wait, this may take some minutes ..."
-
-init
-first=""
-oldPrev=""
-
-prev=""
-curr=""
-
-while true; do
-  getNext
-  setPath # set path=...
-  setName # set name=...
-  curr="$name"
-
-  test -z "$curr" && break || true
-
-  nix-instantiate "$path" > "$pkgListDir/$curr.drvs" > /dev/null 2>&1 || true
-
-  if test -n "$prev"; then
-    compareNames "$prev" "$curr"
-  else
-    echo "Number of package to rebuild:"
-    first="$curr"
-  fi
-  oldPrev="$prev"
-  prev="$curr"
+# Prepare nixpkgs trees.
+declare -a tree
+for i in 1 2; do
+	if [ -n "${!i}" ]; then # use the given commit
+		dir="$($MKTEMP -d)"
+		tree[$i]="$dir"
+		toRemove+=("$dir")
+
+		git clone --shared --no-checkout --quiet . "${tree[$i]}"
+		(cd "${tree[$i]}" && git checkout --quiet "${!i}")
+	else #use the current tree
+		tree[$i]="$(pwd)"
+	fi
 done
 
-if test "$first" != "$oldPrev"; then
-  echo "Number of package to rebuild (first -> last):"
-  compareNames "$first" "$curr"
-fi
+newlist="$($MKTEMP)"
+toRemove+=("$newlist")
+# Notes:
+#	- the evaluation is done on x86_64-linux, like on Hydra.
+#	- using $newlist file so that newPkgs() isn't in a sub-shell (because of toRemove)
+newPkgs "${tree[1]}" "${tree[2]}" '--argstr system "x86_64-linux"' > "$newlist"
+
+# Hacky: keep only the last word of each attribute path and sort.
+sed -n 's/\([^. ]*\.\)*\([^. ]*\) .*$/\2/p' < "$newlist" \
+	| sort | uniq -c
 
-exitCode=0
diff --git a/maintainers/scripts/update-python-libraries b/maintainers/scripts/update-python-libraries
new file mode 100755
index 00000000000..278c467b054
--- /dev/null
+++ b/maintainers/scripts/update-python-libraries
@@ -0,0 +1,241 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p 'python3.withPackages(ps: with ps; [ requests toolz ])'
+
+"""
+Update a Python package expression by passing in the `.nix` file, or the directory containing it.
+You can pass in multiple files or paths.
+
+You'll likely want to use
+``
+  $ ./update-python-libraries ../../pkgs/development/python-modules/*
+``
+to update all libraries in that folder.
+"""
+
+import argparse
+import logging
+import os
+import re
+import requests
+import toolz
+
+INDEX = "https://pypi.io/pypi"
+"""url of PyPI"""
+
+EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip', '.whl']
+"""Permitted file extensions. These are evaluated from left to right and the first occurance is returned."""
+
+import logging
+logging.basicConfig(level=logging.INFO)
+
+
+def _get_values(attribute, text):
+    """Match attribute in text and return all matches.
+
+    :returns: List of matches.
+    """
+    regex = '{}\s+=\s+"(.*)";'.format(attribute)
+    regex = re.compile(regex)
+    values = regex.findall(text)
+    return values
+
+def _get_unique_value(attribute, text):
+    """Match attribute in text and return unique match.
+
+    :returns: Single match.
+    """
+    values = _get_values(attribute, text)
+    n = len(values)
+    if n > 1:
+        raise ValueError("found too many values for {}".format(attribute))
+    elif n == 1:
+        return values[0]
+    else:
+        raise ValueError("no value found for {}".format(attribute))
+
+def _get_line_and_value(attribute, text):
+    """Match attribute in text. Return the line and the value of the attribute."""
+    regex = '({}\s+=\s+"(.*)";)'.format(attribute)
+    regex = re.compile(regex)
+    value = regex.findall(text)
+    n = len(value)
+    if n > 1:
+        raise ValueError("found too many values for {}".format(attribute))
+    elif n == 1:
+        return value[0]
+    else:
+        raise ValueError("no value found for {}".format(attribute))
+
+
+def _replace_value(attribute, value, text):
+    """Search and replace value of attribute in text."""
+    old_line, old_value = _get_line_and_value(attribute, text)
+    new_line = old_line.replace(old_value, value)
+    new_text = text.replace(old_line, new_line)
+    return new_text
+
+def _fetch_page(url):
+    r = requests.get(url)
+    if r.status_code == requests.codes.ok:
+        return r.json()
+    else:
+        raise ValueError("request for {} failed".format(url))
+
+def _get_latest_version_pypi(package, extension):
+    """Get latest version and hash from PyPI."""
+    url = "{}/{}/json".format(INDEX, package)
+    json = _fetch_page(url)
+
+    version = json['info']['version']
+    for release in json['releases'][version]:
+        if release['filename'].endswith(extension):
+            # TODO: In case of wheel we need to do further checks!
+            sha256 = release['digests']['sha256']
+
+    return version, sha256
+
+
+def _get_latest_version_github(package, extension):
+    raise ValueError("updating from GitHub is not yet supported.")
+
+
+FETCHERS = {
+    'fetchFromGitHub'   :   _get_latest_version_github,
+    'fetchPypi'         :   _get_latest_version_pypi,
+    'fetchurl'          :   _get_latest_version_pypi,
+}
+
+
+DEFAULT_SETUPTOOLS_EXTENSION = 'tar.gz'
+
+
+FORMATS = {
+    'setuptools'        :   DEFAULT_SETUPTOOLS_EXTENSION,
+    'wheel'             :   'whl'
+}
+
+def _determine_fetcher(text):
+    # Count occurences of fetchers.
+    nfetchers = sum(text.count('src = {}'.format(fetcher)) for fetcher in FETCHERS.keys())
+    if nfetchers == 0:
+        raise ValueError("no fetcher.")
+    elif nfetchers > 1:
+        raise ValueError("multiple fetchers.")
+    else:
+        # Then we check which fetcher to use.
+        for fetcher in FETCHERS.keys():
+            if 'src = {}'.format(fetcher) in text:
+                return fetcher
+
+
+def _determine_extension(text, fetcher):
+    """Determine what extension is used in the expression.
+
+    If we use:
+    - fetchPypi, we check if format is specified.
+    - fetchurl, we determine the extension from the url.
+    - fetchFromGitHub we simply use `.tar.gz`.
+    """
+    if fetcher == 'fetchPypi':
+        try:
+            format = _get_unique_value('format', text)
+        except ValueError as e:
+            format = None   # format was not given
+
+        try:
+            extension = _get_unique_value('extension', text)
+        except ValueError as e:
+            extension = None    # extension was not given
+
+        if extension is None:
+            if format is None:
+                format = 'setuptools'
+            extension = FORMATS[format]
+
+    elif fetcher == 'fetchurl':
+        url = _get_unique_value('url', text)
+        extension = os.path.splitext(url)[1]
+        if 'pypi' not in url:
+            raise ValueError('url does not point to PyPI.')
+
+    elif fetcher == 'fetchFromGitHub':
+        raise ValueError('updating from GitHub is not yet implemented.')
+
+    return extension
+
+
+def _update_package(path):
+
+
+
+    # Read the expression
+    with open(path, 'r') as f:
+        text = f.read()
+
+    # Determine pname.
+    pname = _get_unique_value('pname', text)
+
+    # Determine version.
+    version = _get_unique_value('version', text)
+
+    # First we check how many fetchers are mentioned.
+    fetcher = _determine_fetcher(text)
+
+    extension = _determine_extension(text, fetcher)
+
+    new_version, new_sha256 = _get_latest_version_pypi(pname, extension)
+
+    if new_version == version:
+        logging.info("Path {}: no update available for {}.".format(path, pname))
+        return False
+    if not new_sha256:
+        raise ValueError("no file available for {}.".format(pname))
+
+    text = _replace_value('version', new_version, text)
+    text = _replace_value('sha256', new_sha256, text)
+
+    with open(path, 'w') as f:
+        f.write(text)
+
+        logging.info("Path {}: updated {} from {} to {}".format(path, pname, version, new_version))
+
+    return True
+
+
+def _update(path):
+
+    # We need to read and modify a Nix expression.
+    if os.path.isdir(path):
+        path = os.path.join(path, 'default.nix')
+
+    # If a default.nix does not exist, we quit.
+    if not os.path.isfile(path):
+        logging.info("Path {}: does not exist.".format(path))
+        return False
+
+    # If file is not a Nix expression, we quit.
+    if not path.endswith(".nix"):
+        logging.info("Path {}: does not end with `.nix`.".format(path))
+        return False
+
+    try:
+        return _update_package(path)
+    except ValueError as e:
+        logging.warning("Path {}: {}".format(path, e))
+        return False
+
+def main():
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument('package', type=str, nargs='+')
+
+    args = parser.parse_args()
+
+    packages = map(os.path.abspath, args.package)
+
+    count = list(map(_update, packages))
+
+    logging.info("{} package(s) updated".format(sum(count)))
+
+if __name__ == '__main__':
+    main()
\ No newline at end of file
diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml
index 9851eb08afb..d5d8140e076 100644
--- a/nixos/doc/manual/administration/imperative-containers.xml
+++ b/nixos/doc/manual/administration/imperative-containers.xml
@@ -57,7 +57,7 @@ Thus, if something went wrong, you can get status info using
 
 </para>
 
-<para>If the container has started succesfully, you can log in as
+<para>If the container has started successfully, you can log in as
 root using the <command>root-login</command> operation:
 
 <screen>
diff --git a/nixos/doc/manual/development/building-nixos.xml b/nixos/doc/manual/development/building-nixos.xml
index 150fa1d7017..2f963f8666f 100644
--- a/nixos/doc/manual/development/building-nixos.xml
+++ b/nixos/doc/manual/development/building-nixos.xml
@@ -12,12 +12,12 @@ your <filename>configuration.nix</filename> to configure the system that
 would be installed on the CD.</para>
 
 <para>Default CD/DVD configurations are available
-inside <filename>nixos/modules/installer/cd-dvd</filename>.  To build them
-you have to set <envar>NIXOS_CONFIG</envar> before
-running <command>nix-build</command> to build the ISO.
+inside <filename>nixos/modules/installer/cd-dvd</filename>.
 
 <screen>
-$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix</screen>
+$ git clone https://github.com/NixOS/nixpkgs.git
+$ cd nixpkgs/nixos
+$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix</screen>
 
 </para>
 
diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml
index e322b6458a1..d20c2d1aa2e 100644
--- a/nixos/doc/manual/development/option-declarations.xml
+++ b/nixos/doc/manual/development/option-declarations.xml
@@ -96,7 +96,7 @@ options = {
   </itemizedlist>
   </para>
 
-  <para>Both approachs have problems.</para>
+  <para>Both approaches have problems.</para>
 
   <para>Making backends independent can quickly become hard to manage. For
     display managers, there can be only one enabled at a time, but the type
diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml
index 741e763c295..441393c9827 100644
--- a/nixos/doc/manual/development/option-types.xml
+++ b/nixos/doc/manual/development/option-types.xml
@@ -68,8 +68,7 @@
 
  <section><title>Value Types</title>
 
-   <para>Value types are type that take a value parameter. The only value type 
-     in the library is <literal>enum</literal>.</para>
+   <para>Value types are type that take a value parameter.</para>
 
 <variablelist>
   <varlistentry>
@@ -141,6 +140,17 @@
           str</literal>. Multiple definitions cannot be 
         merged.</para></listitem>
   </varlistentry>
+  <varlistentry>
+    <term><varname>types.coercedTo</varname> <replaceable>from</replaceable>
+        <replaceable>f</replaceable> <replaceable>to</replaceable></term>
+    <listitem><para>Type <replaceable>to</replaceable> or type
+        <replaceable>from</replaceable> which will be coerced to
+	type <replaceable>to</replaceable> using function
+	<replaceable>f</replaceable> which takes an argument of type
+        <replaceable>from</replaceable> and return a value of type
+	<replaceable>to</replaceable>. Can be used to preserve backwards
+        compatibility of an option if its type was changed.</para></listitem>
+  </varlistentry>
 </variablelist>
 
 </section>
@@ -386,7 +396,7 @@ code before creating a new type.</para>
     <listitem><para>For composed types that can take a submodule as type 
         parameter, this function can be used to substitute the parameter of a 
         submodule type. It takes a module as parameter and return the type with 
-        the submodule options substituted. It is usally defined as a type 
+        the submodule options substituted. It is usually defined as a type 
         function call with a recursive call to 
         <literal>substSubModules</literal>, e.g for a type 
         <literal>composedType</literal> that take an <literal>elemtype</literal> 
diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml
index e0271485c36..967fbcf869d 100644
--- a/nixos/doc/manual/release-notes/rl-1509.xml
+++ b/nixos/doc/manual/release-notes/rl-1509.xml
@@ -342,7 +342,7 @@ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA haskellPackages.pandoc
 
 <listitem>
   <para>
-    Python 2.6 has been marked as broken (as it no longer recieves
+    Python 2.6 has been marked as broken (as it no longer receives
     security updates from upstream).
   </para>
 </listitem>
diff --git a/nixos/doc/manual/release-notes/rl-1603.xml b/nixos/doc/manual/release-notes/rl-1603.xml
index f460e00e836..7279dd05827 100644
--- a/nixos/doc/manual/release-notes/rl-1603.xml
+++ b/nixos/doc/manual/release-notes/rl-1603.xml
@@ -362,7 +362,7 @@ services.syncthing = {
   <listitem>
     <para>
       <literal>networking.firewall.allowPing</literal> is now enabled by
-      default. Users are encourarged to configure an approiate rate limit for
+      default. Users are encouraged to configure an appropriate rate limit for
       their machines using the Kernel interface at
       <filename>/proc/sys/net/ipv4/icmp_ratelimit</filename> and
       <filename>/proc/sys/net/ipv6/icmp/ratelimit</filename> or using the
diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml
index 25766439759..b1bef8ef1c2 100644
--- a/nixos/doc/manual/release-notes/rl-1709.xml
+++ b/nixos/doc/manual/release-notes/rl-1709.xml
@@ -57,6 +57,12 @@ following incompatible changes:</para>
 <itemizedlist>
   <listitem>
     <para>
+      <literal>aiccu</literal> package was removed. This is due to SixXS
+      <link xlink:href="https://www.sixxs.net/main/"> sunsetting</link> its IPv6 tunnel.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
       Top-level <literal>idea</literal> package collection was renamed.
       All JetBrains IDEs are now at <literal>jetbrains</literal>.
     </para>
@@ -68,6 +74,36 @@ following incompatible changes:</para>
       <literal>db-config.sqlite</literal> which will be automatically recreated.
     </para>
   </listitem>
+  <listitem>
+    <para>
+      The ipfs package now doesn't ignore the <literal>dataDir</literal> option anymore. If you've ever set this option to anything other than the default you'll have to either unset it (so the default gets used) or migrate the old data manually with
+<programlisting>
+dataDir=&lt;valueOfDataDir&gt;
+mv /var/lib/ipfs/.ipfs/* $dataDir
+rmdir /var/lib/ipfs/.ipfs
+</programlisting>
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      The <literal>postgres</literal> default version was changed from 9.5 to 9.6.
+    </para>
+    <para>
+      The <literal>postgres</literal> superuser name has changed from <literal>root</literal> to <literal>postgres</literal> to more closely follow what other Linux distributions are doing.
+    </para>
+    <para>
+      The <literal>postgres</literal> default <literal>dataDir</literal> has changed from <literal>/var/db/postgres</literal> to <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is 9.6 for example.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      The <literal>caddy</literal> service was previously using an extra
+      <literal>.caddy</literal> in the data directory specified with the
+      <literal>dataDir</literal> option. The contents of the
+      <literal>.caddy</literal> directory are now expected to be in the
+      <literal>dataDir</literal>.
+    </para>
+  </listitem>
 </itemizedlist>
 
 
diff --git a/nixos/lib/test-driver/test-driver.pl b/nixos/lib/test-driver/test-driver.pl
index 854be99552a..a3354fb0e1e 100644
--- a/nixos/lib/test-driver/test-driver.pl
+++ b/nixos/lib/test-driver/test-driver.pl
@@ -35,7 +35,7 @@ foreach my $vlan (split / /, $ENV{VLANS} || "") {
     if ($pid == 0) {
         dup2(fileno($pty->slave), 0);
         dup2(fileno($stdoutW), 1);
-        exec "vde_switch -s $socket" or _exit(1);
+        exec "vde_switch -s $socket --dirmode 0700" or _exit(1);
     }
     close $stdoutW;
     print $pty "version\n";
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index ae30a710bf6..d503f5a8b20 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -222,13 +222,11 @@ in
             '' + cfg.extraResolvconfConf + ''
             '';
 
-      } // (optionalAttrs config.services.resolved.enable (
-        if dnsmasqResolve then {
-          "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
-        } else {
-          "resolv.conf".source = "/run/systemd/resolve/resolv.conf";
-        }
-      ));
+      } // optionalAttrs config.services.resolved.enable {
+        "resolv.conf".source = "/run/systemd/resolve/resolv.conf";
+      } // optionalAttrs (config.services.resolved.enable && dnsmasqResolve) {
+        "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
+      };
 
       networking.proxy.envVars =
         optionalAttrs (cfg.proxy.default != null) {
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index 4e5de421d8a..d541fff140e 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -10,10 +10,12 @@ let
   inherit (config.services.samba) nsswins;
   ldap = (config.users.ldap.enable && config.users.ldap.nsswitch);
   sssd = config.services.sssd.enable;
+  resolved = config.services.resolved.enable;
 
   hostArray = [ "files" "mymachines" ]
     ++ optionals nssmdns [ "mdns_minimal [!UNAVAIL=return]" ]
     ++ optionals nsswins [ "wins" ]
+    ++ optionals resolved ["resolv [!UNAVAIL=return]"]
     ++ [ "dns" ]
     ++ optionals nssmdns [ "mdns" ]
     ++ ["myhostname" ];
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index bf66994b502..bd80c811348 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -240,11 +240,14 @@ in {
       };
       systemd.user = {
         services.pulseaudio = {
+          restartIfChanged = true;
           serviceConfig = {
             RestartSec = "500ms";
+            PassEnvironment = "DISPLAY";
           };
-          environment = { DISPLAY = ":${toString config.services.xserver.display}"; };
-          restartIfChanged = true;
+        };
+        sockets.pulseaudio = {
+          wantedBy = [ "sockets.target" ];
         };
       };
     })
diff --git a/nixos/modules/hardware/nitrokey.nix b/nixos/modules/hardware/nitrokey.nix
new file mode 100644
index 00000000000..bd440de6972
--- /dev/null
+++ b/nixos/modules/hardware/nitrokey.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.hardware.nitrokey;
+
+in
+
+{
+  options.hardware.nitrokey = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Enables udev rules for Nitrokey devices. By default grants access
+        to users in the "nitrokey" group. You may want to install the
+        nitrokey-app package, depending on your device and needs.
+      '';
+    };
+
+    group = mkOption {
+      type = types.str;
+      default = "nitrokey";
+      example = "wheel";
+      description = ''
+        Grant access to Nitrokey devices to users in this group.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.udev.packages = [
+      (pkgs.nitrokey-udev-rules.override (attrs:
+        { inherit (cfg) group; }
+      ))
+    ];
+    users.extraGroups."${cfg.group}" = {};
+  };
+}
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 161ed9457af..80abec95c03 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -28,7 +28,7 @@ let
   nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
 
   nvidiaPackage = nvidia: pkgs:
-    if !nvidia.useGLVND then nvidia
+    if !nvidia.useGLVND then nvidia.out
     else pkgs.buildEnv {
       name = "nvidia-libs";
       paths = [ pkgs.libglvnd nvidia.out ];
@@ -56,7 +56,8 @@ in
     hardware.opengl.package = nvidiaPackage nvidia_x11 pkgs;
     hardware.opengl.package32 = nvidiaPackage nvidia_libs32 pkgs_i686;
 
-    environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings nvidia_x11.persistenced ];
+    environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ]
+      ++ lib.filter (p: p != null) [ nvidia_x11.persistenced ];
 
     boot.extraModulePackages = [ nvidia_x11.bin ];
 
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index 83378247719..6ccc645a125 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,5 +1,5 @@
 {
-  x86_64-linux = "/nix/store/71im965h634iy99zsmlncw6qhx5jcclx-nix-1.11.9";
-  i686-linux = "/nix/store/cgvavixkayc36l6kl92i8mxr6k0p2yhy-nix-1.11.9";
-  x86_64-darwin = "/nix/store/w1c96v5yxvdmq4nvqlxjvg6kp7xa2lag-nix-1.11.9";
+  x86_64-linux = "/nix/store/qiiwjyc338xigks5wqyxn0nnqiwy7xav-nix-1.11.10";
+  i686-linux = "/nix/store/30fi96qqggjs51c5085y3fiws0a3wdcl-nix-1.11.10";
+  x86_64-darwin = "/nix/store/zs6msqwjgjr9v9kbs5s0sap7vhdw692z-nix-1.11.10";
 }
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index d217b3452fb..d7459e3fe91 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -294,6 +294,7 @@
       jackett = 276;
       aria2 = 277;
       clickhouse = 278;
+      rslsync = 279;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -557,6 +558,7 @@
       jackett = 276;
       aria2 = 277;
       clickhouse = 278;
+      rslsync = 279;
 
       # 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/misc/locate.nix b/nixos/modules/misc/locate.nix
index 6d9bc915ba0..0fe91435ce8 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -131,9 +131,9 @@ in {
         path = mkIf (!isMLocate) [ pkgs.su ];
         script =
           ''
-            install -m ${if isMLocate then "0750" else "0755"} -o root -g ${if isMLocate then "mlocate" else "root"} -d $(dirname ${cfg.output})
+            mkdir -m 0755 -p ${dirOf cfg.output}
             exec ${cfg.locate}/bin/updatedb \
-              ${optionalString (cfg.localuser != null) ''--localuser=${cfg.localuser}''} \
+              ${optionalString (cfg.localuser != null && ! isMLocate) ''--localuser=${cfg.localuser}''} \
               --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
           '';
         environment = {
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 5a825a1d4e8..7f94d6569e9 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -39,6 +39,7 @@
   ./hardware/network/intel-3945abg.nix
   ./hardware/network/ralink.nix
   ./hardware/network/rtl8192c.nix
+  ./hardware/nitrokey.nix
   ./hardware/opengl.nix
   ./hardware/pcmcia.nix
   ./hardware/usb-wwan.nix
@@ -79,6 +80,7 @@
   ./programs/environment.nix
   ./programs/fish.nix
   ./programs/freetds.nix
+  ./programs/gnupg.nix
   ./programs/gphoto2.nix
   ./programs/info.nix
   ./programs/java.nix
@@ -97,6 +99,7 @@
   ./programs/spacefm.nix
   ./programs/ssh.nix
   ./programs/ssmtp.nix
+  ./programs/thefuck.nix
   ./programs/tmux.nix
   ./programs/venus.nix
   ./programs/vim.nix
@@ -129,6 +132,8 @@
   ./security/rtkit.nix
   ./security/wrappers/default.nix
   ./security/sudo.nix
+  ./service-managers/docker.nix
+  ./service-managers/trivial.nix
   ./services/admin/salt/master.nix
   ./services/admin/salt/minion.nix
   ./services/amqp/activemq/default.nix
@@ -239,8 +244,9 @@
   ./services/logging/logrotate.nix
   ./services/logging/logstash.nix
   ./services/logging/rsyslogd.nix
-  ./services/logging/syslogd.nix
+  ./services/logging/SystemdJournal2Gelf.nix
   ./services/logging/syslog-ng.nix
+  ./services/logging/syslogd.nix
   ./services/mail/dovecot.nix
   ./services/mail/dspam.nix
   ./services/mail/exim.nix
@@ -278,6 +284,7 @@
   ./services/misc/etcd.nix
   ./services/misc/felix.nix
   ./services/misc/folding-at-home.nix
+  ./services/misc/fstrim.nix
   ./services/misc/gammu-smsd.nix
   ./services/misc/geoip-updater.nix
   #./services/misc/gitit.nix
@@ -382,7 +389,6 @@
   ./services/network-filesystems/u9fs.nix
   ./services/network-filesystems/yandex-disk.nix
   ./services/network-filesystems/xtreemfs.nix
-  ./services/networking/aiccu.nix
   ./services/networking/amuled.nix
   ./services/networking/asterisk.nix
   ./services/networking/atftpd.nix
@@ -431,6 +437,7 @@
   ./services/networking/i2p.nix
   ./services/networking/iodine.nix
   ./services/networking/ircd-hybrid/default.nix
+  ./services/networking/iwd.nix
   ./services/networking/keepalived/default.nix
   ./services/networking/keybase.nix
   ./services/networking/kippo.nix
@@ -479,6 +486,7 @@
   ./services/networking/radvd.nix
   ./services/networking/rdnssd.nix
   ./services/networking/redsocks.nix
+  ./services/networking/resilio.nix
   ./services/networking/rpcbind.nix
   ./services/networking/sabnzbd.nix
   ./services/networking/searx.nix
diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix
index 6c0d5d8b604..ba356a8ad2d 100644
--- a/nixos/modules/programs/environment.nix
+++ b/nixos/modules/programs/environment.nix
@@ -20,7 +20,7 @@ in
       { NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
         PAGER = mkDefault "less -R";
         EDITOR = mkDefault "nano";
-        XCURSOR_PATH = "$HOME/.icons";
+        XCURSOR_PATH = [ "$HOME/.icons" ];
       };
 
     environment.profiles =
diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix
new file mode 100644
index 00000000000..c5277f40d26
--- /dev/null
+++ b/nixos/modules/programs/gnupg.nix
@@ -0,0 +1,75 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.programs.gnupg;
+
+in
+
+{
+
+  options.programs.gnupg = {
+    agent.enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Enables GnuPG agent with socket-activation for every user session.
+      '';
+    };
+
+    agent.enableSSHSupport = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK
+        environment variable correctly. This will disable socket-activation
+        and thus always start a GnuPG agent per user session.
+      '';
+    };
+  };
+
+  config = mkIf cfg.agent.enable {
+    systemd.user.services.gpg-agent = {
+      serviceConfig = {
+        ExecStart = [
+          ""
+          ("${pkgs.gnupg}/bin/gpg-agent --supervised "
+            + optionalString cfg.agent.enableSSHSupport "--enable-ssh-support")
+        ];
+      };
+    };
+
+    systemd.user.sockets.gpg-agent = {
+      wantedBy = [ "sockets.target" ];
+    };
+
+    systemd.user.sockets.gpg-agent-ssh = mkIf cfg.agent.enableSSHSupport {
+      wantedBy = [ "sockets.target" ];
+    };
+
+    systemd.packages = [ pkgs.gnupg ];
+
+    environment.extraInit = ''
+      # Bind gpg-agent to this TTY if gpg commands are used.
+      export GPG_TTY=$(tty)
+
+    '' + (optionalString cfg.agent.enableSSHSupport ''
+      # SSH agent protocol doesn't support changing TTYs, so bind the agent
+      # to every new TTY.
+      ${pkgs.gnupg}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null
+
+      if [ -z "$SSH_AUTH_SOCK" ]; then
+        export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)
+      fi
+    '');
+
+    assertions = [
+      { assertion = cfg.agent.enableSSHSupport && !config.programs.ssh.startAgent;
+        message = "You can't use ssh-agent and GnuPG agent with SSH support enabled at the same time!";
+      }
+    ];
+  };
+
+}
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index a00fc0dfd19..4faef2c609b 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -199,9 +199,8 @@ in
     environment.etc."ssh/ssh_known_hosts".text = knownHostsText;
 
     # FIXME: this should really be socket-activated for über-awesomeness.
-    systemd.user.services.ssh-agent =
-      { enable = cfg.startAgent;
-        description = "SSH Agent";
+    systemd.user.services.ssh-agent = mkIf cfg.startAgent
+      { description = "SSH Agent";
         wantedBy = [ "default.target" ];
         serviceConfig =
           { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent";
diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix
new file mode 100644
index 00000000000..433a0ca95fe
--- /dev/null
+++ b/nixos/modules/programs/thefuck.nix
@@ -0,0 +1,31 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.thefuck;
+in
+  {
+    options = {
+      programs.thefuck = {
+        enable = mkEnableOption "thefuck";
+
+        alias = mkOption {
+          default = "fuck";
+          type = types.string;
+
+          description = ''
+            `thefuck` needs an alias to be configured.
+            The default value is `fuck`, but you can use anything else as well.
+          '';
+        };
+      };
+    };
+
+    config = mkIf cfg.enable {
+      environment.systemPackages = with pkgs; [ thefuck ];
+      environment.shellInit = ''
+        eval $(${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias})
+      '';
+    };
+  }
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix
index 335f596ca80..446c05da39d 100644
--- a/nixos/modules/programs/zsh/oh-my-zsh.nix
+++ b/nixos/modules/programs/zsh/oh-my-zsh.nix
@@ -3,11 +3,11 @@
 with lib;
 
 let
-  cfg = config.programs.zsh.oh-my-zsh;
+  cfg = config.programs.zsh.ohMyZsh;
 in
   {
     options = {
-      programs.zsh.oh-my-zsh = {
+      programs.zsh.ohMyZsh = {
         enable = mkOption {
           default = false;
           description = ''
diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
index 39176b28784..9452489e2fb 100644
--- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
+++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
@@ -8,13 +8,7 @@ in
   {
     options = {
       programs.zsh.syntaxHighlighting = {
-        enable = mkOption {
-          default = false;
-          type = types.bool;
-          description = ''
-            Enable zsh-syntax-highlighting.
-          '';
-        };
+        enable = mkEnableOption "zsh-syntax-highlighting";
 
         highlighters = mkOption {
           default = [ "main" ];
@@ -38,13 +32,13 @@ in
         };
 
         patterns = mkOption {
-          default = [];
-          type = types.listOf(types.listOf(types.string));
+          default = {};
+          type = types.attrsOf types.string;
 
           example = literalExample ''
-            [
-              ["rm -rf *" "fg=white,bold,bg=red"]
-            ]
+            {
+              "rm -rf *" = "fg=white,bold,bg=red";
+            }
           '';
 
           description = ''
@@ -67,14 +61,17 @@ in
           "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
         }
 
-        ${optionalString (length(cfg.patterns) > 0)
-          (assert(elem "pattern" cfg.highlighters); (foldl (
-            a: b:
-              assert(length(b) == 2); ''
-                ${a}
-                ZSH_HIGHLIGHT_PATTERNS+=('${elemAt b 0}' '${elemAt b 1}')
-              ''
-          ) "") cfg.patterns)
+        ${let
+            n = attrNames cfg.patterns;
+          in
+            optionalString (length(n) > 0)
+              (assert(elem "pattern" cfg.highlighters); (foldl (
+                a: b:
+                  ''
+                    ${a}
+                    ZSH_HIGHLIGHT_PATTERNS+=('${b}' '${attrByPath [b] "" cfg.patterns}')
+                  ''
+              ) "") n)
         }
       '';
     };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 3b64feeaa90..c3fb5758ede 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -210,5 +210,9 @@ with lib;
     (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
     (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
     (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
   ];
 }
diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix
index 321b9f7f375..a40c5ef9ebe 100644
--- a/nixos/modules/security/acme.nix
+++ b/nixos/modules/security/acme.nix
@@ -13,7 +13,7 @@ let
         description = ''
           Where the webroot of the HTTP vhost is located.
           <filename>.well-known/acme-challenge/</filename> directory
-          will be created automatically if it doesn't exist.
+          will be created below the webroot if it doesn't exist.
           <literal>http://example.org/.well-known/acme-challenge/</literal> must also
           be available (notice unencrypted HTTP).
         '';
@@ -46,7 +46,10 @@ let
       allowKeysForGroup = mkOption {
         type = types.bool;
         default = false;
-        description = "Give read permissions to the specified group to read SSL private certificates.";
+        description = ''
+          Give read permissions to the specified group
+          (<option>security.acme.group</option>) to read SSL private certificates.
+        '';
       };
 
       postRun = mkOption {
@@ -65,21 +68,24 @@ let
           "cert.der" "cert.pem" "chain.pem" "external.sh"
           "fullchain.pem" "full.pem" "key.der" "key.pem" "account_key.json"
         ]);
-        default = [ "fullchain.pem" "key.pem" "account_key.json" ];
+        default = [ "fullchain.pem" "full.pem" "key.pem" "account_key.json" ];
         description = ''
           Plugins to enable. With default settings simp_le will
-          store public certificate bundle in <filename>fullchain.pem</filename>
-          and private key in <filename>key.pem</filename> in its state directory.
+          store public certificate bundle in <filename>fullchain.pem</filename>,
+          private key in <filename>key.pem</filename> and those two previous
+          files combined in <filename>full.pem</filename> in its state directory.
         '';
       };
 
       extraDomains = mkOption {
         type = types.attrsOf (types.nullOr types.str);
         default = {};
-        example = {
-          "example.org" = "/srv/http/nginx";
-          "mydomain.org" = null;
-        };
+        example = literalExample ''
+          {
+            "example.org" = "/srv/http/nginx";
+            "mydomain.org" = null;
+          }
+        '';
         description = ''
           Extra domain names for which certificates are to be issued, with their
           own server roots if needed.
@@ -139,17 +145,19 @@ in
         description = ''
           Attribute set of certificates to get signed and renewed.
         '';
-        example = {
-          "example.com" = {
-            webroot = "/var/www/challenges/";
-            email = "foo@example.com";
-            extraDomains = { "www.example.com" = null; "foo.example.com" = "/var/www/foo/"; };
-          };
-          "bar.example.com" = {
-            webroot = "/var/www/challenges/";
-            email = "bar@example.com";
-          };
-        };
+        example = literalExample ''
+          {
+            "example.com" = {
+              webroot = "/var/www/challenges/";
+              email = "foo@example.com";
+              extraDomains = { "www.example.com" = null; "foo.example.com" = "/var/www/foo/"; };
+            };
+            "bar.example.com" = {
+              webroot = "/var/www/challenges/";
+              email = "bar@example.com";
+            };
+          }
+        '';
       };
     };
   };
@@ -238,6 +246,9 @@ in
                       mv $workdir/server.key ${cpath}/key.pem
                       mv $workdir/server.crt ${cpath}/fullchain.pem
 
+                      # Create full.pem for e.g. lighttpd (same format as "simp_le ... -f full.pem" creates)
+                      cat "${cpath}/key.pem" "${cpath}/fullchain.pem" > "${cpath}/full.pem"
+
                       # Clean up working directory
                       rm $workdir/server.csr
                       rm $workdir/server.pass.key
@@ -247,6 +258,8 @@ in
                       chown '${data.user}:${data.group}' '${cpath}/key.pem'
                       chmod ${rights} '${cpath}/fullchain.pem'
                       chown '${data.user}:${data.group}' '${cpath}/fullchain.pem'
+                      chmod ${rights} '${cpath}/full.pem'
+                      chown '${data.user}:${data.group}' '${cpath}/full.pem'
                     '';
                   serviceConfig = {
                     Type = "oneshot";
@@ -275,15 +288,14 @@ in
                 )
               );
           servicesAttr = listToAttrs services;
-          nginxAttr = {
-            nginx = {
-              after = [ "acme-selfsigned-certificates.target" ];
-              wants = [ "acme-selfsigned-certificates.target" "acme-certificates.target" ];
-            };
+          injectServiceDep = {
+            after = [ "acme-selfsigned-certificates.target" ];
+            wants = [ "acme-selfsigned-certificates.target" "acme-certificates.target" ];
           };
         in
           servicesAttr //
-          (if config.services.nginx.enable then nginxAttr else {});
+          (if config.services.nginx.enable then { nginx = injectServiceDep; } else {}) //
+          (if config.services.lighttpd.enable then { lighttpd = injectServiceDep; } else {});
 
       systemd.timers = flip mapAttrs' cfg.certs (cert: data: nameValuePair
         ("acme-${cert}")
diff --git a/nixos/modules/service-managers/docker.nix b/nixos/modules/service-managers/docker.nix
new file mode 100644
index 00000000000..8e9c763b18a
--- /dev/null
+++ b/nixos/modules/service-managers/docker.nix
@@ -0,0 +1,29 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.docker-containers;
+
+  containerModule = {
+    script = mkOption {
+      type = types.lines;
+      description = "Shell commands executed as the service's main process.";
+    };
+  };
+
+  toContainer = name: value: pkgs.dockerTools.buildImage {
+    inherit name;
+    config = {
+      Cmd = [ value.script ];
+    };
+  };
+in {
+  options.docker-containers = mkOption {
+    default = {};
+    type = with types; attrsOf (types.submodule containerModule);
+    description = "Definition of docker containers";
+  };
+
+  config.system.build.toplevel-docker = lib.mapAttrs toContainer cfg;
+}
diff --git a/nixos/modules/service-managers/trivial.nix b/nixos/modules/service-managers/trivial.nix
new file mode 100644
index 00000000000..77e615d1e2e
--- /dev/null
+++ b/nixos/modules/service-managers/trivial.nix
@@ -0,0 +1,35 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.trivial-services;
+
+  serviceModule.options = {
+    script = mkOption {
+      type = types.lines;
+      description = "Shell commands executed as the service's main process.";
+    };
+
+    environment = mkOption {
+      default = {};
+      type = types.attrs; # FIXME
+      example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
+      description = "Environment variables passed to the service's processes.";
+    };
+  };
+
+  launcher = name: value: pkgs.writeScript name ''
+    #!${pkgs.stdenv.shell} -eu
+
+    ${pkgs.writeScript "${name}-entry" value.script}
+  '';
+in {
+  options.trivial-services = mkOption {
+    default = {};
+    type = with types; attrsOf (types.submodule serviceModule);
+    description = "Definition of trivial services";
+  };
+
+  config.system.build.toplevel-trivial = lib.mapAttrs launcher cfg;
+}
diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix
index a980ac1b3b0..8c5af80c8fb 100644
--- a/nixos/modules/services/backup/znapzend.nix
+++ b/nixos/modules/services/backup/znapzend.nix
@@ -9,6 +9,26 @@ in
   options = {
     services.znapzend = {
       enable = mkEnableOption "ZnapZend daemon";
+
+      logLevel = mkOption {
+        default = "debug";
+        example = "warning";
+        type = lib.types.enum ["debug" "info" "warning" "err" "alert"];
+        description = "The log level when logging to file. Any of debug, info, warning, err, alert. Default in daemonized form is debug.";
+      };
+
+      logTo = mkOption {
+        type = types.str;
+        default = "syslog::daemon";
+        example = "/var/log/znapzend.log";
+        description = "Where to log to (syslog::&lt;facility&gt; or &lt;filepath&gt;).";
+      };
+
+      noDestroy = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Does all changes to the filesystem except destroy";
+      };
     };
   };
 
@@ -24,8 +44,9 @@ in
         path = with pkgs; [ zfs mbuffer openssh ];
 
         serviceConfig = {
-          ExecStart = "${pkgs.znapzend}/bin/znapzend";
+          ExecStart = "${pkgs.znapzend}/bin/znapzend --logto=${cfg.logTo} --loglevel=${cfg.logLevel} ${optionalString cfg.noDestroy "--nodestroy"}";
           ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          Restart = "on-failure";
         };
       };
     };
diff --git a/nixos/modules/services/cluster/kubernetes.nix b/nixos/modules/services/cluster/kubernetes.nix
index f58306ab63e..68917af5094 100644
--- a/nixos/modules/services/cluster/kubernetes.nix
+++ b/nixos/modules/services/cluster/kubernetes.nix
@@ -40,7 +40,7 @@ let
   });
 
   policyFile = pkgs.writeText "kube-policy"
-    concatStringsSep "\n" (map (builtins.toJSON cfg.apiserver.authorizationPolicy));
+    (concatStringsSep "\n" (map builtins.toJSON cfg.apiserver.authorizationPolicy));
 
   cniConfig = pkgs.buildEnv {
     name = "kubernetes-cni-config";
diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix
index 244aae44596..fe0c452d067 100644
--- a/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -235,6 +235,6 @@ in {
     };
   };
 
-  meta.maintainers = with lib.maintainers; [ nand0p Mic92 ];
+  meta.maintainers = with lib.maintainers; [ nand0p mic92 ];
 
 }
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index fcf1f123cfb..bae6b170c47 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -72,7 +72,7 @@ in
 
       dataDir = mkOption {
         type = types.path;
-        default = "/var/mysql"; # !!! should be /var/db/mysql
+        example = "/var/lib/mysql";
         description = "Location where MySQL stores its table files";
       };
 
@@ -166,6 +166,10 @@ in
 
   config = mkIf config.services.mysql.enable {
 
+    services.mysql.dataDir =
+      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql"
+                 else "/var/mysql");
+
     users.extraUsers.mysql = {
       description = "MySQL server user";
       group = "mysql";
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 24ef4637ec9..d06e03a5297 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -38,6 +38,10 @@ let
 
   pre84 = versionOlder (builtins.parseDrvName postgresql.name).version "8.4";
 
+  # NixOS traditionally used `root` as superuser, most other distros use `postgres`. From 17.09
+  # we also try to follow this standard
+  superuser = (if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root");
+
 in
 
 {
@@ -74,7 +78,7 @@ in
 
       dataDir = mkOption {
         type = types.path;
-        default = "/var/db/postgresql";
+        example = "/var/lib/postgresql/9.6";
         description = ''
           Data directory for PostgreSQL.
         '';
@@ -160,7 +164,13 @@ in
       # Note: when changing the default, make it conditional on
       # ‘system.stateVersion’ to maintain compatibility with existing
       # systems!
-      mkDefault (if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95 else pkgs.postgresql94);
+      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96
+            else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95
+            else pkgs.postgresql94);
+
+    services.postgresql.dataDir =
+      mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
+                 else "/var/db/postgresql");
 
     services.postgresql.authentication = mkAfter
       ''
@@ -205,7 +215,7 @@ in
           ''
             # Initialise the database.
             if ! test -e ${cfg.dataDir}/PG_VERSION; then
-              initdb -U root
+              initdb -U ${superuser}
               # See postStart!
               touch "${cfg.dataDir}/.first_startup"
             fi
@@ -237,14 +247,14 @@ in
         # Wait for PostgreSQL to be ready to accept connections.
         postStart =
           ''
-            while ! psql --port=${toString cfg.port} postgres -c "" 2> /dev/null; do
+            while ! ${pkgs.sudo}/bin/sudo -u ${superuser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
                 if ! kill -0 "$MAINPID"; then exit 1; fi
                 sleep 0.1
             done
 
             if test -e "${cfg.dataDir}/.first_startup"; then
               ${optionalString (cfg.initialScript != null) ''
-                psql -f "${cfg.initialScript}" --port=${toString cfg.port} postgres
+                ${pkgs.sudo}/bin/sudo -u ${superuser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
               ''}
               rm -f "${cfg.dataDir}/.first_startup"
             fi
diff --git a/nixos/modules/services/logging/SystemdJournal2Gelf.nix b/nixos/modules/services/logging/SystemdJournal2Gelf.nix
new file mode 100644
index 00000000000..e90d9e7a12b
--- /dev/null
+++ b/nixos/modules/services/logging/SystemdJournal2Gelf.nix
@@ -0,0 +1,59 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.services.SystemdJournal2Gelf;
+in
+
+{ options = {
+    services.SystemdJournal2Gelf = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable SystemdJournal2Gelf.
+        '';
+      };
+
+      graylogServer = mkOption {
+        type = types.string;
+        example = "graylog2.example.com:11201";
+        description = ''
+          Host and port of your graylog2 input. This should be a GELF
+          UDP input.
+        '';
+      };
+
+      extraOptions = mkOption {
+        type = types.string;
+        default = "";
+        description = ''
+          Any extra flags to pass to SystemdJournal2Gelf. Note that
+          these are basically <literal>journalctl</literal> flags.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.systemd-journal2gelf;
+        description = ''
+          SystemdJournal2Gelf package to use.
+        '';
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.SystemdJournal2Gelf = {
+      description = "SystemdJournal2Gelf";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/SystemdJournal2Gelf ${cfg.graylogServer} --follow ${cfg.extraOptions}";
+        Restart = "on-failure";
+        RestartSec = "30";
+      };
+    };
+  };
+}
\ No newline at end of file
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index c9477b9e3ab..b4abd2cd7e5 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -4,17 +4,46 @@ with lib;
 
 let
   cfg = config.services.logstash;
+  atLeast54 = versionAtLeast (builtins.parseDrvName cfg.package.name).version "5.4";
   pluginPath = lib.concatStringsSep ":" cfg.plugins;
   havePluginPath = lib.length cfg.plugins > 0;
   ops = lib.optionalString;
-  verbosityFlag = {
-    debug = "--debug";
-    info  = "--verbose";
-    warn  = ""; # intentionally empty
-    error = "--quiet";
-    fatal = "--silent";
-  }."${cfg.logLevel}";
-
+  verbosityFlag =
+    if atLeast54
+    then "--log.level " + cfg.logLevel
+    else {
+      debug = "--debug";
+      info  = "--verbose";
+      warn  = ""; # intentionally empty
+      error = "--quiet";
+      fatal = "--silent";
+    }."${cfg.logLevel}";
+
+  pluginsPath =
+    if atLeast54
+    then "--path.plugins ${pluginPath}"
+    else "--pluginpath ${pluginPath}";
+
+  logstashConf = pkgs.writeText "logstash.conf" ''
+    input {
+      ${cfg.inputConfig}
+    }
+
+    filter {
+      ${cfg.filterConfig}
+    }
+
+    output {
+      ${cfg.outputConfig}
+    }
+  '';
+
+  logstashSettingsYml = pkgs.writeText "logstash.yml" cfg.extraSettings;
+
+  logstashSettingsDir = pkgs.runCommand "logstash-settings" {inherit logstashSettingsYml;} ''
+    mkdir -p $out
+    ln -s $logstashSettingsYml $out/logstash.yml
+  '';
 in
 
 {
@@ -45,6 +74,15 @@ in
         description = "The paths to find other logstash plugins in.";
       };
 
+      dataDir = mkOption {
+        type = types.str;
+        default = "/var/lib/logstash";
+        description = ''
+          A path to directory writable by logstash that it uses to store data.
+          Plugins will also have access to this path.
+        '';
+      };
+
       logLevel = mkOption {
         type = types.enum [ "debug" "info" "warn" "error" "fatal" ];
         default = "warn";
@@ -116,6 +154,19 @@ in
         '';
       };
 
+      extraSettings = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Extra Logstash settings in YAML format.";
+        example = ''
+          pipeline:
+            batch:
+              size: 125
+              delay: 5
+        '';
+      };
+
+
     };
   };
 
@@ -123,31 +174,34 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
+    assertions = [
+      { assertion = atLeast54 -> !cfg.enableWeb;
+        message = ''
+          The logstash web interface is only available for versions older than 5.4.
+          So either set services.logstash.enableWeb = false,
+          or set services.logstash.package to an older logstash.
+        '';
+      }
+    ];
+
     systemd.services.logstash = with pkgs; {
       description = "Logstash Daemon";
       wantedBy = [ "multi-user.target" ];
       environment = { JAVA_HOME = jre; };
       path = [ pkgs.bash ];
       serviceConfig = {
-        ExecStart =
-          "${cfg.package}/bin/logstash agent " +
-          "-w ${toString cfg.filterWorkers} " +
-          ops havePluginPath "--pluginpath ${pluginPath} " +
-          "${verbosityFlag} " +
-          "-f ${writeText "logstash.conf" ''
-            input {
-              ${cfg.inputConfig}
-            }
-
-            filter {
-              ${cfg.filterConfig}
-            }
-
-            output {
-              ${cfg.outputConfig}
-            }
-          ''} " +
-          ops cfg.enableWeb "-- web -a ${cfg.listenAddress} -p ${cfg.port}";
+        ExecStartPre = ''${pkgs.coreutils}/bin/mkdir -p "${cfg.dataDir}" ; ${pkgs.coreutils}/bin/chmod 700 "${cfg.dataDir}"'';
+        ExecStart = concatStringsSep " " (filter (s: stringLength s != 0) [
+          "${cfg.package}/bin/logstash"
+          (ops (!atLeast54) "agent")
+          "-w ${toString cfg.filterWorkers}"
+          (ops havePluginPath pluginsPath)
+          "${verbosityFlag}"
+          "-f ${logstashConf}"
+          (ops atLeast54 "--path.settings ${logstashSettingsDir}")
+          (ops atLeast54 "--path.data ${cfg.dataDir}")
+          (ops cfg.enableWeb "-- web -a ${cfg.listenAddress} -p ${cfg.port}")
+        ]);
       };
     };
   };
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index 4a01745eb8b..b6439b44fb5 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -4,6 +4,8 @@ with lib;
 
 let
 
+  concatMapLines = f: l: lib.concatStringsSep "\n" (map f l);
+
   cfg = config.services.mlmmj;
   stateDir = "/var/lib/mlmmj";
   spoolDir = "/var/spool/mlmmj";
@@ -16,13 +18,24 @@ let
   listAddress = domain: list: "${list}@${domain}";
   customHeaders = domain: list: [ "List-Id: ${list}" "Reply-To: ${list}@${domain}" ];
   footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}";
-  createList = d: l: ''
-    ${pkgs.coreutils}/bin/mkdir -p ${listCtl d l}
-    echo ${listAddress d l} > ${listCtl d l}/listaddress
-    echo "${lib.concatStringsSep "\n" (customHeaders d l)}" > ${listCtl d l}/customheaders
-    echo ${footer d l} > ${listCtl d l}/footer
-    echo ${subjectPrefix l} > ${listCtl d l}/prefix
-  '';
+  createList = d: l:
+    let ctlDir = listCtl d l; in
+    ''
+      for DIR in incoming queue queue/discarded archive text subconf unsubconf \
+                 bounce control moderation subscribers.d digesters.d requeue \
+                 nomailsubs.d
+      do
+             mkdir -p '${listDir d l}'/"$DIR"
+      done
+      ${pkgs.coreutils}/bin/mkdir -p ${ctlDir}
+      echo ${listAddress d l} > '${ctlDir}/listaddress'
+      [ ! -e ${ctlDir}/customheaders ] && \
+          echo "${lib.concatStringsSep "\n" (customHeaders d l)}" > '${ctlDir}/customheaders'
+      [ ! -e ${ctlDir}/footer ] && \
+          echo ${footer d l} > '${ctlDir}/footer'
+      [ ! -e ${ctlDir}/prefix ] && \
+          echo ${subjectPrefix l} > '${ctlDir}/prefix'
+    '';
 in
 
 {
@@ -63,6 +76,16 @@ in
         description = "The collection of hosted maillists";
       };
 
+      maintInterval = mkOption {
+        type = types.str;
+        default = "20min";
+        description = ''
+          Time interval between mlmmj-maintd runs, see
+          <citerefentry><refentrytitle>systemd.time</refentrytitle>
+          <manvolnum>7</manvolnum></citerefentry> for format information.
+        '';
+      };
+
     };
 
   };
@@ -93,7 +116,7 @@ in
         mlmmj unix - n n - - pipe flags=ORhu user=mlmmj argv=${pkgs.mlmmj}/bin/mlmmj-receive -F -L ${spoolDir}/$nexthop
       '';
 
-      extraAliases = concatMapStrings (alias cfg.listDomain) cfg.mailLists;
+      extraAliases = concatMapLines (alias cfg.listDomain) cfg.mailLists;
 
       extraConfig = ''
         transport_maps = hash:${stateDir}/transports
@@ -107,17 +130,15 @@ in
     system.activationScripts.mlmmj = ''
           ${pkgs.coreutils}/bin/mkdir -p ${stateDir} ${spoolDir}/${cfg.listDomain}
           ${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${spoolDir}
-          ${lib.concatMapStrings (createList cfg.listDomain) cfg.mailLists}
-          echo ${lib.concatMapStrings (virtual cfg.listDomain) cfg.mailLists} > ${stateDir}/virtuals
-          echo ${lib.concatMapStrings (transport cfg.listDomain) cfg.mailLists} > ${stateDir}/transports
+          ${concatMapLines (createList cfg.listDomain) cfg.mailLists}
+          echo "${concatMapLines (virtual cfg.listDomain) cfg.mailLists}" > ${stateDir}/virtuals
+          echo "${concatMapLines (transport cfg.listDomain) cfg.mailLists}" > ${stateDir}/transports
           ${pkgs.postfix}/bin/postmap ${stateDir}/virtuals
           ${pkgs.postfix}/bin/postmap ${stateDir}/transports
       '';
 
     systemd.services."mlmmj-maintd" = {
       description = "mlmmj maintenance daemon";
-      wantedBy = [ "multi-user.target" ];
-
       serviceConfig = {
         User = cfg.user;
         Group = cfg.group;
@@ -125,6 +146,11 @@ in
       };
     };
 
+    systemd.timers."mlmmj-maintd" = {
+      description = "mlmmj maintenance timer";
+      timerConfig.OnUnitActiveSec = cfg.maintInterval;
+      wantedBy = [ "timers.target" ];
+    };
   };
 
 }
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix
index 08953134b3b..fc8396cd85e 100644
--- a/nixos/modules/services/mail/spamassassin.nix
+++ b/nixos/modules/services/mail/spamassassin.nix
@@ -3,43 +3,129 @@
 with lib;
 
 let
-
   cfg = config.services.spamassassin;
+  spamassassin-local-cf = pkgs.writeText "local.cf" cfg.config;
+  spamassassin-init-pre = pkgs.writeText "init.pre" cfg.initPreConf;
+
+  spamdEnv = pkgs.buildEnv {
+    name = "spamd-env";
+    paths = [];
+    postBuild = ''
+      ln -sf ${spamassassin-init-pre} $out/init.pre
+      ln -sf ${spamassassin-local-cf} $out/local.cf
+    '';
+  };
 
 in
 
 {
-
-  ###### interface
-
   options = {
 
     services.spamassassin = {
-
       enable = mkOption {
         default = false;
-        description = "Whether to run the SpamAssassin daemon.";
+        description = "Whether to run the SpamAssassin daemon";
       };
 
       debug = mkOption {
         default = false;
-        description = "Whether to run the SpamAssassin daemon in debug mode.";
+        description = "Whether to run the SpamAssassin daemon in debug mode";
       };
 
-    };
+      config = mkOption {
+        type = types.lines;
+        description = ''
+          The SpamAssassin local.cf config
+
+          If you are using this configuration:
+            add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ version=_VERSION_
+
+          Then you can Use this sieve filter:
+            require ["fileinto", "reject", "envelope"];
+            
+            if header :contains "X-Spam-Flag" "YES" {
+              fileinto "spam";
+            }
+
+          Or this procmail filter:
+            :0:
+            * ^X-Spam-Flag: YES
+            /var/vpopmail/domains/lastlog.de/js/.maildir/.spam/new
+
+          To filter your messages based on the additional mail headers added by spamassassin.
+        '';
+        example = ''
+          #rewrite_header Subject [***** SPAM _SCORE_ *****]
+          required_score          5.0
+          use_bayes               1
+          bayes_auto_learn        1
+          add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ version=_VERSION_
+        '';
+        default = "";
+      };
 
+      initPreConf = mkOption {
+        type = types.str;
+        description = "The SpamAssassin init.pre config.";
+        default = 
+        ''          
+          #
+          # to update this list, run this command in the rules directory:
+          # grep 'loadplugin.*Mail::SpamAssassin::Plugin::.*' -o -h * | sort | uniq     
+          #
+
+          #loadplugin Mail::SpamAssassin::Plugin::AccessDB
+          #loadplugin Mail::SpamAssassin::Plugin::AntiVirus
+          loadplugin Mail::SpamAssassin::Plugin::AskDNS
+          # loadplugin Mail::SpamAssassin::Plugin::ASN
+          loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
+          #loadplugin Mail::SpamAssassin::Plugin::AWL
+          loadplugin Mail::SpamAssassin::Plugin::Bayes
+          loadplugin Mail::SpamAssassin::Plugin::BodyEval
+          loadplugin Mail::SpamAssassin::Plugin::Check
+          #loadplugin Mail::SpamAssassin::Plugin::DCC
+          loadplugin Mail::SpamAssassin::Plugin::DKIM
+          loadplugin Mail::SpamAssassin::Plugin::DNSEval
+          loadplugin Mail::SpamAssassin::Plugin::FreeMail
+          loadplugin Mail::SpamAssassin::Plugin::Hashcash
+          loadplugin Mail::SpamAssassin::Plugin::HeaderEval
+          loadplugin Mail::SpamAssassin::Plugin::HTMLEval
+          loadplugin Mail::SpamAssassin::Plugin::HTTPSMismatch
+          loadplugin Mail::SpamAssassin::Plugin::ImageInfo
+          loadplugin Mail::SpamAssassin::Plugin::MIMEEval
+          loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
+          # loadplugin Mail::SpamAssassin::Plugin::PDFInfo
+          #loadplugin Mail::SpamAssassin::Plugin::PhishTag
+          loadplugin Mail::SpamAssassin::Plugin::Pyzor
+          loadplugin Mail::SpamAssassin::Plugin::Razor2
+          # loadplugin Mail::SpamAssassin::Plugin::RelayCountry
+          loadplugin Mail::SpamAssassin::Plugin::RelayEval
+          loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
+          # loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody
+          # loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
+          loadplugin Mail::SpamAssassin::Plugin::SpamCop
+          loadplugin Mail::SpamAssassin::Plugin::SPF
+          #loadplugin Mail::SpamAssassin::Plugin::TextCat
+          # loadplugin Mail::SpamAssassin::Plugin::TxRep
+          loadplugin Mail::SpamAssassin::Plugin::URIDetail
+          loadplugin Mail::SpamAssassin::Plugin::URIDNSBL
+          loadplugin Mail::SpamAssassin::Plugin::URIEval
+          # loadplugin Mail::SpamAssassin::Plugin::URILocalBL
+          loadplugin Mail::SpamAssassin::Plugin::VBounce
+          loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
+          loadplugin Mail::SpamAssassin::Plugin::WLBLEval
+        '';
+      };
+    };
   };
 
-
-  ###### implementation
-
   config = mkIf cfg.enable {
 
     # Allow users to run 'spamc'.
     environment.systemPackages = [ pkgs.spamassassin ];
 
     users.extraUsers = singleton {
-    name = "spamd";
+      name = "spamd";
       description = "Spam Assassin Daemon";
       uid = config.ids.uids.spamd;
       group = "spamd";
@@ -50,13 +136,65 @@ in
       gid = config.ids.gids.spamd;
     };
 
+    systemd.services.sa-update = {
+      script = ''
+        set +e 
+        ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/ --siteconfigpath=${spamdEnv}/" spamd
+
+        v=$?
+        set -e
+        if [ $v -gt 1 ]; then
+          echo "sa-update execution error"
+          exit $v
+        fi
+        if [ $v -eq 0 ]; then
+          systemctl reload spamd.service
+        fi
+      '';
+    };
+
+    systemd.timers.sa-update = { 
+      description = "sa-update-service";
+      partOf      = [ "sa-update.service" ];
+      wantedBy    = [ "timers.target" ];
+      timerConfig = {
+        OnCalendar = "1:*";
+        Persistent = true;
+      };
+    };
+
     systemd.services.spamd = {
       description = "Spam Assassin Server";
 
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
 
-      script = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --nouser-config --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/var/run/spamd.pid";
+      serviceConfig = {
+        ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --siteconfigpath=${spamdEnv} --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/var/run/spamd.pid";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+
+      # 0 and 1 no error, exitcode > 1 means error:
+      # https://spamassassin.apache.org/full/3.1.x/doc/sa-update.html#exit_codes
+      preStart = ''
+        # this abstraction requires no centralized config at all
+        if [ -d /etc/spamassassin ]; then
+          echo "This spamassassin does not support global '/etc/spamassassin' folder for configuration as this would be impure. Merge your configs into 'services.spamassassin' and remove the '/etc/spamassassin' folder to make this service work. Also see 'https://github.com/NixOS/nixpkgs/pull/26470'."; 
+          exit 1
+        fi
+        echo "Recreating '/var/lib/spamasassin' with creating '3.004001' (or similar) and 'sa-update-keys'"
+        mkdir -p /var/lib/spamassassin
+        chown spamd:spamd /var/lib/spamassassin -R
+        set +e 
+        ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/ --siteconfigpath=${spamdEnv}/" spamd
+        v=$?
+        set -e
+        if [ $v -gt 1 ]; then
+          echo "sa-update execution error"
+          exit $v
+        fi
+        chown spamd:spamd /var/lib/spamassassin -R
+      '';
     };
   };
 }
diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix
index 6746f3fec69..792a4c8375d 100644
--- a/nixos/modules/services/misc/autorandr.nix
+++ b/nixos/modules/services/misc/autorandr.nix
@@ -22,19 +22,9 @@ in {
 
     environment.systemPackages = [ pkgs.autorandr ];
 
-    # systemd.unitPackages = [ pkgs.autorandr ];
+    systemd.packages = [ pkgs.autorandr ];
+
     systemd.services.autorandr = {
-      unitConfig = {
-        Description = "autorandr execution hook";
-        After = [ "sleep.target" ];
-        StartLimitInterval = "5";
-        StartLimitBurst = "1";
-      };
-      serviceConfig = {
-        ExecStart = "${pkgs.autorandr}/bin/autorandr --batch --change --default default";
-        Type = "oneshot";
-        RemainAfterExit = false;
-      };
       wantedBy = [ "sleep.target" ];
     };
 
diff --git a/nixos/modules/services/misc/errbot.nix b/nixos/modules/services/misc/errbot.nix
index 427cb7c546d..cb2fa677624 100644
--- a/nixos/modules/services/misc/errbot.nix
+++ b/nixos/modules/services/misc/errbot.nix
@@ -84,7 +84,7 @@ in {
       dataDir = if !isNull instanceCfg.dataDir then instanceCfg.dataDir else
         "/var/lib/errbot/${name}";
     in {
-      after = [ "network.target" ];
+      after = [ "network-online.target" ];
       wantedBy = [ "multi-user.target" ];
       preStart = ''
         mkdir -p ${dataDir}
diff --git a/nixos/modules/services/misc/fstrim.nix b/nixos/modules/services/misc/fstrim.nix
new file mode 100644
index 00000000000..e89366cbafe
--- /dev/null
+++ b/nixos/modules/services/misc/fstrim.nix
@@ -0,0 +1,45 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.fstrim;
+
+in {
+
+  options = {
+
+    services.fstrim = {
+      enable = mkEnableOption "periodic SSD TRIM of mounted partitions in background";
+
+      interval = mkOption {
+        type = types.string;
+        default = "weekly";
+        description = ''
+          How often we run fstrim. For most desktop and server systems
+          a sufficient trimming frequency is once a week.
+
+          The format is described in
+          <citerefentry><refentrytitle>systemd.time</refentrytitle>
+          <manvolnum>7</manvolnum></citerefentry>.
+        '';
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.packages = [ pkgs.utillinux ];
+
+    systemd.timers.fstrim = {
+      timerConfig = {
+        OnCalendar = cfg.interval;
+      };
+      wantedBy = [ "timers.target" ];
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/monitoring/arbtt.nix b/nixos/modules/services/monitoring/arbtt.nix
index a8d5e3b7fa0..b41a3c7b501 100644
--- a/nixos/modules/services/monitoring/arbtt.nix
+++ b/nixos/modules/services/monitoring/arbtt.nix
@@ -48,7 +48,8 @@ in {
   config = mkIf cfg.enable {
     systemd.user.services.arbtt = {
       description = "arbtt statistics capture service";
-      wantedBy = [ "default.target" ];
+      wantedBy = [ "graphical-session.target" ];
+      partOf = [ "graphical-session.target" ];
 
       serviceConfig = {
         Type = "simple";
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index 6b24ac2c7c6..332a04634d0 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -488,9 +488,7 @@ in {
             # create index
             ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
 
-            chown graphite:graphite ${cfg.dataDir}
-            chown graphite:graphite ${cfg.dataDir}/whisper
-            chown -R graphite:graphite ${cfg.dataDir}/log
+            chown -R graphite:graphite ${cfg.dataDir}
 
             touch ${dataDir}/db-created
           fi
diff --git a/nixos/modules/services/network-filesystems/glusterfs.nix b/nixos/modules/services/network-filesystems/glusterfs.nix
index a2f2c033951..f7fed793066 100644
--- a/nixos/modules/services/network-filesystems/glusterfs.nix
+++ b/nixos/modules/services/network-filesystems/glusterfs.nix
@@ -3,7 +3,7 @@
 with lib;
 
 let
-  inherit (pkgs) glusterfs;
+  inherit (pkgs) glusterfs rsync;
 
   cfg = config.services.glusterfs;
 
@@ -50,8 +50,11 @@ in
       after = [ "rpcbind.service" "network.target" "local-fs.target" ];
       before = [ "network-online.target" ];
 
+      # The copying of hooks is due to upstream bug https://bugzilla.redhat.com/show_bug.cgi?id=1452761
       preStart = ''
         install -m 0755 -d /var/log/glusterfs
+        mkdir -p /var/lib/glusterd/hooks/
+        ${rsync}/bin/rsync -a ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
       '';
 
       serviceConfig = {
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index bd46147c6bc..10c1d751ac5 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -9,7 +9,10 @@ let
 
   ipfsFlags = ''${if cfg.autoMigrate then "--migrate" else ""} ${if cfg.enableGC then "--enable-gc" else ""} ${toString cfg.extraFlags}'';
 
-  pathEnv = { IPFS_PATH = cfg.dataDir; };
+  # Before Version 17.09, ipfs would always use "/var/lib/ipfs/.ipfs" as it's dataDir
+  defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then
+    "/var/lib/ipfs" else
+    "/var/lib/ipfs/.ipfs";
 
   # Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment
   wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; } ''
@@ -42,7 +45,7 @@ in
 
       dataDir = mkOption {
         type = types.str;
-        default = "/var/lib/ipfs";
+        default = defaultDataDir;
         description = "The data dir for IPFS";
       };
 
@@ -117,16 +120,15 @@ in
       after = [ "local-fs.target" ];
       before = [ "ipfs.service" "ipfs-offline.service" ];
 
+      environment.IPFS_PATH = cfg.dataDir;
+
       path  = [ pkgs.ipfs pkgs.su pkgs.bash ];
 
       preStart = ''
         install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
       '';
-
-      environment = pathEnv;
-
       script =  ''
-        if [[ ! -d ${cfg.dataDir}/.ipfs ]]; then
+        if [[ ! -f ${cfg.dataDir}/config ]]; then
           ${ipfs}/bin/ipfs init ${optionalString cfg.emptyRepo "-e"}
         fi
         ${ipfs}/bin/ipfs --local config Addresses.API ${cfg.apiAddress}
@@ -151,9 +153,9 @@ in
       conflicts = [ "ipfs-offline.service" ];
       wants = [ "ipfs-init.service" ];
 
-      path  = [ pkgs.ipfs ];
+      environment.IPFS_PATH = cfg.dataDir;
 
-      environment = pathEnv;
+      path  = [ pkgs.ipfs ];
 
       serviceConfig = {
         ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags}";
@@ -172,9 +174,9 @@ in
       conflicts = [ "ipfs.service" ];
       wants = [ "ipfs-init.service" ];
 
-      path  = [ pkgs.ipfs ];
+      environment.IPFS_PATH = cfg.dataDir;
 
-      environment = pathEnv;
+      path  = [ pkgs.ipfs ];
 
       serviceConfig = {
         ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags} --offline";
diff --git a/nixos/modules/services/network-filesystems/u9fs.nix b/nixos/modules/services/network-filesystems/u9fs.nix
index 8bc37f0f62c..4f37fc2a9e5 100644
--- a/nixos/modules/services/network-filesystems/u9fs.nix
+++ b/nixos/modules/services/network-filesystems/u9fs.nix
@@ -67,6 +67,7 @@ in
             StandardInput = "socket";
             StandardError = "journal";
             User = cfg.user;
+            AmbientCapabilities = "cap_setuid cap_setgid";
           };
       };
     };
diff --git a/nixos/modules/services/networking/aiccu.nix b/nixos/modules/services/networking/aiccu.nix
deleted file mode 100644
index ac755270951..00000000000
--- a/nixos/modules/services/networking/aiccu.nix
+++ /dev/null
@@ -1,185 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg = config.services.aiccu;
-  notNull = a: ! isNull a;
-  configFile = pkgs.writeText "aiccu.conf" ''
-    ${if notNull cfg.username then "username " + cfg.username else ""}
-    ${if notNull cfg.password then "password " + cfg.password else ""}
-    protocol ${cfg.protocol}
-    server ${cfg.server}
-    ipv6_interface ${cfg.interfaceName}
-    verbose ${boolToString cfg.verbose}
-    daemonize true
-    automatic ${boolToString cfg.automatic}
-    requiretls ${boolToString cfg.requireTLS}
-    pidfile ${cfg.pidFile}
-    defaultroute ${boolToString cfg.defaultRoute}
-    ${if notNull cfg.setupScript then cfg.setupScript else ""}
-    makebeats ${boolToString cfg.makeHeartBeats}
-    noconfigure ${boolToString cfg.noConfigure}
-    behindnat ${boolToString cfg.behindNAT}
-    ${if cfg.localIPv4Override then "local_ipv4_override" else ""}
-  '';
-
-in {
-
-  options = {
-
-    services.aiccu = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable aiccu IPv6 over IPv4 SiXXs tunnel";
-      };
-
-      username = mkOption {
-        type = with types; nullOr str;
-        default = null;
-        example = "FAB5-SIXXS";
-        description = "Login credential";
-      };
-
-      password = mkOption {
-        type = with types; nullOr str;
-        default = null;
-        example = "TmAkRbBEr0";
-        description = "Login credential";
-      };
-
-      protocol = mkOption {
-        type = types.str;
-        default = "tic";
-        example = "tic|tsp|l2tp";
-        description = "Protocol to use for setting up the tunnel";
-      };
-
-      server = mkOption {
-        type = types.str;
-        default = "tic.sixxs.net";
-        example = "enabled.ipv6server.net";
-        description = "Server to use for setting up the tunnel";
-      };
-
-      interfaceName = mkOption {
-        type = types.str;
-        default = "aiccu";
-        example = "sixxs";
-        description = ''
-          The name of the interface that will be used as a tunnel interface.
-          On *BSD the ipv6_interface should be set to gifX (eg gif0) for proto-41 tunnels
-          or tunX (eg tun0) for AYIYA tunnels.
-        '';
-      };
-
-      tunnelID = mkOption {
-        type = with types; nullOr str;
-        default = null;
-        example = "T12345";
-        description = "The tunnel id to use, only required when there are multiple tunnels in the list";
-      };
-
-      verbose = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Be verbose?";
-      };
-
-      automatic = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Automatic Login and Tunnel activation";
-      };
-
-      requireTLS = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          When set to true, if TLS is not supported on the server
-          the TIC transaction will fail.
-          When set to false, it will try a starttls, when that is
-          not supported it will continue.
-          In any case if AICCU is build with TLS support it will
-          try to do a 'starttls' to the TIC server to see if that
-          is supported.
-        '';
-      };
-
-      pidFile = mkOption {
-        type = types.path;
-        default = "/run/aiccu.pid";
-        example = "/var/lib/aiccu/aiccu.pid";
-        description = "Location of PID File";
-      };
-
-      defaultRoute = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Add a default route";
-      };
-
-      setupScript = mkOption {
-        type = with types; nullOr path;
-        default = null;
-        example = "/var/lib/aiccu/fix-subnets.sh";
-        description = "Script to run after setting up the interfaces";
-      };
-
-      makeHeartBeats = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          In general you don't want to turn this off
-          Of course only applies to AYIYA and heartbeat tunnels not to static ones
-        '';
-      };
-
-      noConfigure = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Don't configure anything";
-      };
-
-      behindNAT = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Notify the user that a NAT-kind network is detected";
-      };
-
-      localIPv4Override = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Overrides the IPv4 parameter received from TIC
-          This allows one to configure a NAT into "DMZ" mode and then
-          forwarding the proto-41 packets to an internal host.
-
-          This is only needed for static proto-41 tunnels!
-          AYIYA and heartbeat tunnels don't require this.
-        '';
-      };
-
-    };
-  };
-
-  config = mkIf cfg.enable {
-
-    systemd.services.aiccu = {
-      description = "Automatic IPv6 Connectivity Client Utility";
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        ExecStart = "${pkgs.aiccu}/bin/aiccu start ${configFile}";
-        ExecStop = "${pkgs.aiccu}/bin/aiccu stop";
-        Type = "forking";
-        PIDFile = cfg.pidFile;
-        Restart = "no"; # aiccu startup errors are serious, do not pound the tic server or be banned.
-      };
-    };
-
-  };
-}
diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix
index 0272b6ceff2..ca375c935e8 100644
--- a/nixos/modules/services/networking/bind.nix
+++ b/nixos/modules/services/networking/bind.nix
@@ -14,8 +14,8 @@ let
       acl badnetworks { ${concatMapStrings (entry: " ${entry}; ") cfg.blockedNetworks} };
 
       options {
-        listen-on {any;};
-        listen-on-v6 {any;};
+        listen-on { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOn} };
+        listen-on-v6 { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOnIpv6} };
         allow-query { cachenetworks; };
         blackhole { badnetworks; };
         forward first;
@@ -96,6 +96,22 @@ in
         ";
       };
 
+      listenOn = mkOption {
+        default = ["any"];
+        type = types.listOf types.str;
+        description = "
+          Interfaces to listen on.
+        ";
+      };
+
+      listenOnIpv6 = mkOption {
+        default = ["any"];
+        type = types.listOf types.str;
+        description = "
+          Ipv6 interfaces to listen on.
+        ";
+      };
+
       zones = mkOption {
         default = [];
         description = "
diff --git a/nixos/modules/services/networking/charybdis.nix b/nixos/modules/services/networking/charybdis.nix
index 2f7d006b881..c354ec61fe2 100644
--- a/nixos/modules/services/networking/charybdis.nix
+++ b/nixos/modules/services/networking/charybdis.nix
@@ -51,6 +51,17 @@ in
         '';
       };
 
+      motd = mkOption {
+        type = types.nullOr types.lines;
+        default = null;
+        description = ''
+          Charybdis MOTD text.
+
+          Charybdis will read its MOTD from /etc/charybdis/ircd.motd .
+          If set, the value of this option will be written to this path.
+        '';
+      };
+
     };
 
   };
@@ -58,39 +69,42 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.enable {
-
-    users.extraUsers = singleton {
-      name = cfg.user;
-      description = "Charybdis IRC daemon user";
-      uid = config.ids.uids.ircd;
-      group = cfg.group;
-    };
-
-    users.extraGroups = singleton {
-      name = cfg.group;
-      gid = config.ids.gids.ircd;
-    };
-
-    systemd.services.charybdis = {
-      description = "Charybdis IRC daemon";
-      wantedBy = [ "multi-user.target" ];
-      environment = {
-        BANDB_DBPATH = "${cfg.statedir}/ban.db";
+  config = mkIf cfg.enable (lib.mkMerge [
+    {
+      users.extraUsers = singleton {
+        name = cfg.user;
+        description = "Charybdis IRC daemon user";
+        uid = config.ids.uids.ircd;
+        group = cfg.group;
       };
-      serviceConfig = {
-        ExecStart   = "${charybdis}/bin/charybdis-ircd -foreground -logfile /dev/stdout -configfile ${configFile}";
-        Group = cfg.group;
-        User = cfg.user;
-        PermissionsStartOnly = true; # preStart needs to run with root permissions
-      };
-      preStart = ''
-        ${coreutils}/bin/mkdir -p ${cfg.statedir}
-        ${coreutils}/bin/chown ${cfg.user}:${cfg.group} ${cfg.statedir}
-      '';
 
-    };
+      users.extraGroups = singleton {
+        name = cfg.group;
+        gid = config.ids.gids.ircd;
+      };
 
-  };
+      systemd.services.charybdis = {
+        description = "Charybdis IRC daemon";
+        wantedBy = [ "multi-user.target" ];
+        environment = {
+          BANDB_DBPATH = "${cfg.statedir}/ban.db";
+        };
+        serviceConfig = {
+          ExecStart   = "${charybdis}/bin/charybdis-ircd -foreground -logfile /dev/stdout -configfile ${configFile}";
+          Group = cfg.group;
+          User = cfg.user;
+          PermissionsStartOnly = true; # preStart needs to run with root permissions
+        };
+        preStart = ''
+          ${coreutils}/bin/mkdir -p ${cfg.statedir}
+          ${coreutils}/bin/chown ${cfg.user}:${cfg.group} ${cfg.statedir}
+        '';
+      };
 
+    }
+    
+    (mkIf (cfg.motd != null) {
+      environment.etc."charybdis/ircd.motd".text = cfg.motd;
+    })
+  ]);
 }
diff --git a/nixos/modules/services/networking/cntlm.nix b/nixos/modules/services/networking/cntlm.nix
index 890ff508407..3978a1969ce 100644
--- a/nixos/modules/services/networking/cntlm.nix
+++ b/nixos/modules/services/networking/cntlm.nix
@@ -5,110 +5,122 @@ with lib;
 let
 
   cfg = config.services.cntlm;
-  uid = config.ids.uids.cntlm;
+
+  configFile = if cfg.configText != "" then
+    pkgs.writeText "cntlm.conf" ''
+      ${cfg.configText}
+    ''
+    else
+    pkgs.writeText "lighttpd.conf" ''
+      # Cntlm Authentication Proxy Configuration
+      Username ${cfg.username}
+      Domain ${cfg.domain}
+      Password ${cfg.password}
+      ${optionalString (cfg.netbios_hostname != "") "Workstation ${cfg.netbios_hostname}"}
+      ${concatMapStrings (entry: "Proxy ${entry}\n") cfg.proxy}
+      ${optionalString (cfg.noproxy != []) "NoProxy ${concatStringsSep ", " cfg.noproxy}"}
+
+      ${concatMapStrings (port: ''
+        Listen ${toString port}
+      '') cfg.port}
+
+      ${cfg.extraConfig}
+    '';
 
 in
 
 {
 
-  options = {
+  options.services.cntlm = {
 
-    services.cntlm = {
+    enable = mkOption {
+      default = false;
+      description = ''
+        Whether to enable the cntlm, which start a local proxy.
+      '';
+    };
 
-      enable = mkOption {
-        default = false;
-        description = ''
-          Whether to enable the cntlm, which start a local proxy.
-        '';
-      };
+    username = mkOption {
+      description = ''
+        Proxy account name, without the possibility to include domain name ('at' sign is interpreted literally).
+      '';
+    };
 
-      username = mkOption {
-        description = ''
-          Proxy account name, without the possibility to include domain name ('at' sign is interpreted literally).
-        '';
-      };
+    domain = mkOption {
+      description = ''Proxy account domain/workgroup name.'';
+    };
 
-      domain = mkOption {
-        description = ''Proxy account domain/workgroup name.'';
-      };
+    password = mkOption {
+      default = "/etc/cntlm.password";
+      type = types.str;
+      description = ''Proxy account password. Note: use chmod 0600 on /etc/cntlm.password for security.'';
+    };
 
-      password = mkOption {
-        default = "/etc/cntlm.password";
-        type = types.str;
-        description = ''Proxy account password. Note: use chmod 0600 on /etc/cntlm.password for security.'';
-      };
+    netbios_hostname = mkOption {
+      type = types.str;
+      default = "";
+      description = ''
+        The hostname of your machine.
+      '';
+    };
 
-      netbios_hostname = mkOption {
-        type = types.str;
-        description = ''
-          The hostname of your machine.
-        '';
-      };
+    proxy = mkOption {
+      description = ''
+        A list of NTLM/NTLMv2 authenticating HTTP proxies.
 
-      proxy = mkOption {
-        description = ''
-          A list of NTLM/NTLMv2 authenticating HTTP proxies.
+        Parent proxy, which requires authentication. The same as proxy on the command-line, can be used more than  once  to  specify  unlimited
+        number  of  proxies.  Should  one proxy fail, cntlm automatically moves on to the next one. The connect request fails only if the whole
+        list of proxies is scanned and (for each request) and found to be invalid. Command-line takes precedence over the configuration file.
+      '';
+      example = [ "proxy.example.com:81" ];
+    };
 
-          Parent proxy, which requires authentication. The same as proxy on the command-line, can be used more than  once  to  specify  unlimited
-          number  of  proxies.  Should  one proxy fail, cntlm automatically moves on to the next one. The connect request fails only if the whole
-          list of proxies is scanned and (for each request) and found to be invalid. Command-line takes precedence over the configuration file.
-        '';
-      };
+    noproxy = mkOption {
+      description = ''
+        A list of domains where the proxy is skipped.
+      '';
+      default = [];
+      example = [ "*.example.com" "example.com" ];
+    };
 
-      port = mkOption {
-        default = [3128];
-        description = "Specifies on which ports the cntlm daemon listens.";
-      };
+    port = mkOption {
+      default = [3128];
+      description = "Specifies on which ports the cntlm daemon listens.";
+    };
 
-     extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Verbatim contents of <filename>cntlm.conf</filename>.";
-     };
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = "Additional config appended to the end of the generated <filename>cntlm.conf</filename>.";
+    };
 
+    configText = mkOption {
+       type = types.lines;
+       default = "";
+       description = "Verbatim contents of <filename>cntlm.conf</filename>.";
     };
 
   };
 
-
   ###### implementation
 
-  config = mkIf config.services.cntlm.enable {
+  config = mkIf cfg.enable {
     systemd.services.cntlm = {
       description = "CNTLM is an NTLM / NTLM Session Response / NTLMv2 authenticating HTTP proxy";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        Type = "forking";
         User = "cntlm";
         ExecStart = ''
-          ${pkgs.cntlm}/bin/cntlm -U cntlm \
-            -c ${pkgs.writeText "cntlm_config" cfg.extraConfig}
+          ${pkgs.cntlm}/bin/cntlm -U cntlm -c ${configFile} -v -f
         '';
-      };  
+      };
     };
-   
-    services.cntlm.netbios_hostname = mkDefault config.networking.hostName;
-  
-    users.extraUsers.cntlm =  { 
+
+    users.extraUsers.cntlm = {
       name = "cntlm";
       description = "cntlm system-wide daemon";
-      home = "/var/empty";
+      isSystemUser = true;
     };
-
-    services.cntlm.extraConfig =
-      ''
-        # Cntlm Authentication Proxy Configuration
-        Username        ${cfg.username}
-        Domain          ${cfg.domain}
-        Password        ${cfg.password}
-        Workstation     ${cfg.netbios_hostname}
-        ${concatMapStrings (entry: "Proxy ${entry}\n") cfg.proxy}
-    
-        ${concatMapStrings (port: ''
-          Listen ${toString port}
-        '') cfg.port}
-      '';      
   };
-  
 }
diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix
index b6492996057..ab7bbb15ad4 100644
--- a/nixos/modules/services/networking/dnschain.nix
+++ b/nixos/modules/services/networking/dnschain.nix
@@ -17,7 +17,7 @@ let
     host = ${cfg.dns.address}
     port = ${toString cfg.dns.port}
     oldDNSMethod = NO_OLD_DNS
-    externalIP = ${cfg.dns.address}
+    externalIP = ${cfg.dns.externalAddress}
 
     [http]
     host = ${cfg.api.hostname}
@@ -47,8 +47,18 @@ in
         type = types.str;
         default = "127.0.0.1";
         description = ''
-          The IP address that will be used to reach this machine.
-          Leave this unchanged if you do not wish to directly expose the DNSChain resolver.
+          The IP address the DNSChain resolver will bind to.
+          Leave this unchanged if you do not wish to directly expose the resolver.
+        '';
+      };
+
+      dns.externalAddress = mkOption {
+        type = types.str;
+        default = cfg.dns.address;
+        description = ''
+           The IP address used by clients to reach the resolver and the value of
+           the <literal>namecoin.dns</literal> record. Set this in case the bind address
+           is not the actual IP address (e.g. the machine is behind a NAT).
         '';
       };
 
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 243cd04c96c..68a814b2305 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -114,14 +114,15 @@ let
     # The "nixos-fw" chain does the actual work.
     ip46tables -N nixos-fw
 
-    # Perform a reverse-path test to refuse spoofers
-    # For now, we just drop, as the raw table doesn't have a log-refuse yet
+    # Clean up rpfilter rules
+    ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true
+    ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true
+    ip46tables -t raw -X nixos-fw-rpfilter 2> /dev/null || true
+
     ${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
-      # Clean up rpfilter rules
-      ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true
-      ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true
+      # Perform a reverse-path test to refuse spoofers
+      # For now, we just drop, as the raw table doesn't have a log-refuse yet
       ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true
-
       ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
 
       # Allows this host to act as a DHCPv4 server
diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix
index fd4545e88e2..bf2d0916fa3 100644
--- a/nixos/modules/services/networking/hostapd.nix
+++ b/nixos/modules/services/networking/hostapd.nix
@@ -164,7 +164,7 @@ in
         path = [ pkgs.hostapd ];
         wantedBy = [ "network.target" ];
 
-        after = [ "${cfg.interface}-cfg.service" "nat.service" "bind.service" "dhcpd.service"];
+        after = [ "${cfg.interface}-cfg.service" "nat.service" "bind.service" "dhcpd.service" "sys-subsystem-net-devices-${cfg.interface}.device" ];
 
         serviceConfig =
           { ExecStart = "${pkgs.hostapd}/bin/hostapd ${configFile}";
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
index 4e176353fc2..7622f030f83 100644
--- a/nixos/modules/services/networking/i2pd.nix
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -212,7 +212,8 @@ in
         type = with types; nullOr int;
         default = null;
         description = ''
-           Set a router bandwidth limit integer in kbps or letters: L (32), O (256), P (2048), X (>9000)
+           Set a router bandwidth limit integer in KBps.
+           If not set, i2pd defaults to 32KBps.
         '';
       };
 
diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix
new file mode 100644
index 00000000000..23787bce991
--- /dev/null
+++ b/nixos/modules/services/networking/iwd.nix
@@ -0,0 +1,34 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.networking.wireless.iwd;
+in {
+  options.networking.wireless.iwd.enable = mkEnableOption "iwd";
+
+  config = mkIf cfg.enable {
+    assertions = [{
+      assertion = !config.networking.wireless.enable;
+      message = ''
+        Only one wireless daemon is allowed at the time: networking.wireless.enable and networking.wireless.iwd.enable are mutually exclusive.
+      '';
+    }];
+
+    # for iwctl
+    environment.systemPackages =  [ pkgs.iwd ];
+
+    services.dbus.packages = [ pkgs.iwd ];
+
+    systemd.services.iwd = {
+      description = "Wireless daemon";
+      before = [ "network.target" ];
+      wants = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig.ExecStart = "${pkgs.iwd}/bin/iwd";
+    };
+  };
+
+  meta.maintainers = with lib.maintainers; [ mic92 ];
+}
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 876dbe1524e..f8b7f26f5f2 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -12,6 +12,7 @@ let
   configFile = writeText "NetworkManager.conf" ''
     [main]
     plugins=keyfile
+    dhcp=${cfg.dhcp}
     dns=${if cfg.useDnsmasq then "dnsmasq" else "default"}
 
     [keyfile]
@@ -21,7 +22,7 @@ let
       ''unmanaged-devices=${lib.concatStringsSep ";" cfg.unmanaged}''}
 
     [logging]
-    level=WARN
+    level=${cfg.logLevel}
 
     [connection]
     ipv6.ip6-privacy=2
@@ -138,6 +139,22 @@ in {
         apply = list: (attrValues cfg.basePackages) ++ list;
       };
 
+      dhcp = mkOption {
+        type = types.enum [ "dhclient" "dhcpcd" "internal" ];
+        default = "dhclient";
+        description = ''
+          Which program (or internal library) should be used for DHCP.
+        '';
+      };
+
+      logLevel = mkOption {
+        type = types.enum [ "OFF" "ERR" "WARN" "INFO" "DEBUG" "TRACE" ];
+        default = "WARN";
+        description = ''
+          Set the default logging verbosity level.
+        '';
+      };
+
       appendNameservers = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -181,7 +198,7 @@ in {
             };
 
             type = mkOption {
-              type = types.enum (attrNames dispatcherTypesSubdirMap); 
+              type = types.enum (attrNames dispatcherTypesSubdirMap);
               default = "basic";
               description = ''
                 Dispatcher hook type. Only basic hooks are currently available.
diff --git a/nixos/modules/services/networking/resilio.nix b/nixos/modules/services/networking/resilio.nix
new file mode 100644
index 00000000000..6d2b7bdbca1
--- /dev/null
+++ b/nixos/modules/services/networking/resilio.nix
@@ -0,0 +1,268 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.resilio;
+
+  resilioSync = pkgs.resilio-sync;
+
+  sharedFoldersRecord = map (entry: {
+    secret = entry.secret;
+    dir = entry.directory;
+
+    use_relay_server = entry.useRelayServer;
+    use_tracker = entry.useTracker;
+    use_dht = entry.useDHT;
+
+    search_lan = entry.searchLAN;
+    use_sync_trash = entry.useSyncTrash;
+    known_hosts = knownHosts;
+  }) cfg.sharedFolders;
+
+  configFile = pkgs.writeText "config.json" (builtins.toJSON ({
+    device_name = cfg.deviceName;
+    storage_path = cfg.storagePath;
+    listening_port = cfg.listeningPort;
+    use_gui = false;
+    check_for_updates = cfg.checkForUpdates;
+    use_upnp = cfg.useUpnp;
+    download_limit = cfg.downloadLimit;
+    upload_limit = cfg.uploadLimit;
+    lan_encrypt_data = cfg.encryptLAN;
+  } // optionalAttrs cfg.enableWebUI {
+    webui = { listen = "${cfg.httpListenAddr}:${toString cfg.httpListenPort}"; } //
+      (optionalAttrs (cfg.httpLogin != "") { login = cfg.httpLogin; }) //
+      (optionalAttrs (cfg.httpPass != "") { password = cfg.httpPass; }) //
+      (optionalAttrs (cfg.apiKey != "") { api_key = cfg.apiKey; }) //
+      (optionalAttrs (cfg.directoryRoot != "") { directory_root = cfg.directoryRoot; });
+  } // optionalAttrs (sharedFoldersRecord != []) {
+    shared_folders = sharedFoldersRecord;
+  }));
+
+in
+{
+  options = {
+    services.resilio = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          If enabled, start the Resilio Sync daemon. Once enabled, you can
+          interact with the service through the Web UI, or configure it in your
+          NixOS configuration. Enabling the <literal>resilio</literal> service
+          also installs a systemd user unit which can be used to start
+          user-specific copies of the daemon. Once installed, you can use
+          <literal>systemctl --user start resilio</literal> as your user to start
+          the daemon using the configuration file located at
+          <literal>$HOME/.config/resilio-sync/config.json</literal>.
+        '';
+      };
+
+      deviceName = mkOption {
+        type = types.str;
+        example = "Voltron";
+        default = config.networking.hostName;
+        description = ''
+          Name of the Resilio Sync device.
+        '';
+      };
+
+      listeningPort = mkOption {
+        type = types.int;
+        default = 0;
+        example = 44444;
+        description = ''
+          Listening port. Defaults to 0 which randomizes the port.
+        '';
+      };
+
+      checkForUpdates = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Determines whether to check for updates and alert the user
+          about them in the UI.
+        '';
+      };
+
+      useUpnp = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Use Universal Plug-n-Play (UPnP)
+        '';
+      };
+
+      downloadLimit = mkOption {
+        type = types.int;
+        default = 0;
+        example = 1024;
+        description = ''
+          Download speed limit. 0 is unlimited (default).
+        '';
+      };
+
+      uploadLimit = mkOption {
+        type = types.int;
+        default = 0;
+        example = 1024;
+        description = ''
+          Upload speed limit. 0 is unlimited (default).
+        '';
+      };
+
+      httpListenAddr = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        example = "1.2.3.4";
+        description = ''
+          HTTP address to bind to.
+        '';
+      };
+
+      httpListenPort = mkOption {
+        type = types.int;
+        default = 9000;
+        description = ''
+          HTTP port to bind on.
+        '';
+      };
+
+      httpLogin = mkOption {
+        type = types.str;
+        example = "allyourbase";
+        default = "";
+        description = ''
+          HTTP web login username.
+        '';
+      };
+
+      httpPass = mkOption {
+        type = types.str;
+        example = "arebelongtous";
+        default = "";
+        description = ''
+          HTTP web login password.
+        '';
+      };
+
+      encryptLAN = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Encrypt LAN data.";
+      };
+
+      enableWebUI = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable Web UI for administration. Bound to the specified
+          <literal>httpListenAddress</literal> and
+          <literal>httpListenPort</literal>.
+          '';
+      };
+
+      storagePath = mkOption {
+        type = types.path;
+        default = "/var/lib/resilio-sync/";
+        description = ''
+          Where BitTorrent Sync will store it's database files (containing
+          things like username info and licenses). Generally, you should not
+          need to ever change this.
+        '';
+      };
+
+      apiKey = mkOption {
+        type = types.str;
+        default = "";
+        description = "API key, which enables the developer API.";
+      };
+
+      directoryRoot = mkOption {
+        type = types.str;
+        default = "";
+        example = "/media";
+        description = "Default directory to add folders in the web UI.";
+      };
+
+      sharedFolders = mkOption {
+        default = [];
+        example =
+          [ { secret         = "AHMYFPCQAHBM7LQPFXQ7WV6Y42IGUXJ5Y";
+              directory      = "/home/user/sync_test";
+              useRelayServer = true;
+              useTracker     = true;
+              useDHT         = false;
+              searchLAN      = true;
+              useSyncTrash   = true;
+              knownHosts     = [
+                "192.168.1.2:4444"
+                "192.168.1.3:4444"
+              ];
+            }
+          ];
+        description = ''
+          Shared folder list. If enabled, web UI must be
+          disabled. Secrets can be generated using <literal>rslsync
+          --generate-secret</literal>. Note that this secret will be
+          put inside the Nix store, so it is realistically not very
+          secret.
+
+          If you would like to be able to modify the contents of this
+          directories, it is recommended that you make your user a
+          member of the <literal>resilio</literal> group.
+
+          Directories in this list should be in the
+          <literal>resilio</literal> group, and that group must have
+          write access to the directory. It is also recommended that
+          <literal>chmod g+s</literal> is applied to the directory
+          so that any sub directories created will also belong to
+          the <literal>resilio</literal> group. Also,
+          <literal>setfacl -d -m group:resilio:rwx</literal> and
+          <literal>setfacl -m group:resilio:rwx</literal> should also
+          be applied so that the sub directories are writable by
+          the group.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions =
+      [ { assertion = cfg.deviceName != "";
+          message   = "Device name cannot be empty.";
+        }
+        { assertion = cfg.enableWebUI -> cfg.sharedFolders == [];
+          message   = "If using shared folders, the web UI cannot be enabled.";
+        }
+        { assertion = cfg.apiKey != "" -> cfg.enableWebUI;
+          message   = "If you're using an API key, you must enable the web server.";
+        }
+      ];
+
+    users.extraUsers.rslsync = {
+      description     = "Resilio Sync Service user";
+      home            = cfg.storagePath;
+      createHome      = true;
+      uid             = config.ids.uids.rslsync;
+      group           = "rslsync";
+    };
+
+    users.extraGroups = [ { name = "rslsync"; } ];
+
+    systemd.services.resilio = with pkgs; {
+      description = "Resilio Sync Service";
+      wantedBy    = [ "multi-user.target" ];
+      after       = [ "network.target" "local-fs.target" ];
+      serviceConfig = {
+        Restart   = "on-abort";
+        UMask     = "0002";
+        User      = "rslsync";
+        ExecStart = ''
+          ${resilioSync}/bin/rslsync --nodaemon --config ${configFile}
+        '';
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix
index 6cb40185274..79a0aa953fe 100644
--- a/nixos/modules/services/networking/tinc.nix
+++ b/nixos/modules/services/networking/tinc.nix
@@ -35,7 +35,8 @@ in
               description = ''
                 The name of the node which is used as an identifier when communicating
                 with the remote nodes in the mesh. If null then the hostname of the system
-                is used.
+                is used to derive a name (note that tinc may replace non-alphanumeric characters in
+                hostnames by underscores).
               '';
             };
 
diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix
index abd02012bc9..2b9867ade10 100644
--- a/nixos/modules/services/networking/znc.nix
+++ b/nixos/modules/services/networking/znc.nix
@@ -53,7 +53,8 @@ let
                   Server = ${net.server} ${lib.optionalString net.useSSL "+"}${toString net.port} ${net.password}
                   ${concatMapStrings (c: "<Chan #${c}>\n</Chan>\n") net.channels}
                   ${lib.optionalString net.hasBitlbeeControlChannel ''
-                    <Chan &bitlbee></Chan>
+                    <Chan &bitlbee>
+                    </Chan>
                   ''}
                   ${net.extraConf}
               </Network>
@@ -279,7 +280,7 @@ in
           example = defaultPassBlock;
           type = types.string;
           description = ''
-            Generate with znc --makepass.
+            Generate with `nix-shell -p znc --command "znc --makepass"`.
             This is the password used to log in to the ZNC web admin interface.
           '';
         };
diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix
index 574f74d547a..2ea22a94594 100644
--- a/nixos/modules/services/search/elasticsearch.nix
+++ b/nixos/modules/services/search/elasticsearch.nix
@@ -5,13 +5,22 @@ with lib;
 let
   cfg = config.services.elasticsearch;
 
+  es5 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "5" >= 0;
+
   esConfig = ''
     network.host: ${cfg.listenAddress}
-    network.port: ${toString cfg.port}
-    network.tcp.port: ${toString cfg.tcp_port}
-    # TODO: find a way to enable security manager
-    security.manager.enabled: false
     cluster.name: ${cfg.cluster_name}
+
+    ${if es5 then ''
+      http.port: ${toString cfg.port}
+      transport.tcp.port: ${toString cfg.tcp_port}
+    '' else ''
+      network.port: ${toString cfg.port}
+      network.tcp.port: ${toString cfg.tcp_port}
+      # TODO: find a way to enable security manager
+      security.manager.enabled: false
+    ''}
+
     ${cfg.extraConf}
   '';
 
@@ -19,13 +28,18 @@ let
     name = "elasticsearch-config";
     paths = [
       (pkgs.writeTextDir "elasticsearch.yml" esConfig)
-      (pkgs.writeTextDir "logging.yml" cfg.logging)
+      (if es5 then (pkgs.writeTextDir "log4j2.properties" cfg.logging)
+              else (pkgs.writeTextDir "logging.yml" cfg.logging))
     ];
+    # Elasticsearch 5.x won't start when the scripts directory does not exist
+    postBuild = if es5 then "${pkgs.coreutils}/bin/mkdir -p $out/scripts" else "";
   };
 
   esPlugins = pkgs.buildEnv {
     name = "elasticsearch-plugins";
     paths = cfg.plugins;
+    # Elasticsearch 5.x won't start when the plugins directory does not exist
+    postBuild = if es5 then "${pkgs.coreutils}/bin/mkdir -p $out/plugins" else "";
   };
 
 in {
@@ -85,18 +99,30 @@ in {
 
     logging = mkOption {
       description = "Elasticsearch logging configuration.";
-      default = ''
-        rootLogger: INFO, console
-        logger:
-          action: INFO
-          com.amazonaws: WARN
-        appender:
-          console:
-            type: console
-            layout:
-              type: consolePattern
-              conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
-      '';
+      default =
+        if es5 then ''
+          logger.action.name = org.elasticsearch.action
+          logger.action.level = info
+
+          appender.console.type = Console
+          appender.console.name = console
+          appender.console.layout.type = PatternLayout
+          appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n
+
+          rootLogger.level = info
+          rootLogger.appenderRef.console.ref = console
+        '' else ''
+          rootLogger: INFO, console
+          logger:
+            action: INFO
+            com.amazonaws: WARN
+          appender:
+            console:
+              type: console
+              layout:
+                type: consolePattern
+                conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
+        '';
       type = types.str;
     };
 
@@ -112,6 +138,12 @@ in {
       description = "Extra command line options for the elasticsearch launcher.";
       default = [];
       type = types.listOf types.str;
+    };
+
+    extraJavaOptions = mkOption {
+      description = "Extra command line options for Java.";
+      default = [];
+      type = types.listOf types.str;
       example = [ "-Djava.net.preferIPv4Stack=true" ];
     };
 
@@ -133,13 +165,21 @@ in {
       path = [ pkgs.inetutils ];
       environment = {
         ES_HOME = cfg.dataDir;
+        ES_JAVA_OPTS = toString ([ "-Des.path.conf=${configDir}" ] ++ cfg.extraJavaOptions);
       };
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
+        ExecStart = "${cfg.package}/bin/elasticsearch ${toString cfg.extraCmdLineOptions}";
         User = "elasticsearch";
         PermissionsStartOnly = true;
+        LimitNOFILE = "1024000";
       };
       preStart = ''
+        # Only set vm.max_map_count if lower than ES required minimum
+        # This avoids conflict if configured via boot.kernel.sysctl
+        if [ `${pkgs.procps}/bin/sysctl -n vm.max_map_count` -lt 262144 ]; then
+          ${pkgs.procps}/bin/sysctl -w vm.max_map_count=262144
+        fi
+
         mkdir -m 0700 -p ${cfg.dataDir}
 
         # Install plugins
@@ -148,11 +188,6 @@ in {
         ln -sfT ${cfg.package}/modules ${cfg.dataDir}/modules
         if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi
       '';
-      postStart = mkBefore ''
-        until ${pkgs.curl.bin}/bin/curl -s -o /dev/null ${cfg.listenAddress}:${toString cfg.port}; do
-          sleep 1
-        done
-      '';
     };
 
     environment.systemPackages = [ cfg.package ];
diff --git a/nixos/modules/services/search/kibana.nix b/nixos/modules/services/search/kibana.nix
index d377a6feeb8..9d7d2d79918 100644
--- a/nixos/modules/services/search/kibana.nix
+++ b/nixos/modules/services/search/kibana.nix
@@ -5,7 +5,11 @@ with lib;
 let
   cfg = config.services.kibana;
 
-  cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON (
+  atLeast54 = versionAtLeast (builtins.parseDrvName cfg.package.name).version "5.4";
+
+  cfgFile = if atLeast54 then cfgFile5 else cfgFile4;
+
+  cfgFile4 = pkgs.writeText "kibana.json" (builtins.toJSON (
     (filterAttrsRecursive (n: v: v != null) ({
       host = cfg.listenAddress;
       port = cfg.port;
@@ -36,6 +40,27 @@ let
       ];
     } // cfg.extraConf)
   )));
+
+  cfgFile5 = pkgs.writeText "kibana.json" (builtins.toJSON (
+    (filterAttrsRecursive (n: v: v != null) ({
+      server.host = cfg.listenAddress;
+      server.port = cfg.port;
+      server.ssl.certificate = cfg.cert;
+      server.ssl.key = cfg.key;
+
+      kibana.index = cfg.index;
+      kibana.defaultAppId = cfg.defaultAppId;
+
+      elasticsearch.url = cfg.elasticsearch.url;
+      elasticsearch.username = cfg.elasticsearch.username;
+      elasticsearch.password = cfg.elasticsearch.password;
+
+      elasticsearch.ssl.certificate = cfg.elasticsearch.cert;
+      elasticsearch.ssl.key = cfg.elasticsearch.key;
+      elasticsearch.ssl.certificateAuthorities = cfg.elasticsearch.certificateAuthorities;
+    } // cfg.extraConf)
+  )));
+
 in {
   options.services.kibana = {
     enable = mkEnableOption "enable kibana service";
@@ -96,11 +121,29 @@ in {
       };
 
       ca = mkOption {
-        description = "CA file to auth against elasticsearch.";
+        description = ''
+          CA file to auth against elasticsearch.
+
+          It's recommended to use the <option>certificateAuthorities</option> option
+          when using kibana-5.4 or newer.
+        '';
         default = null;
         type = types.nullOr types.path;
       };
 
+      certificateAuthorities = mkOption {
+        description = ''
+          CA files to auth against elasticsearch.
+
+          Please use the <option>ca</option> option when using kibana &lt; 5.4
+          because those old versions don't support setting multiple CA's.
+
+          This defaults to the singleton list [ca] when the <option>ca</option> option is defined.
+        '';
+        default = if isNull cfg.elasticsearch.ca then [] else [ca];
+        type = types.listOf types.path;
+      };
+
       cert = mkOption {
         description = "Certificate file to auth against elasticsearch.";
         default = null;
@@ -118,6 +161,7 @@ in {
       description = "Kibana package to use";
       default = pkgs.kibana;
       defaultText = "pkgs.kibana";
+      example = "pkgs.kibana5";
       type = types.package;
     };
 
diff --git a/nixos/modules/services/security/hologram-server.nix b/nixos/modules/services/security/hologram-server.nix
index e267fed2795..8315c9ea5d6 100644
--- a/nixos/modules/services/security/hologram-server.nix
+++ b/nixos/modules/services/security/hologram-server.nix
@@ -23,6 +23,8 @@ let
     stats  = cfg.statsAddress;
     listen = cfg.listenAddress;
   });
+
+  script = "${pkgs.hologram.bin}/bin/hologram-server --debug --conf ${cfgFile}";
 in {
   options = {
     services.hologram-server = {
@@ -94,9 +96,15 @@ in {
       after       = [ "network.target" ];
       wantedBy    = [ "multi-user.target" ];
 
-      serviceConfig = {
-        ExecStart = "${pkgs.hologram.bin}/bin/hologram-server --debug --conf ${cfgFile}";
-      };
+      inherit script;
+    };
+
+    docker-containers.hologram-server = {
+      inherit script;
+    };
+
+    trivial-services.hologram-server = {
+      inherit script;
     };
   };
 }
diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix
index 0ef31ef8a8b..d513e44dcfb 100644
--- a/nixos/modules/services/system/cloud-init.nix
+++ b/nixos/modules/services/system/cloud-init.nix
@@ -3,52 +3,7 @@
 with lib;
 
 let cfg = config.services.cloud-init;
-    path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow dmidecode openssh ];
-    configFile = pkgs.writeText "cloud-init.cfg" ''
-users:
-   - root
-
-disable_root: false
-preserve_hostname: false
-
-cloud_init_modules:
- - migrator
- - seed_random
- - bootcmd
- - write-files
- - growpart
- - resizefs
- - set_hostname
- - update_hostname
- - update_etc_hosts
- - ca-certs
- - rsyslog
- - users-groups
-
-cloud_config_modules:
- - emit_upstart
- - disk_setup
- - mounts
- - ssh-import-id
- - set-passwords
- - timezone
- - disable-ec2-metadata
- - runcmd
- - ssh
-
-cloud_final_modules:
- - rightscale_userdata
- - scripts-vendor
- - scripts-per-once
- - scripts-per-boot
- - scripts-per-instance
- - scripts-user
- - ssh-authkey-fingerprints
- - keys-to-console
- - phone-home
- - final-message
- - power-state-change
-'';
+    path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow openssh iproute ];
 in
 {
   options = {
@@ -74,12 +29,63 @@ in
         '';
       };
 
+      config = mkOption {
+        type = types.str;
+        default = ''
+          system_info:
+            distro: nixos
+          users:
+             - root
+
+          disable_root: false
+          preserve_hostname: false
+
+          cloud_init_modules:
+           - migrator
+           - seed_random
+           - bootcmd
+           - write-files
+           - growpart
+           - resizefs
+           - update_etc_hosts
+           - ca-certs
+           - rsyslog
+           - users-groups
+
+          cloud_config_modules:
+           - disk_setup
+           - mounts
+           - ssh-import-id
+           - set-passwords
+           - timezone
+           - disable-ec2-metadata
+           - runcmd
+           - ssh
+
+          cloud_final_modules:
+           - rightscale_userdata
+           - scripts-vendor
+           - scripts-per-once
+           - scripts-per-boot
+           - scripts-per-instance
+           - scripts-user
+           - ssh-authkey-fingerprints
+           - keys-to-console
+           - phone-home
+           - final-message
+           - power-state-change
+          '';
+        description = ''cloud-init configuration.'';
+      };
+
     };
 
   };
 
   config = mkIf cfg.enable {
 
+    environment.etc."cloud/cloud.cfg".text = cfg.config;
+
     systemd.services.cloud-init-local =
       { description = "Initial cloud-init job (pre-networking)";
         wantedBy = [ "multi-user.target" ];
@@ -88,7 +94,7 @@ in
         path = path;
         serviceConfig =
           { Type = "oneshot";
-            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init --local";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init init --local";
             RemainAfterExit = "yes";
             TimeoutSec = "0";
             StandardOutput = "journal+console";
@@ -105,7 +111,7 @@ in
         path = path;
         serviceConfig =
           { Type = "oneshot";
-            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init init";
             RemainAfterExit = "yes";
             TimeoutSec = "0";
             StandardOutput = "journal+console";
@@ -121,7 +127,7 @@ in
         path = path;
         serviceConfig =
           { Type = "oneshot";
-            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=config";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=config";
             RemainAfterExit = "yes";
             TimeoutSec = "0";
             StandardOutput = "journal+console";
@@ -137,7 +143,7 @@ in
         path = path;
         serviceConfig =
           { Type = "oneshot";
-            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=final";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=final";
             RemainAfterExit = "yes";
             TimeoutSec = "0";
             StandardOutput = "journal+console";
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index ed77e084476..1c3c7835d96 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -16,7 +16,7 @@ let
 
   phpMajorVersion = head (splitString "." php.version);
 
-  mod_perl = pkgs.mod_perl.override { apacheHttpd = httpd; };
+  mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; };
 
   defaultListen = cfg: if cfg.enableSSL
     then [{ip = "*"; port = 443;}]
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index eec285f6bc4..ee32a1c86d4 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -36,7 +36,11 @@ in
     dataDir = mkOption {
       default = "/var/lib/caddy";
       type = types.path;
-      description = "The data directory, for storing certificates.";
+      description = ''
+        The data directory, for storing certificates. Before 17.09, this
+        would create a .caddy directory. With 17.09 the contents of the
+        .caddy directory are in the specified data directory instead.
+      '';
     };
 
     package = mkOption {
@@ -50,17 +54,32 @@ in
   config = mkIf cfg.enable {
     systemd.services.caddy = {
       description = "Caddy web server";
-      after = [ "network.target" ];
+      after = [ "network-online.target" ];
       wantedBy = [ "multi-user.target" ];
+      environment = mkIf (versionAtLeast config.system.stateVersion "17.09")
+        { CADDYPATH = cfg.dataDir; };
       serviceConfig = {
-        ExecStart = ''${cfg.package.bin}/bin/caddy -conf=${configFile} \
-          -ca=${cfg.ca} -email=${cfg.email} ${optionalString cfg.agree "-agree"}
+        ExecStart = ''
+          ${cfg.package.bin}/bin/caddy -root=/var/tmp -conf=${configFile} \
+            -ca=${cfg.ca} -email=${cfg.email} ${optionalString cfg.agree "-agree"}
         '';
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Type = "simple";
         User = "caddy";
         Group = "caddy";
+        Restart = "on-failure";
+        StartLimitInterval = 86400;
+        StartLimitBurst = 5;
         AmbientCapabilities = "cap_net_bind_service";
-        LimitNOFILE = 8192;
+        CapabilityBoundingSet = "cap_net_bind_service";
+        NoNewPrivileges = true;
+        LimitNPROC = 64;
+        LimitNOFILE = 1048576;
+        PrivateTmp = true;
+        PrivateDevices = true;
+        ProtectHome = true;
+        ProtectSystem = "full";
+        ReadWriteDirectories = cfg.dataDir;
       };
     };
 
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index d75d24830f8..56bc66b7179 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -208,13 +208,13 @@ in {
   config = mkIf cfg.enable {
     systemd.user.services.compton = {
       description = "Compton composite manager";
-      wantedBy = [ "default.target" ];
+      wantedBy = [ "graphical-session.target" ];
+      partOf = [ "graphical-session.target" ];
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/compton --config ${configFile}";
         RestartSec = 3;
         Restart = "always";
       };
-      environment.DISPLAY = ":0";
     };
 
     environment.systemPackages = [ cfg.package ];
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index d56050c3626..c207aab5de0 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -26,6 +26,34 @@ in
 
     services.xserver.desktopManager = {
 
+      wallpaper = {
+        mode = mkOption {
+          type = types.enum [ "center" "fill" "max" "scale" "tile" ];
+          default = "scale";
+          example = "fill";
+          description = ''
+            The file <filename>~/.background-image</filename> is used as a background image.
+            This option specifies the placement of this image onto your desktop.
+
+            Possible values:
+            <literal>center</literal>: Center the image on the background. If it is too small, it will be surrounded by a black border.
+            <literal>fill</literal>: Like <literal>scale</literal>, but preserves aspect ratio by zooming the image until it fits. Either a horizontal or a vertical part of the image will be cut off.
+            <literal>max</literal>: Like <literal>fill</literal>, but scale the image to the maximum size that fits the screen with black borders on one side.
+            <literal>scale</literal>: Fit the file into the background without repeating it, cutting off stuff or using borders. But the aspect ratio is not preserved either.
+            <literal>tile</literal>: Tile (repeat) the image in case it is too small for the screen.
+          '';
+        };
+
+        combineScreens = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            When set to <literal>true</literal> the wallpaper will stretch across all screens.
+            When set to <literal>false</literal> the wallpaper is duplicated to all screens.
+          '';
+        };
+      };
+
       session = mkOption {
         internal = true;
         default = [];
@@ -45,7 +73,7 @@ in
             start = d.start
             + optionalString (needBGCond d) ''
               if [ -e $HOME/.background-image ]; then
-                ${pkgs.feh}/bin/feh --bg-scale $HOME/.background-image
+                ${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image
               else
                 # Use a solid black background as fallback
                 ${pkgs.xorg.xsetroot}/bin/xsetroot -solid black
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 5f99c2bcf1f..c043884f8e0 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -35,10 +35,10 @@ let
      chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
      cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
        [org.gnome.desktop.background]
-       picture-uri='${pkgs.nixos-artwork}/share/artwork/gnome/Gnome_Dark.png'
+       picture-uri='${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png'
 
        [org.gnome.desktop.screensaver]
-       picture-uri='${pkgs.nixos-artwork}/share/artwork/gnome/Gnome_Dark.png'
+       picture-uri='${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png'
 
        ${cfg.extraGSettingsOverrides}
      EOF
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index cf6efb7dae7..58773685ec1 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -122,6 +122,9 @@ let
           source ~/.xprofile
       fi
 
+      # Start systemd user services for graphical sessions
+      ${config.systemd.package}/bin/systemctl --user start graphical-session.target
+
       # Allow the user to setup a custom session type.
       if test -x ~/.xsession; then
           exec ~/.xsession
@@ -164,6 +167,9 @@ let
       ''}
 
       test -n "$waitPID" && wait "$waitPID"
+
+      ${config.systemd.package}/bin/systemctl --user stop graphical-session.target
+
       exit 0
     '';
 
@@ -325,6 +331,13 @@ in
 
   config = {
     services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
+
+    systemd.user.targets.graphical-session = {
+      unitConfig = {
+        RefuseManualStart = false;
+        StopWhenUnneeded = false;
+      };
+    };
   };
 
   imports = [
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 256bfb9ce3f..1733f2fd39b 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -111,7 +111,7 @@ in
 
       background = mkOption {
         type = types.str;
-        default = "${pkgs.nixos-artwork}/share/artwork/gnome/Gnome_Dark.png";
+        default = "${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png";
         description = ''
           The background image or color to use.
         '';
diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix
index eb5dfdf9584..992709ed000 100644
--- a/nixos/modules/services/x11/redshift.nix
+++ b/nixos/modules/services/x11/redshift.nix
@@ -95,7 +95,8 @@ in {
   config = mkIf cfg.enable {
     systemd.user.services.redshift = {
       description = "Redshift colour temperature adjuster";
-      wantedBy = [ "default.target" ];
+      wantedBy = [ "graphical-session.target" ];
+      partOf = [ "graphical-session.target" ];
       serviceConfig = {
         ExecStart = ''
           ${cfg.package}/bin/redshift \
@@ -107,12 +108,6 @@ in {
         RestartSec = 3;
         Restart = "always";
       };
-      environment = {
-        DISPLAY = ":${toString (
-          let display = config.services.xserver.display;
-          in if display != null then display else 0
-        )}";
-      };
     };
   };
 
diff --git a/nixos/modules/services/x11/unclutter-xfixes.nix b/nixos/modules/services/x11/unclutter-xfixes.nix
index b94dfb1a26a..71262431b68 100644
--- a/nixos/modules/services/x11/unclutter-xfixes.nix
+++ b/nixos/modules/services/x11/unclutter-xfixes.nix
@@ -43,7 +43,8 @@ in {
   config = mkIf cfg.enable {
     systemd.user.services.unclutter-xfixes = {
       description = "unclutter-xfixes";
-      wantedBy = [ "graphical.target" ];
+      wantedBy = [ "graphical-session.target" ];
+      partOf = [ "graphical-session.target" ];
       serviceConfig.ExecStart = ''
         ${cfg.package}/bin/unclutter \
           --timeout ${toString cfg.timeout} \
diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix
index a22e5ac2c95..5f16a680050 100644
--- a/nixos/modules/services/x11/unclutter.nix
+++ b/nixos/modules/services/x11/unclutter.nix
@@ -56,19 +56,17 @@ in {
   config = mkIf cfg.enable {
     systemd.user.services.unclutter = {
       description = "unclutter";
-      wantedBy = [ "default.target" ];
+      wantedBy = [ "graphical-session.target" ];
+      partOf = [ "graphical-session.target" ];
       serviceConfig.ExecStart = ''
         ${cfg.package}/bin/unclutter \
           -idle ${toString cfg.timeout} \
-          -display :${toString (
-             let display = config.services.xserver.display;
-             in if display != null then display else 0
-          )} \
           -jitter ${toString (cfg.threeshold - 1)} \
           ${optionalString cfg.keystroke "-keystroke"} \
           ${concatMapStrings (x: " -"+x) cfg.extraOptions} \
           -not ${concatStringsSep " " cfg.excluded} \
       '';
+      serviceConfig.PassEnvironment = "DISPLAY";
       serviceConfig.RestartSec = 3;
       serviceConfig.Restart = "always";
     };
diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix
index 57ad93f2017..f2ce089ce19 100644
--- a/nixos/modules/services/x11/urxvtd.nix
+++ b/nixos/modules/services/x11/urxvtd.nix
@@ -21,9 +21,8 @@ in {
     systemd.user = {
       sockets.urxvtd = {
         description = "socket for urxvtd, the urxvt terminal daemon";
-        after = [ "graphical.target" ];
-        wants = [ "graphical.target" ];
-        wantedBy = [ "sockets.target" ];
+        wantedBy = [ "graphical-session.target" ];
+        partOf = [ "graphical-session.target" ];
         socketConfig = {
           ListenStream = "%t/urxvtd-socket";
         };
diff --git a/nixos/modules/services/x11/window-managers/qtile.nix b/nixos/modules/services/x11/window-managers/qtile.nix
index 37f84f0903c..ad3b65150b0 100644
--- a/nixos/modules/services/x11/window-managers/qtile.nix
+++ b/nixos/modules/services/x11/window-managers/qtile.nix
@@ -15,7 +15,7 @@ in
     services.xserver.windowManager.session = [{
       name = "qtile";
       start = ''
-        ${pkgs.qtile}/bin/qtile
+        ${pkgs.qtile}/bin/qtile &
         waitPID=$!
       '';
     }];
diff --git a/nixos/modules/services/x11/xbanish.nix b/nixos/modules/services/x11/xbanish.nix
index e1e3cbc8e44..b95fac68f16 100644
--- a/nixos/modules/services/x11/xbanish.nix
+++ b/nixos/modules/services/x11/xbanish.nix
@@ -20,7 +20,8 @@ in {
   config = mkIf cfg.enable {
     systemd.user.services.xbanish = {
       description = "xbanish hides the mouse pointer";
-      wantedBy = [ "default.target" ];
+      wantedBy = [ "graphical-session.target" ];
+      partOf = [ "graphical-session.target" ];
       serviceConfig.ExecStart = ''
         ${pkgs.xbanish}/bin/xbanish ${cfg.arguments}
       '';
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index cf47aed9fa9..9056121fa7d 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -64,11 +64,21 @@ let
       )) + ":" + (makeSearchPathOutput "bin" "sbin" [
         pkgs.mdadm pkgs.utillinux
       ]);
+      font = if lib.last (lib.splitString "." cfg.font) == "pf2"
+             then cfg.font
+             else "${convertedFont}";
     });
 
   bootDeviceCounters = fold (device: attr: attr // { "${device}" = (attr."${device}" or 0) + 1; }) {}
     (concatMap (args: args.devices) cfg.mirroredBoots);
 
+  convertedFont = (pkgs.runCommand "grub-font-converted.pf2" {}
+           (builtins.concatStringsSep " "
+             ([ "${realGrub}/bin/grub-mkfont"
+               cfg.font
+               "--output" "$out"
+             ] ++ (optional (cfg.fontSize!=null) "--size ${toString cfg.fontSize}")))
+         );
 in
 
 {
@@ -276,7 +286,7 @@ in
       extraInitrd = mkOption {
         type = types.nullOr types.path;
         default = null;
-        example = "/boot/extra_initrafms.gz";
+        example = "/boot/extra_initramfs.gz";
         description = ''
           The path to a second initramfs to be supplied to the kernel.
           This ramfs will not be copied to the store, so that it can
@@ -305,6 +315,24 @@ in
         '';
       };
 
+      font = mkOption {
+        type = types.nullOr types.path;
+        default = "${realGrub}/share/grub/unicode.pf2";
+        description = ''
+          Path to a TrueType, OpenType, or pf2 font to be used by Grub.
+        '';
+      };
+
+      fontSize = mkOption {
+        type = types.nullOr types.int;
+        example = literalExample 16;
+        default = null;
+        description = ''
+          Font size for the grub menu. Ignored unless <literal>font</literal>
+          is set to a ttf or otf font.
+        '';
+      };
+
       gfxmodeEfi = mkOption {
         default = "auto";
         example = "1024x768";
@@ -489,7 +517,7 @@ in
           sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59";
         }
         # GRUB 1.97 doesn't support gzipped XPMs.
-        else "${pkgs.nixos-artwork}/share/artwork/gnome/Gnome_Dark.png");
+        else "${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png");
     }
 
     (mkIf cfg.enable {
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index 5fcac5c8c6a..1edb9e0d229 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -67,6 +67,7 @@ my $gfxmodeEfi = get("gfxmodeEfi");
 my $gfxmodeBios = get("gfxmodeBios");
 my $bootloaderId = get("bootloaderId");
 my $forceInstall = get("forceInstall");
+my $font = get("font");
 $ENV{'PATH'} = get("path");
 
 die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2;
@@ -281,7 +282,7 @@ else {
           insmod vbe
         fi
         insmod font
-        if loadfont " . $grubBoot->path . "/grub/fonts/unicode.pf2; then
+        if loadfont " . $grubBoot->path . "/converted-font.pf2; then
           insmod gfxterm
           if [ \"\${grub_platform}\" = \"efi\" ]; then
             set gfxmode=$gfxmodeEfi
@@ -294,6 +295,9 @@ else {
         fi
     ";
 
+    if ($font) {
+        copy $font, "$bootPath/converted-font.pf2" or die "cannot copy $font to $bootPath\n";
+    }
     if ($splashImage) {
         # FIXME: GRUB 1.97 doesn't resize the background image if it
         # doesn't match the video resolution.
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index e3a3b6f88cf..73608a0e27f 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -167,7 +167,7 @@ let
             --replace /sbin/blkid ${extraUtils}/bin/blkid \
             --replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
             --replace /sbin/mdadm ${extraUtils}/bin/mdadm \
-            --replace /bin/sh ${extraUtils}/bin/sh \
+            --replace ${pkgs.bash}/bin/sh ${extraUtils}/bin/sh \
             --replace /usr/bin/readlink ${extraUtils}/bin/readlink \
             --replace /usr/bin/basename ${extraUtils}/bin/basename \
             --replace ${udev}/bin/udevadm ${extraUtils}/bin/udevadm
diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix
index b462822bc2f..8fa9f8b795e 100644
--- a/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixos/modules/system/boot/systemd-nspawn.nix
@@ -18,7 +18,6 @@ let
     ])
     (assertValueOneOf "Boot" boolValues)
     (assertValueOneOf "ProcessTwo" boolValues)
-    (assertValueOneOf "PrivateUsers" (boolValues ++ [ "pick" ]))
     (assertValueOneOf "NotifyReady" boolValues)
   ];
 
@@ -42,8 +41,7 @@ let
   ];
 
   instanceOptions = {
-    options = {
-
+    options = sharedOptions // {
       execConfig = mkOption {
         default = {};
         example = { Parameters = "/bin/sh"; };
@@ -84,17 +82,19 @@ let
   };
 
   instanceToUnit = name: def:
-    { text = ''
-      [Exec]
-      ${attrsToSection def.execConfig}
+    let base = {
+      text = ''
+        [Exec]
+        ${attrsToSection def.execConfig}
 
-      [Files]
-      ${attrsToSection def.filesConfig}
+        [Files]
+        ${attrsToSection def.filesConfig}
 
-      [Network]
-      ${attrsToSection def.networkConfig}
-    '';
-    };
+        [Network]
+        ${attrsToSection def.networkConfig}
+      '';
+    } // def;
+    in base // { unit = makeUnit name base; };
 
 in {
 
@@ -110,7 +110,7 @@ in {
 
   config =
     let
-      units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg.instances;
+      units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg;
     in mkIf (cfg != {}) {
 
       environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index f798862513c..00d6d370dd7 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -396,6 +396,11 @@ let
         '';
     };
 
+  logindHandlerType = types.enum [
+    "ignore" "poweroff" "reboot" "halt" "kexec" "suspend"
+    "hibernate" "hybrid-sleep" "lock"
+  ];
+
 in
 
 {
@@ -595,6 +600,27 @@ in
       '';
     };
 
+    services.logind.lidSwitch = mkOption {
+      default = "suspend";
+      example = "ignore";
+      type = logindHandlerType;
+
+      description = ''
+        Specifies what to be done when the laptop lid is closed.
+      '';
+    };
+
+    services.logind.lidSwitchDocked = mkOption {
+      default = "ignore";
+      example = "suspend";
+      type = logindHandlerType;
+
+      description = ''
+        Specifies what to be done when the laptop lid is closed
+        and another screen is added.
+      '';
+    };
+
     systemd.user.extraConfig = mkOption {
       default = "";
       type = types.lines;
@@ -721,6 +747,8 @@ in
       "systemd/logind.conf".text = ''
         [Login]
         KillUserProcesses=no
+        HandleLidSwitch=${config.services.logind.lidSwitch}
+        HandleLidSwitchDocked=${config.services.logind.lidSwitchDocked}
         ${config.services.logind.extraConfig}
       '';
 
diff --git a/nixos/modules/tasks/bcache.nix b/nixos/modules/tasks/bcache.nix
index f988ec02af7..3bfdf89e0cf 100644
--- a/nixos/modules/tasks/bcache.nix
+++ b/nixos/modules/tasks/bcache.nix
@@ -4,6 +4,8 @@
 
   environment.systemPackages = [ pkgs.bcache-tools ];
 
+  services.udev.packages = [ pkgs.bcache-tools ];
+
   boot.initrd.extraUdevRulesCommands = ''
     cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
   ''; 
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 9d76b890872..b1ff0337994 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -45,7 +45,7 @@ in
         after = [ "systemd-udev-settle.service" ];
 
         # TODO(wkennington): Add lvm2 and thin-provisioning-tools
-        path = with pkgs; [ acl rsync gnutar xz btrfs-progs ];
+        path = with pkgs; [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute iptables ];
 
         serviceConfig.ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --syslog --group lxd";
         serviceConfig.Type = "simple";
diff --git a/nixos/release.nix b/nixos/release.nix
index aaf23d7ffb7..467e3bb8cd6 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -222,6 +222,7 @@ in rec {
   tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
   tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
   tests.cjdns = callTest tests/cjdns.nix {};
+  tests.cloud-init = callTest tests/cloud-init.nix {};
   tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
   tests.containers-ipv6 = callTest tests/containers-ipv6.nix {};
   tests.containers-bridge = callTest tests/containers-bridge.nix {};
@@ -262,6 +263,7 @@ in rec {
   tests.keystone = callTest tests/keystone.nix {};
   tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; });
   tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
+  tests.ldap = callTest tests/ldap.nix {};
   #tests.lightdm = callTest tests/lightdm.nix {};
   tests.login = callTest tests/login.nix {};
   #tests.logstash = callTest tests/logstash.nix {};
diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix
new file mode 100644
index 00000000000..c0add7eff36
--- /dev/null
+++ b/nixos/tests/cloud-init.nix
@@ -0,0 +1,47 @@
+{ system ? builtins.currentSystem }:
+
+with import ../lib/testing.nix { inherit system; };
+with import ../lib/qemu-flags.nix;
+with pkgs.lib;
+
+let
+  metadataDrive = pkgs.stdenv.mkDerivation {
+    name = "metadata";
+    buildCommand = ''
+      mkdir -p $out/iso
+
+      cat << EOF > $out/iso/user-data
+      #cloud-config
+      write_files:
+      -   content: |
+                cloudinit
+          path: /tmp/cloudinit-write-file
+      EOF
+
+      cat << EOF > $out/iso/meta-data
+      instance-id: iid-local01
+      local-hostname: "test"
+      public-keys:
+          - "should be a key!"
+      EOF
+      ${pkgs.cdrkit}/bin/genisoimage -volid cidata -joliet -rock -o $out/metadata.iso $out/iso
+      '';
+  };
+in makeTest {
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lewo ];
+  };
+  machine =
+    { config, pkgs, ... }:
+    {
+      virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ];
+      services.cloud-init.enable = true;
+    };
+  testScript = ''
+     $machine->start;
+     $machine->waitForUnit("cloud-init.service");
+     $machine->succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'");
+
+     $machine->waitUntilSucceeds("cat /root/.ssh/authorized_keys | grep -q 'should be a key!'");
+  '';
+}
diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix
new file mode 100644
index 00000000000..65ff1cac070
--- /dev/null
+++ b/nixos/tests/elk.nix
@@ -0,0 +1,95 @@
+# Test the ELK stack: Elasticsearch, Logstash and Kibana.
+
+import ./make-test.nix ({ pkgs, ...} :
+let
+  esUrl = "http://localhost:9200";
+in {
+  name = "ELK";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ eelco chaoflow offline basvandijk ];
+  };
+
+  nodes = {
+    one =
+      { config, pkgs, ... }: {
+          # Not giving the machine at least 2060MB results in elasticsearch failing with the following error:
+          #
+          #   OpenJDK 64-Bit Server VM warning:
+          #     INFO: os::commit_memory(0x0000000085330000, 2060255232, 0)
+          #     failed; error='Cannot allocate memory' (errno=12)
+          #
+          #   There is insufficient memory for the Java Runtime Environment to continue.
+          #   Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
+          #
+          # When setting this to 2500 I got "Kernel panic - not syncing: Out of
+          # memory: compulsory panic_on_oom is enabled" so lets give it even a
+          # bit more room:
+          virtualisation.memorySize = 3000;
+
+          # For querying JSON objects returned from elasticsearch and kibana.
+          environment.systemPackages = [ pkgs.jq ];
+
+          services = {
+            logstash = {
+              enable = true;
+              package = pkgs.logstash5;
+              inputConfig = ''
+                exec { command => "echo -n flowers" interval => 1 type => "test" }
+                exec { command => "echo -n dragons" interval => 1 type => "test" }
+              '';
+              filterConfig = ''
+                if [message] =~ /dragons/ {
+                  drop {}
+                }
+              '';
+              outputConfig = ''
+                file {
+                  path => "/tmp/logstash.out"
+                  codec => line { format => "%{message}" }
+                }
+                elasticsearch {
+                  hosts => [ "${esUrl}" ]
+                }
+              '';
+            };
+
+            elasticsearch = {
+              enable = true;
+              package = pkgs.elasticsearch5;
+            };
+
+            kibana = {
+              enable = true;
+              package = pkgs.kibana5;
+              elasticsearch.url = esUrl;
+            };
+          };
+        };
+    };
+
+  testScript = ''
+    startAll;
+
+    $one->waitForUnit("elasticsearch.service");
+
+    # Continue as long as the status is not "red". The status is probably
+    # "yellow" instead of "green" because we are using a single elasticsearch
+    # node which elasticsearch considers risky.
+    #
+    # TODO: extend this test with multiple elasticsearch nodes and see if the status turns "green".
+    $one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_cluster/health' | jq .status | grep -v red");
+
+    # Perform some simple logstash tests.
+    $one->waitForUnit("logstash.service");
+    $one->waitUntilSucceeds("cat /tmp/logstash.out | grep flowers");
+    $one->waitUntilSucceeds("cat /tmp/logstash.out | grep -v dragons");
+
+    # See if kibana is healthy.
+    $one->waitForUnit("kibana.service");
+    $one->waitUntilSucceeds("curl --silent --show-error 'http://localhost:5601/api/status' | jq .status.overall.state | grep green");
+
+    # See if logstash messages arive in elasticsearch.
+    $one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0");
+    $one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0");
+  '';
+})
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 6dce6f407cd..85d31334d6b 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -221,7 +221,7 @@ let
                 docbook5_xsl
                 unionfs-fuse
                 ntp
-                nixos-artwork
+                nixos-artwork.wallpapers.gnome-dark
                 perlPackages.XMLLibXML
                 perlPackages.ListCompare
 
diff --git a/nixos/tests/ldap.nix b/nixos/tests/ldap.nix
new file mode 100644
index 00000000000..b39f4124c95
--- /dev/null
+++ b/nixos/tests/ldap.nix
@@ -0,0 +1,119 @@
+import ./make-test.nix ({ pkgs, lib, ...} :
+
+let
+
+  dbSuffix = "dc=example,dc=com";
+  dbPath = "/var/db/openldap";
+  dbAdminDn = "cn=admin,${dbSuffix}";
+  dbAdminPwd = "test";
+  serverUri = "ldap:///";
+  ldapUser = "test-ldap-user";
+  ldapUserId = 10000;
+  ldapUserPwd = "test";
+  ldapGroup = "test-ldap-group";
+  ldapGroupId = 10000;
+  setupLdif = pkgs.writeText "test-ldap.ldif" ''
+    dn: ${dbSuffix}
+    dc: ${with lib; let dc = head (splitString "," dbSuffix); dcName = head (tail (splitString "=" dc)); in dcName}
+    o: ${dbSuffix}
+    objectclass: top
+    objectclass: dcObject
+    objectclass: organization
+
+    dn: cn=${ldapUser},${dbSuffix}
+    sn: ${ldapUser}
+    objectClass: person
+    objectClass: posixAccount
+    uid: ${ldapUser}
+    uidNumber: ${toString ldapUserId}
+    gidNumber: ${toString ldapGroupId}
+    homeDirectory: /home/${ldapUser}
+    loginShell: /bin/sh
+    userPassword: ${ldapUserPwd}
+
+    dn: cn=${ldapGroup},${dbSuffix}
+    objectClass: posixGroup
+    gidNumber: ${toString ldapGroupId}
+    memberUid: ${ldapUser}
+  '';
+  mkClient = useDaemon:
+    { config, pkgs, lib, ... }:
+    {
+      virtualisation.memorySize = 256;
+      virtualisation.vlans = [ 1 ];
+      security.pam.services.su.rootOK = lib.mkForce false;
+      users.ldap.enable = true;
+      users.ldap.daemon.enable = useDaemon;
+      users.ldap.loginPam = true;
+      users.ldap.nsswitch = true;
+      users.ldap.server = "ldap://server";
+      users.ldap.base = "${dbSuffix}";
+    };
+
+in
+
+{
+  name = "ldap";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ montag451 ];
+  };
+
+  nodes = {
+
+    server =
+      { config, pkgs, lib, ... }:
+      {
+        virtualisation.memorySize = 256;
+        virtualisation.vlans = [ 1 ];
+        networking.firewall.allowedTCPPorts = [ 389 ];
+        services.openldap.enable = true;
+        services.openldap.dataDir = dbPath;
+        services.openldap.urlList = [
+          serverUri
+        ];
+        services.openldap.extraConfig = ''
+          include ${pkgs.openldap.out}/etc/schema/core.schema
+          include ${pkgs.openldap.out}/etc/schema/cosine.schema
+          include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema
+          include ${pkgs.openldap.out}/etc/schema/nis.schema
+
+          database mdb
+          suffix ${dbSuffix}
+          rootdn ${dbAdminDn}
+          rootpw ${dbAdminPwd}
+          directory ${dbPath}
+        '';
+      };
+
+    client1 = mkClient true; # use nss_pam_ldapd
+    client2 = mkClient false; # use nss_ldap and pam_ldap
+
+  };
+
+  testScript = ''
+    startAll;
+    $server->waitForUnit("default.target");
+    $client1->waitForUnit("default.target");
+    $client2->waitForUnit("default.target");
+
+    $server->succeed("ldapadd -D '${dbAdminDn}' -w ${dbAdminPwd} -H ${serverUri} -f '${setupLdif}'");
+
+    # NSS tests
+    subtest "nss", sub {
+        $client1->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
+        $client1->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
+        $client1->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
+        $client1->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
+        $client2->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
+        $client2->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
+        $client2->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
+        $client2->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
+    };
+
+    # PAM tests
+    subtest "pam", sub {
+        $client1->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
+        $client2->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
+    };
+  '';
+})
diff --git a/nixos/tests/logstash.nix b/nixos/tests/logstash.nix
deleted file mode 100644
index 01f6a0358b2..00000000000
--- a/nixos/tests/logstash.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-# This test runs logstash and checks if messages flows and
-# elasticsearch is started.
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "logstash";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ eelco chaoflow offline ];
-  };
-
-  nodes = {
-    one =
-      { config, pkgs, ... }:
-        {
-          services = {
-            logstash = {
-              enable = true;
-              inputConfig = ''
-                exec { command => "echo flowers" interval => 1 type => "test" }
-                exec { command => "echo dragons" interval => 1 type => "test" }
-              '';
-              filterConfig = ''
-                if [message] =~ /dragons/ {
-                  drop {}
-                }
-              '';
-              outputConfig = ''
-                stdout { codec => rubydebug }
-              '';
-            };
-          };
-        };
-    };
-
-  testScript = ''
-    startAll;
-
-    $one->waitForUnit("logstash.service");
-    $one->waitUntilSucceeds("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep flowers");
-    $one->fail("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep dragons");
-  '';
-})
diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix
index f561fc8c3c4..f97544b5ea5 100644
--- a/nixos/tests/plasma5.nix
+++ b/nixos/tests/plasma5.nix
@@ -13,6 +13,21 @@ import ./make-test.nix ({ pkgs, ...} :
     services.xserver.desktopManager.plasma5.enable = true;
     services.xserver.desktopManager.default = "plasma5";
     virtualisation.memorySize = 1024;
+
+    # fontconfig-penultimate-0.3.3 -> 0.3.4 broke OCR apparently, but no idea why.
+    nixpkgs.config.packageOverrides = superPkgs: {
+      fontconfig-penultimate = superPkgs.fontconfig-penultimate.overrideAttrs
+        (_attrs: rec {
+          version = "0.3.3";
+          name = "fontconfig-penultimate-${version}";
+          src = pkgs.fetchFromGitHub {
+            owner = "ttuegel";
+            repo = "fontconfig-penultimate";
+            rev = version;
+            sha256 = "0392lw31jps652dcjazln77ihb6bl7gk201gb7wb9i223avp86w9";
+          };
+        });
+    };
   };
 
   enableOCR = true;
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 471d2a16ef7..1fcfd5f2b60 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -21,6 +21,7 @@ rec {
 
   freicoin = callPackage ./freicoin.nix { boost = pkgs.boost155; };
   go-ethereum = callPackage ./go-ethereum.nix { };
+  go-ethereum-classic = callPackage ./go-ethereum-classic { };
 
   hivemind = callPackage ./hivemind.nix { withGui = true; };
   hivemindd = callPackage ./hivemind.nix { withGui = false; };
diff --git a/pkgs/applications/altcoins/ethabi.nix b/pkgs/applications/altcoins/ethabi.nix
index d2532e0d41e..c584dd65ebb 100644
--- a/pkgs/applications/altcoins/ethabi.nix
+++ b/pkgs/applications/altcoins/ethabi.nix
@@ -15,6 +15,8 @@ buildRustPackage rec {
 
   depsSha256 = "1n4rxipna307r4xppb2iaads7kpa3yjv99fimvpn8l0f999ir2rz";
 
+  cargoBuildFlags = ["--features cli"];
+
   meta = {
     description = "Ethereum function call encoding (ABI) utility";
     homepage = https://github.com/ethcore/ethabi/;
diff --git a/pkgs/applications/altcoins/go-ethereum-classic/default.nix b/pkgs/applications/altcoins/go-ethereum-classic/default.nix
new file mode 100644
index 00000000000..b7585b2f109
--- /dev/null
+++ b/pkgs/applications/altcoins/go-ethereum-classic/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "go-ethereum-classic-${version}";
+  version = "3.5.0";
+  rev = "402c1700fbefb9512e444b32fe12c2d674638ddb";
+
+  goPackagePath = "github.com/ethereumproject/go-ethereum";
+  subPackages = [ "cmd/evm" "cmd/geth" ];
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/ethereumproject/go-ethereum";
+    sha256 = "15wji12wqcrgsb1glwwz4jv7rsas71bbxh7750iv2phn7jivm0fi";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "Golang implementation of Ethereum Classic";
+    homepage = "https://github.com/ethereumproject/go-ethereum";
+    license = with lib.licenses; [ lgpl3 gpl3 ];
+  };
+}
diff --git a/pkgs/applications/altcoins/go-ethereum-classic/deps.nix b/pkgs/applications/altcoins/go-ethereum-classic/deps.nix
new file mode 100644
index 00000000000..0aa6755ee96
--- /dev/null
+++ b/pkgs/applications/altcoins/go-ethereum-classic/deps.nix
@@ -0,0 +1,39 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
+[
+  {
+    goPackagePath = "github.com/maruel/panicparse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/maruel/panicparse";
+      rev = "ae43f192cef2add653fe1481a3070ed00a4a6981";
+      sha256 = "11q8v4adbrazqvh24235s5nifck0d1083gbwv4dh5lhd10xlwdvr";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d";
+      sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-wordwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-wordwrap";
+      rev = "ad45545899c7b13c020ea92b2072220eefad42b8";
+      sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9";
+    };
+  }
+  {
+    goPackagePath = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev = "4163cd39dda1c0dda883a713640bc01e08951c24";
+      sha256 = "1vzrhxf8823lrnwf1bfyxwlm52pph5iq2hgr1d0n07v8kjgqkrmx";
+    };
+  }
+]
diff --git a/pkgs/applications/altcoins/seth.nix b/pkgs/applications/altcoins/seth.nix
index 387f5594c62..bf2d6f65326 100644
--- a/pkgs/applications/altcoins/seth.nix
+++ b/pkgs/applications/altcoins/seth.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "seth-${version}";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "dapphub";
     repo = "seth";
     rev = "v${version}";
-    sha256 = "0bgygvilhbabb0y9pv9cn8cx7cj513w9is4vh6v69h2czknrjmgz";
+    sha256 = "1qph1gldj24r8l6aswb1w133lrm8zsxmmxl4krjik0a73bm4ghdm";
   };
 
   nativeBuildInputs = [makeWrapper];
diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix
index 9fe781f1769..7ac1025c502 100644
--- a/pkgs/applications/audio/aeolus/default.nix
+++ b/pkgs/applications/audio/aeolus/default.nix
@@ -1,16 +1,20 @@
 { stdenv, fetchurl, libclthreads, zita-alsa-pcmi, alsaLib, libjack2
-, libclxclient, libX11, libXft, readline}:
+, libclxclient, libX11, libXft, readline
+}:
 
 stdenv.mkDerivation rec {
   name = "aeolus-${version}";
-  version = "0.9.0";
+  version = "0.9.5";
+
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "0dkkibza25a6z9446njqlaynx8gfk5wb828pl9v1snmi5390iggp";
+    sha256 = "0wfp8ihldyq2dhdyy7ld7z0zzfvnwam1dvbxnpd9d6xgc4k3j4nv";
   };
 
-  buildInputs = [ libclthreads zita-alsa-pcmi alsaLib libjack2 libclxclient
-    libX11 libXft readline ];
+  buildInputs = [
+    libclthreads zita-alsa-pcmi alsaLib libjack2 libclxclient
+    libX11 libXft readline
+  ];
 
   patchPhase = ''sed "s@ldconfig.*@@" -i source/Makefile'';
 
diff --git a/pkgs/applications/audio/airwave/default.nix b/pkgs/applications/audio/airwave/default.nix
index 39946fd5c7d..5a6901a9434 100644
--- a/pkgs/applications/audio/airwave/default.nix
+++ b/pkgs/applications/audio/airwave/default.nix
@@ -1,5 +1,5 @@
 { stdenv, cmake, fetchFromGitHub, file, gcc_multi, libX11, makeWrapper
-, overrideCC, qt5, requireFile, unzip, wineStable
+, overrideCC, qt5, requireFile, unzip, wine
 }:
 
 let
@@ -26,7 +26,8 @@ let
     installPhase = "cp -r . $out";
   };
 
-  wine-wow64 = wineStable.override {
+  wine-wow64 = wine.override {
+    wineRelease = "stable";
     wineBuild = "wineWow";
   };
 
diff --git a/pkgs/applications/audio/aj-snapshot/default.nix b/pkgs/applications/audio/aj-snapshot/default.nix
index c70a1b4aa9b..06e14370422 100644
--- a/pkgs/applications/audio/aj-snapshot/default.nix
+++ b/pkgs/applications/audio/aj-snapshot/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name =  packageName + "-" + version ;
   packageName = "aj-snapshot" ;
-  version = "0.9.6" ;
+  version = "0.9.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
-    sha256 = "12n2h3609fbvsnnwrwma4m55iyv6lcv1v3q5pznz2w6f12wf0c9z";
+    sha256 = "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 3b94235889c..28155fd2317 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation  rec {
     description = "A range of synthesiser, electric piano and organ emulations";
     homepage = http://bristol.sourceforge.net;
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = ["x86_64-linux" "i686-linux"];
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 4f58ae48390..dc0c8eabcac 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost
+{ stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext
 , alsaLib ? null
 , libpulseaudio ? null
-, tcltk ? null
+, libjack2 ? null
 , liblo ? null
-
-# maybe csound can be compiled with support for those, see configure output
-# , ladspa ? null
-# , fluidsynth ? null
-# , jack ? null
-# , gmm ? null
-# , wiiuse ? null
+, ladspa-sdk ? null
+, fluidsynth ? null
+# , gmm ? null  # opcodes don't build with gmm 5.1
+, eigen ? null
+, curl ? null
+, tcltk ? null
+, fltk ? null
 }:
 
 stdenv.mkDerivation rec {
-  name = "csound-6.08.1";
-  version = "6.08.1";
+  name = "csound-${version}";
+  version = "6.09.0";
 
   enableParallelBuilding = true;
 
@@ -24,11 +24,18 @@ stdenv.mkDerivation rec {
     owner = "csound";
     repo = "csound";
     rev = version;
-    sha256 = "03xnva17sw35ga3n96x1zdfgw913dga1hccly85wzfn0kxz4rld9";
+    sha256 = "1vfb0mab89psfwidadjrn5mbzq3bhjbyrrmyp98yp0xm6a8cssih";
   };
 
-  nativeBuildInputs = [ cmake flex bison ];
-  buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost liblo ];
+  cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
+    ++ stdenv.lib.optional (libjack2 != null) "-DJACK_HEADER=${libjack2}/include/jack/jack.h";
+
+  nativeBuildInputs = [ cmake flex bison gettext ];
+  buildInputs = [ libsndfile libsamplerate boost ]
+    ++ builtins.filter (optional: optional != null) [
+      alsaLib libpulseaudio libjack2
+      liblo ladspa-sdk fluidsynth eigen
+      curl tcltk fltk ];
 
   meta = with stdenv.lib; {
     description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
diff --git a/pkgs/applications/audio/google-play-music-desktop-player/default.nix b/pkgs/applications/audio/google-play-music-desktop-player/default.nix
index 12e9b88880d..47b85af724a 100644
--- a/pkgs/applications/audio/google-play-music-desktop-player/default.nix
+++ b/pkgs/applications/audio/google-play-music-desktop-player/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "4.2.0";
+  version = "4.3.0";
 
   deps = [
     alsaLib
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb";
-    sha256 = "0n59b73jc6b86p5063xz7n0z48wy9mzqcx0l34av2hqkx6wcb2h8";
+    sha256 = "0mbrfnsnajmpwyqyrjmcv84ywzimjmm2b8faxqiwfcikdgpm9amb";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index f37585d3dec..59adb7cde49 100644
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,27 +1,32 @@
-{ stdenv, fetchurl, mpd_clientlib }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mpd_clientlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.27";
   name = "mpc-${version}";
+  version = "0.28";
 
-  src = fetchurl {
-    url = "http://www.musicpd.org/download/mpc/0/${name}.tar.xz";
-    sha256 = "0r10wsqxsi07gns6mfnicvpci0sbwwj4qa9iyr1ysrgadl5bx8j5";
+  src = fetchFromGitHub {
+    owner  = "MusicPlayerDaemon";
+    repo   = "mpc";
+    rev    = "v${version}";
+    sha256 = "1g8i4q5xsqdhidyjpvj6hzbhxacv27cb47ndv9k68whd80c5f9n9";
   };
 
   buildInputs = [ mpd_clientlib ];
 
-  preConfigure =
-    ''
-      export LIBMPDCLIENT_LIBS=${mpd_clientlib}/lib/libmpdclient.${if stdenv.isDarwin then mpd_clientlib.majorVersion + ".dylib" else "so." + mpd_clientlib.majorVersion + ".0." + mpd_clientlib.minorVersion}
-      export LIBMPDCLIENT_CFLAGS=${mpd_clientlib}
-    '';
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    export LIBMPDCLIENT_LIBS=${mpd_clientlib}/lib/libmpdclient.${if stdenv.isDarwin then mpd_clientlib.majorVersion + ".dylib" else "so." + mpd_clientlib.majorVersion + ".0." + mpd_clientlib.minorVersion}
+    export LIBMPDCLIENT_CFLAGS=${mpd_clientlib}
+  '';
 
   meta = with stdenv.lib; {
     description = "A minimalist command line interface to MPD";
     homepage = http://www.musicpd.org/clients/mpc/;
     license = licenses.gpl2;
-    maintainers = [ maintainers.algorith ];
+    maintainers = with maintainers; [ algorith ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 31185c0d0c2..e43120a715d 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  version = "0.24";
   name = "ncmpc-${version}";
+  version = "0.27";
 
-  src = fetchurl {
-    url = "http://www.musicpd.org/download/ncmpc/0/ncmpc-${version}.tar.xz";
-    sha256 = "1sf3nirs3mcx0r5i7acm9bsvzqzlh730m0yjg6jcyj8ln6r7cvqf";
+  src = fetchFromGitHub {
+    owner  = "MusicPlayerDaemon";
+    repo   = "ncmpc";
+    rev    = "v${version}";
+    sha256 = "0sfal3wadqvy6yas4xzhw35awdylikci8kbdcmgm4l2afpmc1lrr";
   };
 
-  buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]
-    ++ libintlOrEmpty;
+  buildInputs = [ glib ncurses mpd_clientlib ];
+    # ++ libintlOrEmpty;
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
+  # without this, po/Makefile.in.in is not being created
+  preAutoreconf = ''
+    ./autogen.sh
+  '';
+
   configureFlags = [
     "--enable-colors"
     "--enable-lyrics-screen"
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index a13009407eb..da0f7484888 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -9,7 +9,7 @@ in stdenv.mkDerivation rec {
     sha256 = "0qp2nnz6pnl1d7yv9hcjyim7q6yax5881k1jxm8jfgjqagmz5k6p";
   };
   buildInputs = [ SDL2 pkgconfig flac libsndfile ];
-  makeFlags = [ "NO_LTDL=1 TEST=0 EXAMPLES=0" ]
+  makeFlags = [ "NO_PULSEAUDIO=1 NO_LTDL=1 TEST=0 EXAMPLES=0" ]
   ++ stdenv.lib.optional (stdenv.isDarwin) "SHARED_SONAME=0";
   installFlags = "PREFIX=\${out}";
 
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 765f0e9e5a7..e5dbf0aab84 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -8,7 +8,7 @@ let
   # Please update the stable branch!
   # Latest version number can be found at:
   # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
-  version = "1.0.53.758.gde3fc4b2-33";
+  version = "1.0.55.487.g256699aa-16";
 
   deps = [
     alsaLib
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-    sha256 = "1sh6bv23yx0fcbmf60c2yyi6411ij85k4jalpjlck2w26nfj1b3g";
+    sha256 = "09rhm0jp5prcvyf8zpw4pl422yiy8nkazcjc3lv61ngpznk3n1r0";
   };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index d54c0168704..0ba89099eb3 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -33,8 +33,8 @@
 
 let
 
-  version = "2.3.2.0";
-  build = "162.3934792";
+  version = "2.3.3.0";
+  build = "162.4069837";
 
   androidStudio = stdenv.mkDerivation {
     name = "android-studio";
@@ -98,13 +98,14 @@ let
     '';
     src = fetchurl {
       url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
-      sha256 = "19wmbvmiqa9znvnslmp0xmkq4avpmgpzmyaai1fa28388qra4cvf";
+      sha256 = "0zzis9m2xp44xwkj0zvcqw5rh3iyd3finyi5nqhgira1fkacz0qk";
     };
-    meta = {
+    meta = with stdenv.lib; {
       description = "The Official IDE for Android";
       homepage = https://developer.android.com/studio/index.html;
-      license = stdenv.lib.licenses.asl20;
+      license = licenses.asl20;
       platforms = [ "x86_64-linux" ];
+      maintainers = with maintainers; [ primeos ];
     };
   };
 
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 2b068156910..e936c8a5a7c 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.17.0";
+  version = "1.17.2";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "10m1sww8zkhnhs3frlnd6g3b6f4fimgp0512wcszgqhvlhjbf9ln";
+    sha256 = "05lf9f5c9l111prx7d76cr5h8h340vm7vb8hra5rdrqhjpdvwhhn";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index c69d4c2786f..9bf51fc0904 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -561,6 +561,20 @@
           license = lib.licenses.free;
         };
       }) {};
+    dired-du = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    elpaBuild {
+        pname = "dired-du";
+        version = "0.5";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/dired-du-0.5.tar";
+          sha256 = "09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/dired-du.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
     elpaBuild {
         pname = "dismal";
@@ -630,10 +644,10 @@
       }) {};
     ediprolog = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "ediprolog";
-        version = "1.1";
+        version = "1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ediprolog-1.1.el";
-          sha256 = "19qaciwhzr7k624z455fi8i0v5kl10587ha2mfx1bdsym7y376yd";
+          url = "https://elpa.gnu.org/packages/ediprolog-1.2.el";
+          sha256 = "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz";
         };
         packageRequires = [];
         meta = {
@@ -804,6 +818,20 @@
           license = lib.licenses.free;
         };
       }) {};
+    gited = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    elpaBuild {
+        pname = "gited";
+        version = "0.2.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/gited-0.2.2.tar";
+          sha256 = "0ncxcrmiqhfzy18ssfkvbzmzwjbmr41ac1x7fpykrgihqiqglzfq";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/gited.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     gnome-c-style = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "gnome-c-style";
         version = "0.1";
@@ -1031,6 +1059,19 @@
           license = lib.licenses.free;
         };
       }) {};
+    kmb = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
+        pname = "kmb";
+        version = "0.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/kmb-0.1.el";
+          sha256 = "1wjfk28illfd5bkka3rlhhq59r0pad9zik1njlxym0ha8kbhzsj8";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/kmb.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     landmark = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "landmark";
         version = "1.0";
@@ -1100,10 +1141,10 @@
       }) {};
     load-relative = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "load-relative";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/load-relative-1.2.el";
-          sha256 = "0vmfal05hznb10k2y3j9mychi9ra4hxcm6qf7j1r8aw9j7af6riw";
+          url = "https://elpa.gnu.org/packages/load-relative-1.3.el";
+          sha256 = "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps";
         };
         packageRequires = [];
         meta = {
@@ -1312,10 +1353,10 @@
       }) {};
     nlinum = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "nlinum";
-        version = "1.6";
+        version = "1.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nlinum-1.6.el";
-          sha256 = "1hr5waxbq0fcys8x2nfdl84mp2v8v9qi08f1kqdray2hzmnmipcw";
+          url = "https://elpa.gnu.org/packages/nlinum-1.7.el";
+          sha256 = "0ql1dbad29sdv3wmv65985g8ibl2176m2hqhjfrppgg34h3w51lz";
         };
         packageRequires = [];
         meta = {
@@ -1404,10 +1445,10 @@
       }) {};
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20170502";
+        version = "20170606";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-20170502.tar";
-          sha256 = "12inz804j55ycprb2m3ay54d1bhwhjssmn5nrfm7cfklyhfsy27s";
+          url = "https://elpa.gnu.org/packages/org-20170606.tar";
+          sha256 = "0m2gln3wz9v3aflyxxy2317808yy05rrzrjx35spw2d90d10hmkz";
         };
         packageRequires = [];
         meta = {
@@ -1431,10 +1472,10 @@
     other-frame-window = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "other-frame-window";
-        version = "1.0.2";
+        version = "1.0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/other-frame-window-1.0.2.el";
-          sha256 = "0gr4vn7ld4fx372091wxnzm1rhq6rc4ycim4fwz5bxnpykz83l7d";
+          url = "https://elpa.gnu.org/packages/other-frame-window-1.0.3.el";
+          sha256 = "0vq1zfsdnxdjvmb7lkjyax27kfv0rw0141rd5fjnl6ap9yjwpxkv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1550,10 +1591,10 @@
       }) {};
     rainbow-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "rainbow-mode";
-        version = "0.12";
+        version = "0.13";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rainbow-mode-0.12.el";
-          sha256 = "10a7qs7fvw4qi4vxj9n56j26gjk61bl79dgz4md1d26slb2j1c04";
+          url = "https://elpa.gnu.org/packages/rainbow-mode-0.13.el";
+          sha256 = "1d3aamx6qgqqpqijwsr02ggwrh67gfink1bir0692alfkm3zdddl";
         };
         packageRequires = [];
         meta = {
@@ -1564,10 +1605,10 @@
     realgud = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, load-relative, loc-changes, test-simple }:
     elpaBuild {
         pname = "realgud";
-        version = "1.4.3";
+        version = "1.4.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/realgud-1.4.3.tar";
-          sha256 = "07yfah8kmr60rhrj8y8gs7l85hsbylv26crw3qbqh67ka4ykpj01";
+          url = "https://elpa.gnu.org/packages/realgud-1.4.4.tar";
+          sha256 = "1nc8km339ip90h1j55ahfga03v7x7rh4iycmw6yrxyzir68vwn7c";
         };
         packageRequires = [
           cl-lib
@@ -1730,10 +1771,10 @@
     soap-client = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
     elpaBuild {
         pname = "soap-client";
-        version = "3.1.1";
+        version = "3.1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/soap-client-3.1.1.tar";
-          sha256 = "0is2923g882farf73dix6ncq3m26yn5j5qr8wz6s0xad04zdbdhk";
+          url = "https://elpa.gnu.org/packages/soap-client-3.1.2.tar";
+          sha256 = "0crfpp2ksqvzf2j3q44qq6z8zh1r10q9kw12cxbmjiih89q01b68";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1850,10 +1891,10 @@
     test-simple = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
     elpaBuild {
         pname = "test-simple";
-        version = "1.2.0";
+        version = "1.3.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/test-simple-1.2.0.el";
-          sha256 = "1j97qrwi3i2kihszsxf3y2cby2bzp8g0zf6jlpdix3dinav8xa3b";
+          url = "https://elpa.gnu.org/packages/test-simple-1.3.0.el";
+          sha256 = "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1981,6 +2022,19 @@
           license = lib.licenses.free;
         };
       }) {};
+    vdiff = callPackage ({ elpaBuild, emacs, fetchurl, hydra, lib }: elpaBuild {
+        pname = "vdiff";
+        version = "0.2.3";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/vdiff-0.2.3.el";
+          sha256 = "197wszzhm2kbfvvlg3f0dzfs3lf4536yq5fd67k2rycj421fr9qz";
+        };
+        packageRequires = [ emacs hydra ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/vdiff.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     vlf = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "vlf";
         version = "1.7";
@@ -2048,10 +2102,10 @@
       }) {};
     websocket = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "websocket";
-        version = "1.6";
+        version = "1.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/websocket-1.6.tar";
-          sha256 = "09im218c1gkq1lg356rcqqpkydnpxs5qzdqkwk95pwndswb40a5a";
+          url = "https://elpa.gnu.org/packages/websocket-1.8.tar";
+          sha256 = "0dcxmnnm8z7cvsc7nkb822a1g6w03klp7cijjnfq0pz84p3w9cd9";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 99d08e87f67..daea504c24c 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -127,12 +127,12 @@
     abl-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "abl-mode";
-        version = "20170309.117";
+        version = "20170604.1309";
         src = fetchFromGitHub {
           owner = "afroisalreadyinu";
           repo = "abl-mode";
-          rev = "0539862591a5af70e6fa04f0e88e7fc0f0fbb11e";
-          sha256 = "0fxl67nmy6vi6viwxday4j81m9lg4l8vg6yw2phgagm4zlp65k58";
+          rev = "9aff997fe7b4caded60150a832e3704ac55e69e5";
+          sha256 = "0yfk7s7n10lkf11dy1l0xi0bbsjbam5lqq8kj9hxpz2zkddbaljl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/70a52edb381daa9c4dcc9f7e511175b38fc141be/recipes/abl-mode";
@@ -316,12 +316,12 @@
     ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }:
     melpaBuild {
         pname = "ac-clang";
-        version = "20170330.1108";
+        version = "20170608.958";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "ac-clang";
-          rev = "c4aab21df64011916039e18094e189533018e115";
-          sha256 = "1ac8rw0r4x1plrwy6xwswy5mj5h1r975y8wvx01g2j8an41xhlms";
+          rev = "8fdfbbebf096017ab45cedcff2c43a0a5d8b9686";
+          sha256 = "0ik1hh8qs5yjb034zc93fyd6la84mgp6y5gzvpz6rfbjfxy6vf3y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang";
@@ -381,8 +381,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "1d0ac3f4cd90d44e75f75c8c0bd234013349e14f";
-          sha256 = "0cds3rmyp3imx234vdbmrl5l7fq90aixb8n1iv0ba5jrx1yk91lz";
+          rev = "ebb844d1ebdd7eb347e89063a9b6e9f890a1ff57";
+          sha256 = "18q4blnxf7p2kvgh1rhr7pizga06z97hv1lxjgzv0dc2dll2zwmd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim";
@@ -738,8 +738,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "58b68de970201712ecf7f1ba64fdb9b7bee2d66e";
-          sha256 = "0sqv9kzcxlvcf72xlr2xpblhcnq6xvrr6kqdy4zrgiqdw884q134";
+          rev = "eba56378cf8d60c4871e0e9d0d0e201d302778ea";
+          sha256 = "0d5pwxla9lkrkb2a5c7y4sm6js7jgm2m8i3lja0c5qzw5b50zwxs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -759,8 +759,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "58b68de970201712ecf7f1ba64fdb9b7bee2d66e";
-          sha256 = "0sqv9kzcxlvcf72xlr2xpblhcnq6xvrr6kqdy4zrgiqdw884q134";
+          rev = "eba56378cf8d60c4871e0e9d0d0e201d302778ea";
+          sha256 = "0d5pwxla9lkrkb2a5c7y4sm6js7jgm2m8i3lja0c5qzw5b50zwxs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -797,12 +797,12 @@
     ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "ac-rtags";
-        version = "20170402.653";
+        version = "20170522.2154";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "2abdfb2adf24b881cdd04e904ecb341bb51e8cb6";
-          sha256 = "11f9sd8w7qqhfd6mxbihlc6mdki4lqyk4dwbi3v91k9hbxb9hlq2";
+          rev = "d6af2ad09c99f9c58900665e874dcf97a545c0fa";
+          sha256 = "12p22b9q4rkl7jswg12gqc8751sinzgj8h75jjzrggd0vfsg439a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -1007,12 +1007,12 @@
     ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-link";
-        version = "20170319.553";
+        version = "20170528.1158";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-link";
-          rev = "0b6e06e0b5222a57e5e6f1d9af6436eb12102e3e";
-          sha256 = "1h8j1dl9xyybm0pj3j2j6fcq7bryby2h1s64r6ijcsgrqgimq66i";
+          rev = "99787dc79ed9ec14a2b87257d6c8ce5b8ec0a0b0";
+          sha256 = "103pb0c5g25fsnbjcjgj04aq4damxwhm2fg86fgxihrch8a7bhcn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
@@ -1070,12 +1070,12 @@
     ace-popup-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-popup-menu";
-        version = "20170501.1109";
+        version = "20170518.2244";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ace-popup-menu";
-          rev = "1080044df90d27e50fed233d5195560ced355822";
-          sha256 = "08ym1jvg72b8aj99w52bink800m1i6ckidj8hzav32s6w4nsssxk";
+          rev = "e7cc8bace9dda5c9fbe545c6fbd41c12679c3d7d";
+          sha256 = "1khqh5b9c7ass3q2gc04ayc8idanabkyfpaqvfnag063x16fv40c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/53742e2242101c4b3b3901f5c74e24facf62c7d6/recipes/ace-popup-menu";
@@ -1174,12 +1174,12 @@
     add-hooks = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "add-hooks";
-        version = "20170410.2133";
+        version = "20170518.209";
         src = fetchFromGitHub {
           owner = "nickmccurdy";
           repo = "add-hooks";
-          rev = "73f2ac34529f4ea0c9fc9f333531d082032d4025";
-          sha256 = "1gnnnydvmkgqzbfnc0wx386il5kcgfxdba3vq7c9p6cqxslpd8k5";
+          rev = "f7a94ef1762ad8eb58d24c0857751863ea93cd5b";
+          sha256 = "1j524wvl9l9hzahq8by9bnh745kg2z7l808ad9b0y0wx5kf17xlz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/901f846aef46d512dc0a1770bab7f07c0ae330cd/recipes/add-hooks";
@@ -1258,12 +1258,12 @@
     aes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "aes";
-        version = "20160121.1237";
+        version = "20170607.157";
         src = fetchFromGitHub {
           owner = "Sauermann";
           repo = "emacs-aes";
-          rev = "1b9918036b16ee30ada71703a9283c67f2ad9999";
-          sha256 = "1p90yv2xl1hhpjm0mmhdjyf1jagf79610hkzhw8nycy2p1y4gvl6";
+          rev = "8d9ddaa7d13875745241f0f98758b1d72dd3be92";
+          sha256 = "1d998xyfnzgci62h0wv1n9a7hlk23ngcbl83k04ahz61g7haqnh2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/33ca3106852f82624b36c7e3f03f5c0c620f304f/recipes/aes";
@@ -1342,12 +1342,12 @@
     aggressive-indent = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "aggressive-indent";
-        version = "20170321.1300";
+        version = "20170515.927";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "aggressive-indent-mode";
-          rev = "9dfde9ccef6dffbfa68219d91703d779cfe7016a";
-          sha256 = "1aslsq5jjvg0hywk4qzk30k6kaics1xslpqd38n24w37872b70jn";
+          rev = "5a019ef01b29b46381b9263f0edb3eee72b60328";
+          sha256 = "1vgmkkdnns0xw2khyxprb1cv5pqjpx6vl71zdqrr41zb3kdfl628";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/aggressive-indent";
@@ -1487,12 +1487,12 @@
     alda-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alda-mode";
-        version = "20170125.1720";
+        version = "20170611.1031";
         src = fetchFromGitHub {
           owner = "jgkamat";
           repo = "alda-mode";
-          rev = "921b1d39ee1122c0f6935598dc17aaa904e74819";
-          sha256 = "01zz3h6q3djqmb3l6s9jld8x1zx2m0x1qskxzywnyfh8hcvbqy6f";
+          rev = "8bf40e0ed78c3d2b6536bee3a4b50a9f78a0c1a1";
+          sha256 = "167lmzh4grz4k47pw0pcq5pqbwjncfgw2wgzhvvg5jp66p7pmwqp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2612c494a2b6bd43ffbbaef88ce9ee6327779158/recipes/alda-mode";
@@ -1592,12 +1592,12 @@
     all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild, memoize }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "20170509.318";
+        version = "20170516.158";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "d070531959036edabc38f39ae8cb1a15608af993";
-          sha256 = "1a6j09n0bgxihyql4p49g61zbdwns23pbhb1abphrwn3c2aap2lx";
+          rev = "7134b7467a7061b57c8cda3503e9644d4ed92a2a";
+          sha256 = "0xwj8wyj0ywpy4rcqxz15hkr8jnffn7nrp5fnq56j360v8858q8x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
@@ -1659,8 +1659,8 @@
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "amd-mode.el";
-          rev = "977b53e28b3141408fff4814be8b67ee23650cac";
-          sha256 = "0m80bwar80qsga735cqrn6rbvfz4w9a036zh8inhsigylv3vwqjv";
+          rev = "11e27444692bbf0eb38ec28af6bd041618c5c091";
+          sha256 = "1qcag5sjg2p64lllgy237j8gkm7vp2kxr6wppkps5wgkf7bn4q4z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e4d6e9935e4935c9de769c7bf1c1b6dd256e10da/recipes/amd-mode";
@@ -1752,8 +1752,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "anaconda-mode";
-          rev = "6141aba393e992308d01b550f0b96add62440b04";
-          sha256 = "1gkkjnmczpvaw020vw1gbda3dv0h1g7fzdqs3rigwlzzajc96bj4";
+          rev = "1e7c9322c1ef395c4c4585bb29f5a421f2aa3077";
+          sha256 = "1bb090n8nz8vacspihvnq37dx8knjgnarjbx5r4mqy9bp1v8i52p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode";
@@ -2455,22 +2455,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    apib-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
+    apib-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "apib-mode";
-        version = "20161201.817";
+        version = "20170520.658";
         src = fetchFromGitHub {
           owner = "w-vi";
           repo = "apib-mode";
-          rev = "940fb1faecb4b0a460ed36de5551a59ebd1edf58";
-          sha256 = "0sny3jv4amfc3lx45j1di2snp42xfl907q3l7frqhhsal57lkvd1";
+          rev = "6cc7c6f21b8e415b1718bb6a07ab2182e9e9dde6";
+          sha256 = "1717f78kaqkmbhfwb9kzsv5wi2zabcbwb4wh1jklhcaalvmk3z7d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ebb04f975d8226a76260895399c937d6a1940/recipes/apib-mode";
           sha256 = "0y3n0xmyc4gkypq07v4sp0i6291qaj2m13zkg6mxp61zm669v2fb";
           name = "apib-mode";
         };
-        packageRequires = [ emacs markdown-mode ];
+        packageRequires = [ markdown-mode ];
         meta = {
           homepage = "https://melpa.org/#/apib-mode";
           license = lib.licenses.free;
@@ -2483,8 +2483,8 @@
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "apiwrap.el";
-          rev = "4ae045879cb3d7ce45f0a4a8ad4520b9225ca37b";
-          sha256 = "0845qajz2jcyfjxynabdnqpgm6cm9h5sbb6wiq06q30794pvlc0n";
+          rev = "8b60f9e9082583aa537369499506c70f192467ab";
+          sha256 = "13pr2hkn2jmg85299lga9rvllghkc0khfdgl3d8g2al9ib0il8pk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
@@ -2728,12 +2728,12 @@
     arjen-grey-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "arjen-grey-theme";
-        version = "20160403.1215";
+        version = "20170522.1347";
         src = fetchFromGitHub {
           owner = "credmp";
           repo = "arjen-grey-theme";
-          rev = "b795dcb5760a5ccc3597733c5933b91252542135";
-          sha256 = "0p8k6sxmvmf535sawis6rn6lfyl5ph263i1phf2d5wl3dzs0xj5x";
+          rev = "4cd0be72b65d42390e2105cfdaa408a1ead8d8d1";
+          sha256 = "1n5axwn498ahb6984ir1zfl8vvwgbvq9bbrdfzydkmjljhgrp0rd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ed9804061cfadd26c69bb1bfe63dbe22f916f723/recipes/arjen-grey-theme";
@@ -2749,12 +2749,12 @@
     artbollocks-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "artbollocks-mode";
-        version = "20161030.2059";
+        version = "20170523.2122";
         src = fetchFromGitHub {
           owner = "sachac";
           repo = "artbollocks-mode";
-          rev = "d77a01985a9161ce1676fb18d7228a0df566942b";
-          sha256 = "1y69zq4r9ir1a2hy03lillxhw3skfj8ckkjv45i5xpasz4hjw50j";
+          rev = "4a907e470bf345b88c3802c1241ce2b8cf4123ee";
+          sha256 = "1l1dwhdfd5bwx92k84h5v47pv9my4p4wj0wq8hrwvwzwlv8dzn2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/22b237ab91ddd3c17986ea12e6a32f2ce62d3a79/recipes/artbollocks-mode";
@@ -2873,12 +2873,12 @@
     async = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "async";
-        version = "20170502.2343";
+        version = "20170610.2241";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "emacs-async";
-          rev = "09a177c15bd3aafc57ba6a63ab093f640ffa2610";
-          sha256 = "0jr5q7zrh2k5h884xk5m45g3ymj6kikx08wz521qhablfxma6xw8";
+          rev = "d6222c2959caaca5c4980038756097da8a51e505";
+          sha256 = "1w7crkgi2k97zxdqv2k6a88kmz75s5v7p7n8bw8v18dvxx9sfisn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/async";
@@ -3041,12 +3041,12 @@
     audio-notes-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "audio-notes-mode";
-        version = "20140204.1154";
+        version = "20170611.1459";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "audio-notes-mode";
-          rev = "2158b2e8d20df3184bbe273a7fd5aa693e98baa9";
-          sha256 = "0q79kblcbz5vlzj0f49vpc1902767ydmvkmwwjs60x3w2f3aq3cm";
+          rev = "fa38350829c7e97257efc746a010471d33748a68";
+          sha256 = "1srg6rg3j9ri2cyr4g78dfqq3fhpn6hf3mq4iz2jfqjayppfv38b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/audio-notes-mode";
@@ -3108,8 +3108,8 @@
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "auth-password-store";
-          rev = "cfd9cecb319c8fb547a62c732a5c1a106049c200";
-          sha256 = "14cxchnp3sxnps03iycifvjx0w5lsxfnz6qsxgkxnis300lmnkym";
+          rev = "e8d8733b1af67e4ea088d1ed015c554171feecb9";
+          sha256 = "05yzqrdk2d6mqyapgnfflfvm2pqifmb6fprf5si8n6wb8gmi2idw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
@@ -3559,6 +3559,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    auto-minor-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "auto-minor-mode";
+        version = "20170601.1421";
+        src = fetchFromGitHub {
+          owner = "joewreschnig";
+          repo = "auto-minor-mode";
+          rev = "92871449782f8679f15573ad178b9c2247da8bfd";
+          sha256 = "14kh6p34mrqfqyjzr0wvxx4acp72pz2b75w96y3jyhiswvaqfcr1";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b3ab5f048034777551e344101d8415cac92362c8/recipes/auto-minor-mode";
+          sha256 = "1dpdylrpw1pvlmhh229b3lqs07drx9kdhw4vcv5a48qah14dz6qa";
+          name = "auto-minor-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/auto-minor-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     auto-org-md = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "auto-org-md";
@@ -3709,12 +3730,12 @@
     auto-virtualenvwrapper = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s, virtualenvwrapper }:
     melpaBuild {
         pname = "auto-virtualenvwrapper";
-        version = "20170421.26";
+        version = "20170518.1442";
         src = fetchFromGitHub {
           owner = "robert-zaremba";
           repo = "auto-virtualenvwrapper.el";
-          rev = "de613a872e9f3cf59786578883177b1bd654a75c";
-          sha256 = "1y2b3i5fk3qhp90xcpdwzl2bdgjk3nrlxi78icpb81rw700qlqzq";
+          rev = "e2fb997e452e62e8bf9f80691941d3d25208e944";
+          sha256 = "0c0llr8kpq54zy1k2qjhhln76ii7r0nmgb85s3nrzar5l1z57zqg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/02a209ae8f9fc68feb3bb64d32d129fedef2b80b/recipes/auto-virtualenvwrapper";
@@ -4044,12 +4065,12 @@
     avy-menu = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avy-menu";
-        version = "20170501.1112";
+        version = "20170518.2245";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "avy-menu";
-          rev = "663d3816b01baf445b3076ed757f503c944018f0";
-          sha256 = "0x6aa2dmvamqw90gqylj2yyrzsp8gyqvb2nwnzdpighnzal5rhl7";
+          rev = "71b71e64900d0637e17013781042e086e9bf56e7";
+          sha256 = "1mxrq2fpx3qa9vy121wnv02r43sb7djc2j8z7c2vh8x56h8bpial";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0b4cfb30c405d44803b36ebcaccef0cf87fe2d/recipes/avy-menu";
@@ -4382,12 +4403,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20170505.1010";
+        version = "20170606.1402";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "89ee73d88183b4f60f973ff0a47a571a5de46d1d";
-          sha256 = "046db0np55fdnyr7bwhl2h1cqjh1ryd09fvkwn02cv2kb7knkfig";
+          rev = "be8f3ea35a2f58a218db062934ce3a1a054db3df";
+          sha256 = "01pdwvv1pbphnsw3h38x087xbdp5ry1h18bqiiispzvhyc56xvak";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -4798,12 +4819,12 @@
     beginend = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "beginend";
-        version = "20170324.728";
+        version = "20170605.541";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "beginend";
-          rev = "2d8908922fadc1e29938703593a77da6456dc276";
-          sha256 = "0h6i56pa92x89rilgb7kgfpnsx57d157r284q0icm4xj990svg21";
+          rev = "28806d09207e4a194a39eb385650824a0121e0cd";
+          sha256 = "17qhbgq3ciyjjl4a1mm6qn5g5y39plmncad6i4kijcda9kx44w48";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/31c1157d4fd9e47a780bbd91075252acdc7899dd/recipes/beginend";
@@ -5115,8 +5136,8 @@
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "54ce52604477c237b663a02d49be9d6d307d49bd";
-          sha256 = "1rpyfbh0zp6a013nva2b1czis10mr8vzv52qlhgcfm78m48bvhya";
+          rev = "726eea13a3a4d75d630aac29d6b71d74d9dc69e3";
+          sha256 = "1r75ysdz6cj97vn46lj4g2a3hsab377f667a8bfs17rz007nddv4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key";
@@ -5153,12 +5174,12 @@
     bing-dict = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bing-dict";
-        version = "20170209.1459";
+        version = "20170604.1831";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "bing-dict.el";
-          rev = "7c067b7a3a1a4797476f03a65f4a0b4a269a70c7";
-          sha256 = "1cw8zxcj7ygj73dc8xf6b4sdjrwxfl6h07mrwym8anllqs2v0fa6";
+          rev = "d4b261739e53e8ed8fa5db3d3946de82c0ab8e34";
+          sha256 = "0dn6rifr0njpw3mwbyn21bw88lp0kzwwjp7ivgbbl1bxshj0ybhk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/bing-dict";
@@ -5571,12 +5592,12 @@
     boogie-friends = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "boogie-friends";
-        version = "20161019.1425";
+        version = "20170521.1917";
         src = fetchFromGitHub {
           owner = "boogie-org";
           repo = "boogie-friends";
-          rev = "8b567f5efe71d94bba3c29c52dffd58a33abc0cb";
-          sha256 = "1gwj8d1635l7l7cqk1508gkzfgi8hpq6w0x22w7rd5yrwz1nmx5b";
+          rev = "38ab3efc2021318cd62f9187214b69d34b4afca6";
+          sha256 = "01yccb86gzag2anmqj1p196m5374mxnxha1fbhv7krc2avx2j71x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5bdd06b82d002677c046876642efe1dc01bc3e77/recipes/boogie-friends";
@@ -5591,7 +5612,7 @@
       }) {};
     bookmark-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "bookmark-plus";
-        version = "20170331.1856";
+        version = "20170512.1631";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/bookmark+.el";
           sha256 = "0iqvlwqilwpqlymj8iynw2miifl28h1g7z10q08rly2430fnmi37";
@@ -5632,12 +5653,12 @@
     boon = callPackage ({ dash, emacs, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }:
     melpaBuild {
         pname = "boon";
-        version = "20170508.733";
+        version = "20170528.2317";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "boon";
-          rev = "b5326c5bd68f2dbeef87adae6657eb24f068dbc5";
-          sha256 = "1mxzsm1zkb99hpn7hav0yph3s04cbkhyj7dps49rphfp8s0ks90f";
+          rev = "4b76f0a86c84b0e4032cdee787c3ee55372e6c31";
+          sha256 = "1rr52dwwxq26v0h7apgr6nqpvfahrzm3j6p3zpbyp3lhb4sc2rjw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/boon";
@@ -5821,12 +5842,12 @@
     browse-at-remote = callPackage ({ cl-lib ? null, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "browse-at-remote";
-        version = "20170330.1452";
+        version = "20170523.556";
         src = fetchFromGitHub {
           owner = "rmuslimov";
           repo = "browse-at-remote";
-          rev = "7a34d6579a98d13b2887addab25947ea96502de9";
-          sha256 = "1ybb9gyw1b4fjbh02lj632vc89m9yq91dvshnbnzg0wbr77d33xr";
+          rev = "5de73fcaa54b638554fcbd59a693bc647ff9dee1";
+          sha256 = "04ad27g1jpy7gdbibyckwrv0y6psq9v66k0zd1hnll1aqlx1k70h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/browse-at-remote";
@@ -6403,12 +6424,12 @@
     buttercup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "buttercup";
-        version = "20170421.245";
+        version = "20170520.147";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "emacs-buttercup";
-          rev = "ed649d722aeb20683705a2378438833efd96e271";
-          sha256 = "1bjkfivxs0x0jlj5qh5adjxmjvj8nd0vs77l4mbm6yv2gm08shxd";
+          rev = "d8dc80da12cc1e71fcf54b0f4deb8d229bc97beb";
+          sha256 = "0zsf2qk41i1ay6h85d1ppj5qnzdrb9n09bzj9s9hk7ysag1rlqj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup";
@@ -6762,7 +6783,7 @@
         version = "20151009.845";
         src = fetchsvn {
           url = "https://caml.inria.fr/svn/ocaml/trunk/emacs/";
-          rev = "16556";
+          rev = "16557";
           sha256 = "16qw82m87i1fcnsccqcvr9l6p2cy0jdhljsgaivq0q10hdmbgqdw";
         };
         recipeFile = fetchurl {
@@ -6972,8 +6993,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "aa9dba05f7a971c530ef9da3d5dffc764df3bcfd";
-          sha256 = "0iasvz1rvb4bk8pa0q298mc1lywdvddvsnh2rv3m10zar9z9xlrr";
+          rev = "25057a27543788079e7040bf42b139e0aa0635b5";
+          sha256 = "1fja4c4d8bqnp6ip423n3p2xisq9m9bhnsv0bl6fm5svm8qmcb1f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7375cab750a67ede1a021b6a4371b678a7b991b0/recipes/ccc";
@@ -7014,8 +7035,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "aa9dba05f7a971c530ef9da3d5dffc764df3bcfd";
-          sha256 = "0iasvz1rvb4bk8pa0q298mc1lywdvddvsnh2rv3m10zar9z9xlrr";
+          rev = "25057a27543788079e7040bf42b139e0aa0635b5";
+          sha256 = "1fja4c4d8bqnp6ip423n3p2xisq9m9bhnsv0bl6fm5svm8qmcb1f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b48fe069ecd95ea0f9768ecad969e0838344e45d/recipes/cdb";
@@ -7135,12 +7156,12 @@
     centered-window-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "centered-window-mode";
-        version = "20170510.1334";
+        version = "20170528.25";
         src = fetchFromGitHub {
           owner = "anler";
           repo = "centered-window-mode";
-          rev = "cb1b7d010c8f59969fd326983503ee6935d9da8e";
-          sha256 = "12210z0aa9arhah2s4gpc4k9l29i293qgz1zimaryizxcfqvp4n8";
+          rev = "c46af782ada0d4062d7de5cbbdc7c7471fdd0d15";
+          sha256 = "1xbfmanimq0ql61lzxx74jf4kj1g9imzgwiy1498mhbdbw295fg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/centered-window-mode";
@@ -7195,6 +7216,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ceylon-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ceylon-mode";
+        version = "20170605.1450";
+        src = fetchFromGitHub {
+          owner = "lucaswerkmeister";
+          repo = "ceylon-mode";
+          rev = "00f790b3ed5ec48e2461e20a4d466ba45c634e13";
+          sha256 = "08zk6aspy59gv3989zxz0ibxxwkbjasa83ilpzvpcwszrzq8x640";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/09cd1a2ccf33b209a470780a66d54e1b1d597a86/recipes/ceylon-mode";
+          sha256 = "0dgqmmb8qmvzn557h0fw1mx4y0p96870l8f8glizkk3fifg7wgq4";
+          name = "ceylon-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ceylon-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     cfengine-code-style = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cfengine-code-style";
@@ -7202,8 +7244,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "5c98a709d1a282354af57781c500467f3562e18f";
-          sha256 = "0j48v4ai7hn5mxhs3acwmyndzlzlxgzdvqj0a2205w22alb7dxdn";
+          rev = "036c5898eb89e846fa1b86537a5c0569868dbaf0";
+          sha256 = "0cz4cwisnlbkclc6cn7rlz7pkpwh5p0646dzrkw92bk5vmwh89pg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7242,7 +7284,7 @@
         version = "20170201.347";
         src = fetchsvn {
           url = "https://beta.visl.sdu.dk/svn/visl/tools/vislcg3/trunk/emacs";
-          rev = "12189";
+          rev = "12230";
           sha256 = "0lv9lsh1dnsmida4hhj04ysq48v4m12nj9yq621xn3i6s2qz7s1k";
         };
         recipeFile = fetchurl {
@@ -7322,12 +7364,12 @@
     char-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "char-menu";
-        version = "20170501.1119";
+        version = "20170518.2247";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "char-menu";
-          rev = "06250f472d2c6dd55c62057e7e0411d6ca494e35";
-          sha256 = "0ibmsixxhb1j2jz7s7hilmqk8f2p609q5g9xhi915xb6vlq9yrwb";
+          rev = "f4d8bf8fa6787e2aaca2ccda5223646541d7a4b2";
+          sha256 = "0zyi1ha17jk3zz7nirasrrx43j3jkrsfz7ypbc4mk44w7hsvx2hj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f6676747e853045b3b19e7fc9524c793c6a08303/recipes/char-menu";
@@ -7364,12 +7406,12 @@
     chatwork = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chatwork";
-        version = "20161121.555";
+        version = "20170510.2142";
         src = fetchFromGitHub {
           owner = "ataka";
           repo = "chatwork";
-          rev = "70b41451e2d2751e634e84e0452b34c558463fe4";
-          sha256 = "11h76qc2n2p8yz941drmi0rp13xmmlacikfygdv1n7s730ja0hgy";
+          rev = "fea231d479f06bf40dbfcf45de143eecc9ed744c";
+          sha256 = "163xr18lm4awfgh4lcp7pr04jirpvlk8w1g4445zbxbpjfvv268z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/77ae72e62b8771e890525c063522e7091ca8f674/recipes/chatwork";
@@ -7382,6 +7424,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    cheat-sh = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "cheat-sh";
+        version = "20170606.727";
+        src = fetchFromGitHub {
+          owner = "davep";
+          repo = "cheat-sh.el";
+          rev = "512c74b0cb0798a75303c5384ee165c8a5f3356b";
+          sha256 = "1m65k2gqd5irwk4cj97p33q14shn4cpz0zxcpg4m3bgiwl8qmxhs";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ebac62fb3828d81e30145b9948d60e781e20eda2/recipes/cheat-sh";
+          sha256 = "0f6wqyh3c3ap0l6khikqlw8sqqi6fsl468gn157faza4x63j9z80";
+          name = "cheat-sh";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/cheat-sh";
+          license = lib.licenses.free;
+        };
+      }) {};
     cheatsheet = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cheatsheet";
@@ -7431,8 +7494,8 @@
         src = fetchFromGitHub {
           owner = "eikek";
           repo = "chee";
-          rev = "a986cce6fe0290934dedfb7afcfdcf5f5eb47a30";
-          sha256 = "1cwn5xjchra3dsngbyh23w2p4ndjyjjg0zmj1ij4fk3v86cfqf79";
+          rev = "19437183960ee525de1c0cde13dc2c8d8921abfb";
+          sha256 = "0hrl7h2069g6r2b3i2b7sxizny6ihgf8qajfima32la3gsb0hd4k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f4a3775720924e5a292819511a8ea42efe1a7dc/recipes/chee";
@@ -7553,12 +7616,12 @@
     chinese-fonts-setup = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chinese-fonts-setup";
-        version = "20170507.245";
+        version = "20170512.1";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-fonts-setup";
-          rev = "43f08ae41903dce980aed8b8ee1e92aee2c4806e";
-          sha256 = "074hgpsfzk0zwrnhm6j3q6hw4ygqf08fpc4zbn8f32dsvcd2nlws";
+          rev = "a88f45239ca73e95eb6bac923590f1d108b822ca";
+          sha256 = "1h0nwrnh0krn9p0x1cj67gjdlzr82xml76ycn6745f943sn6d5ah";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c536882e613e83a4a2baf86479bfb3efb86d916a/recipes/chinese-fonts-setup";
@@ -7595,12 +7658,12 @@
     chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }:
     melpaBuild {
         pname = "chinese-pyim";
-        version = "20170430.131";
+        version = "20170512.735";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-pyim";
-          rev = "2fd3610a6585069693c4ce7b7eef6dcba7e57855";
-          sha256 = "0k0nvv032i065lkmh1afyax5jx8bnshnxr2d0dfqhmlp8mpa5znx";
+          rev = "d57d0fd47565dc087724a68c6b3abd16a58625ae";
+          sha256 = "10ir2452rj6f48qfgwps6y1mn5afrsa04z0xl2f31j5463j4b4mx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim";
@@ -7637,12 +7700,12 @@
     chinese-pyim-greatdict = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chinese-pyim-greatdict";
-        version = "20160619.2109";
+        version = "20170513.1833";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-pyim-greatdict";
-          rev = "11cf5145710349e9d928eb9197bebb426025fd58";
-          sha256 = "1pza690b31ynyj31f1gp7y2d29ri3swcblpzd2pcpj3ynmnbsy3f";
+          rev = "8efd9321d21d5daabdb32cb3696bc7c7b83ce991";
+          sha256 = "05ap9d2kk9dyj85zm581nwizbdqx8fqa0yjswk4df0y6mgz4g0q9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/03234f7a1abe7423c5a9bcb4c100957c8eece351/recipes/chinese-pyim-greatdict";
@@ -7845,12 +7908,12 @@
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
-        version = "20170509.208";
+        version = "20170525.255";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "cider";
-          rev = "d84b8a8ba77cd685b3a4bc474b1928461cc86bf3";
-          sha256 = "1xj6ymyrr156w1cyw571dnnws0013c819x3lvl4cgiaj05nd4422";
+          rev = "7ffc207cf0e56305963e1a3387dce3114325544d";
+          sha256 = "1n4pik7fp4xlc0xdcnw649mx2r2qaiv1f5w9bbz1n4r4pqhmy5q7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@@ -8034,12 +8097,12 @@
     circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "circe";
-        version = "20170509.1443";
+        version = "20170528.731";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "1e90e5a89d07bd1584e990c35f5a9d564334a1ae";
-          sha256 = "13pv21bk4khq97a7km7gpj8rmwkmcb1y1nk72w35b9kipxv76vg2";
+          rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
+          sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
@@ -8121,8 +8184,8 @@
         version = "20170120.137";
         src = fetchsvn {
           url = "http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format";
-          rev = "302728";
-          sha256 = "1m3h5kln4v2hcwc4ahzk356415iizcg8cmika8221qvqci4wj7bm";
+          rev = "305184";
+          sha256 = "1hs00lf2f2fmxv2abhskrlqr96395j3ywbgs8aacadbzigdx4iq5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69e56114948419a27f06204f6fe5326cc250ae28/recipes/clang-format";
@@ -8327,12 +8390,12 @@
     clj-refactor = callPackage ({ cider, clojure-mode, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, seq, yasnippet }:
     melpaBuild {
         pname = "clj-refactor";
-        version = "20170502.1115";
+        version = "20170608.320";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clj-refactor.el";
-          rev = "b6d07155d4ff9181ea0d243235a496bc9d790857";
-          sha256 = "1y0vx1yx4ibr9qpkbmp2p48ah03vjin3w3wx9jxzd6dlprbyg59h";
+          rev = "769eb06ac82dff8aa0239b9ca47cf3240ff0857f";
+          sha256 = "17g6rq30dvvhr3lljzn5gg6v9bdxw31fw6b20sgcp7gx4xspc42w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor";
@@ -8507,12 +8570,12 @@
     clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode";
-        version = "20170407.312";
+        version = "20170608.2315";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "2d67af4230657fb06f0df4453b9d21031b32c1db";
-          sha256 = "1dan05yd3dvf3r4khahpyq849sq96bjxz7zyady8x3k3gnn35q5w";
+          rev = "eacd330f28513276da18e4d6f2607f9041314c49";
+          sha256 = "18hl01h390yhcm7g4ayvyz82m8gc29qv7za5vl10apfch5c6d2gw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode";
@@ -8532,8 +8595,8 @@
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "2d67af4230657fb06f0df4453b9d21031b32c1db";
-          sha256 = "1dan05yd3dvf3r4khahpyq849sq96bjxz7zyady8x3k3gnn35q5w";
+          rev = "eacd330f28513276da18e4d6f2607f9041314c49";
+          sha256 = "18hl01h390yhcm7g4ayvyz82m8gc29qv7za5vl10apfch5c6d2gw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking";
@@ -8738,12 +8801,12 @@
     cmake-ide = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, levenshtein, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "cmake-ide";
-        version = "20170502.30";
+        version = "20170605.12";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "cmake-ide";
-          rev = "ad5cdbdf2eec24ca1a527d56c1c75d47d1208e5c";
-          sha256 = "110d3vbjp41400wz2fjgmaqap7ma5f7rsg8i5ni74a8ys89333hd";
+          rev = "b7bb7bf36d442c377988a090fc648b03b50c8eff";
+          sha256 = "1iw0blpi38yykqqzl6s0w7z74ym0b56k1rxg5anyw0q9zkp0hb72";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide";
@@ -8763,8 +8826,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "8cc9e07a2ca7018feb0dbc286f1db23a4294eeec";
-          sha256 = "010ip83v6kbaqjwl8jv3n8by9zv8aldkpal1ass39dvp5rl7q56y";
+          rev = "abd1216c1f8a1211d348568bb7695c30505de84e";
+          sha256 = "1z3c0wjvk5ry69sjmslvw2mnnri63dk1vk6lbx881fxf67r4wf7f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -9027,13 +9090,34 @@
           license = lib.licenses.free;
         };
       }) {};
+    coin-ticker = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
+    melpaBuild {
+        pname = "coin-ticker";
+        version = "20170611.27";
+        src = fetchFromGitHub {
+          owner = "eklitzke";
+          repo = "coin-ticker-mode";
+          rev = "9efab90fe4e6f29464af14e0d8fd1e20c0147b80";
+          sha256 = "0xnrh6v4s2s3fgvw0v9fl48dlk4r2p6axp7xf41gzb1ai81yczhv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fd783998658b69159e39d9440da7a0dd04135e49/recipes/coin-ticker";
+          sha256 = "0v4zyswhghknlsal9xfsgwf8ckjwrjkjrg8w7p6yjqrxmfsbw93b";
+          name = "coin-ticker";
+        };
+        packageRequires = [ emacs request ];
+        meta = {
+          homepage = "https://melpa.org/#/coin-ticker";
+          license = lib.licenses.free;
+        };
+      }) {};
     col-highlight = callPackage ({ fetchurl, lib, melpaBuild, vline }:
     melpaBuild {
         pname = "col-highlight";
-        version = "20170221.1559";
+        version = "20170510.1541";
         src = fetchurl {
-          url = "https://www.emacswiki.org/emacs/download/col-highlight.el?revision=30";
-          sha256 = "1xm1sbmcily1zy5xfpiphy3waq7928xpqmsrm3rcy37xbk2xj7vr";
+          url = "https://www.emacswiki.org/emacs/download/col-highlight.el?revision=31";
+          sha256 = "0wi4xz8n5ib65spyrgqsp8l6zafnvxdiw3hy918fs0xjj7ziy6qc";
           name = "col-highlight.el";
         };
         recipeFile = fetchurl {
@@ -9238,12 +9322,12 @@
     color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-sanityinc-tomorrow";
-        version = "20170509.327";
+        version = "20170604.1611";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "color-theme-sanityinc-tomorrow";
-          rev = "b1fd68e9114413825aee28491f1bb7de917ef758";
-          sha256 = "0ai93fs7l86ih8smf0j51cn0wqph0c3y41vzpbnw9fck3bbxmivk";
+          rev = "21b9b9ae14f2f0084497de00e5a0a00919b87c88";
+          sha256 = "0v69lzqknk8qr7digda9vwri7pkhr5600lb39xzlml15m693acin";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow";
@@ -9488,12 +9572,12 @@
     common-lisp-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "common-lisp-snippets";
-        version = "20161231.1557";
+        version = "20170522.2147";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "common-lisp-snippets";
-          rev = "bb8d22994592a7e69ef8e613e8638882e4e0e404";
-          sha256 = "0i4w5jkz0yxnnapyijvjd5z1rcp0g3r3abj6hchb5yd26h1jcz8a";
+          rev = "46f1de08c8d86b72b474c2f8e1c1b313ac70f23d";
+          sha256 = "148ach1p3iqch3a6r1y8wkr1avyprg47jjz3a31vjvqgcwgs3ynw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/48d0166ccd3dcdd3df4719349778c6c5ab6872ca/recipes/common-lisp-snippets";
@@ -9509,12 +9593,12 @@
     company = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company";
-        version = "20170420.1837";
+        version = "20170611.1356";
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-mode";
-          rev = "1fe263493fc3cb3551c55bb3441fd9d7eb0c0a96";
-          sha256 = "14l8p1qibhd2jx9cgfb6h2fvcl1xn8rw4l6jd5n2m5580qv7cx5g";
+          rev = "950c54721f85e68fd21f1e92991d597fd38685e4";
+          sha256 = "1gkjin7ikghh4zbnpbg7gzhdj1hg125h8kq694aa4ag9379vivw7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company";
@@ -9643,12 +9727,12 @@
     company-c-headers = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-c-headers";
-        version = "20150801.901";
+        version = "20170531.1330";
         src = fetchFromGitHub {
           owner = "randomphrase";
           repo = "company-c-headers";
-          rev = "9bfdd438be5ecb75e5717eb48e09ce69904676e3";
-          sha256 = "152fwy23x5k3dp45z1k4h4n6pcvl3wrhwhwd4l4rp06yhgwf0i1a";
+          rev = "e959d43bebf0a524f7378669983a39ee1379cc21";
+          sha256 = "18fi1jp3scz5rrf877qd1ciwx29bzndb85ifnx4ki0jvznvfas8n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d97b5c53967e0ff767b3654c52622f4b5ddf1985/recipes/company-c-headers";
@@ -9689,8 +9773,8 @@
         src = fetchFromGitHub {
           owner = "cpitclaudel";
           repo = "company-coq";
-          rev = "561a7e9243669c1edf406472f85a2836ebfcec4c";
-          sha256 = "1gk7in9arz4dnkyysxl0wbigf7ssnr3qr4jzjca2c731n8sc566b";
+          rev = "eddb16e5ed9bd2945c57054b2c0054dee600b985";
+          sha256 = "18l442b2gnbgzn6x1qfdcfqn4ilh646fw694qam9g996vd0ncajb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f89e3097c654774981953ef125679fec0b5b7c9/recipes/company-coq";
@@ -9706,12 +9790,12 @@
     company-dcd = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, flycheck-dmd-dub, ivy, lib, melpaBuild, popwin, yasnippet }:
     melpaBuild {
         pname = "company-dcd";
-        version = "20161114.2306";
+        version = "20170516.210";
         src = fetchFromGitHub {
           owner = "tsukimizake";
           repo = "company-dcd";
-          rev = "4161374fd0da40bbebb6f6e01f1589625708d8ef";
-          sha256 = "0pi0363s8ww6xz7drgxi195jcanvmx1g4wv4zrpdl9dx8cf166bs";
+          rev = "4832188a9e42287539a69c372fe1643166a6a7aa";
+          sha256 = "07caaff8chabrgl4hqanq13p5qhzqx5fcg2synl8856d7v1456vc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ad5be8c53911271fba03a88da7e9d518c6508ffe/recipes/company-dcd";
@@ -9801,8 +9885,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "1d0ac3f4cd90d44e75f75c8c0bd234013349e14f";
-          sha256 = "0cds3rmyp3imx234vdbmrl5l7fq90aixb8n1iv0ba5jrx1yk91lz";
+          rev = "ebb844d1ebdd7eb347e89063a9b6e9f890a1ff57";
+          sha256 = "18q4blnxf7p2kvgh1rhr7pizga06z97hv1lxjgzv0dc2dll2zwmd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim";
@@ -9986,12 +10070,12 @@
     company-irony = callPackage ({ cl-lib ? null, company, emacs, fetchFromGitHub, fetchurl, irony, lib, melpaBuild }:
     melpaBuild {
         pname = "company-irony";
-        version = "20170411.1645";
+        version = "20170611.1403";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "company-irony";
-          rev = "87834a6e46dea52b8469ec636e6dc0a97e85bf27";
-          sha256 = "05j439h4fzwakf91j0m70giyb6cwycnwy087nikxyfdiq7nk8lg2";
+          rev = "f68c1b46d64b9f95cfc2a6d611089d0442ed58ba";
+          sha256 = "0kfv89vma93qv97vh1ajg74wq62sq7f6gr39pm8hmfvmk0d6y51y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/company-irony";
@@ -10011,8 +10095,8 @@
         src = fetchFromGitHub {
           owner = "hotpxl";
           repo = "company-irony-c-headers";
-          rev = "ba304fe7eebdff90bbc7dea063b45b82638427fa";
-          sha256 = "1x2dfjmy86icyv2g1y5bjlr87w8rixqdcndkwm1sba6ha277wp9i";
+          rev = "5bbd427a2d3d4445e3413f7516def9aa80543b2a";
+          sha256 = "172wf0ywbvqn9smwnh4kgxx8gw9g2f76irg3fmcv4d8d53mi08wa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f9f62d8ef438a9ba4872bd7731768eddc5905de/recipes/company-irony-c-headers";
@@ -10158,8 +10242,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "58b68de970201712ecf7f1ba64fdb9b7bee2d66e";
-          sha256 = "0sqv9kzcxlvcf72xlr2xpblhcnq6xvrr6kqdy4zrgiqdw884q134";
+          rev = "eba56378cf8d60c4871e0e9d0d0e201d302778ea";
+          sha256 = "0d5pwxla9lkrkb2a5c7y4sm6js7jgm2m8i3lja0c5qzw5b50zwxs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10286,12 +10370,12 @@
     company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "company-rtags";
-        version = "20170504.49";
+        version = "20170522.2154";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "2abdfb2adf24b881cdd04e904ecb341bb51e8cb6";
-          sha256 = "11f9sd8w7qqhfd6mxbihlc6mdki4lqyk4dwbi3v91k9hbxb9hlq2";
+          rev = "d6af2ad09c99f9c58900665e874dcf97a545c0fa";
+          sha256 = "12p22b9q4rkl7jswg12gqc8751sinzgj8h75jjzrggd0vfsg439a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -10304,22 +10388,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    company-shell = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    company-shell = callPackage ({ cl-lib ? null, company, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-shell";
-        version = "20170507.445";
+        version = "20170517.2241";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "company-shell";
-          rev = "57445b8116148875ad80f434af55781749c72960";
-          sha256 = "0kh0cwhivj3gnh2vml98rlfqfzfn8lkvz5kws9ni0r86fcdlwdc0";
+          rev = "6ae625f80d90e0779c79de38e8f83a336c1d00fa";
+          sha256 = "0da9y7x1xvaahsslcmgji6hr3cbn779i504cfrmsabbr3wmkn3fy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bbaa05d158f3806b9f79a2c826763166dbee56ca/recipes/company-shell";
           sha256 = "0my9jghf3s4idkgrpki8mj1lm5ichfvznb09lfwf07fjhg0q1apz";
           name = "company-shell";
         };
-        packageRequires = [ cl-lib company dash ];
+        packageRequires = [ cl-lib company dash emacs ];
         meta = {
           homepage = "https://melpa.org/#/company-shell";
           license = lib.licenses.free;
@@ -10454,12 +10538,12 @@
     company-ycmd = callPackage ({ company, dash, deferred, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s, ycmd }:
     melpaBuild {
         pname = "company-ycmd";
-        version = "20161026.2337";
+        version = "20170606.49";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "05f0409fb7902daf49b4cd329e5c9ef569d77689";
-          sha256 = "0mp05xsphbidjgskp2pnv2x54z95dzmvfwdddpgmysmc99sz305y";
+          rev = "29aba538be5e44da81ad76a6078bb65c1c5e1aa6";
+          sha256 = "0fpccpiwwsxg0asdzg0m5hlwdv6jyr7khywnd1rb6kvr8m2qm0hf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-ycmd";
@@ -10521,8 +10605,8 @@
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-deferred";
-          rev = "7f2bb81e75db895c99611a7a9fbde7c239b757ba";
-          sha256 = "09qnk8xhk5vjn7iqfzg3yzydas47453k1qm22gbmlfxh6lvxsqh2";
+          rev = "d012a1ab50edcc2c44e3e49006f054dbff47cb6c";
+          sha256 = "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc29a8d518ce7a584277089bd4654f52ac0f358/recipes/concurrent";
@@ -10538,12 +10622,12 @@
     conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
     melpaBuild {
         pname = "conda";
-        version = "20170425.1845";
+        version = "20170608.756";
         src = fetchFromGitHub {
           owner = "necaris";
           repo = "conda.el";
-          rev = "6ba9ef5d72ef613f478e07e2ebf57b47066beee7";
-          sha256 = "0mp6jzyvz3m41vb4kwwikyvcjgc8qgryyx71n1m50jr2i23s9nk2";
+          rev = "0257cd83796c3bdc357b69c1ecaf6d7eb6e2bf53";
+          sha256 = "035srwyx94fp80f6rgkvx1vxlvaznsgp7zy5gcddvyazx1a1yj0s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
@@ -10705,12 +10789,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "20170310.1621";
+        version = "20170603.945";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
-          sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
+          rev = "fba9fe57a310a71c5aac90a26434df4c08214833";
+          sha256 = "1qh3qxy8p23nz0zh8iavggjhp0mn10finq3zl3i0a3vkxxrvgh76";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -10768,12 +10852,12 @@
     coq-commenter = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "coq-commenter";
-        version = "20160808.2307";
+        version = "20170607.1355";
         src = fetchFromGitHub {
           owner = "ailrun";
           repo = "coq-commenter";
-          rev = "b57c7c92219201c0f931014127b50fd9b1e0039a";
-          sha256 = "03wwdd9n7fijrczrrdhn9xisrj7mqhc2q7z4da6fm3q45sy2npqk";
+          rev = "6100933cadea289cdaabf2f56f2a0dd72385c1fe";
+          sha256 = "1b28gyyfjknjz23m18yhaj1ir72y8nl75cnam3ggygm9ax65h8i1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/coq-commenter";
@@ -10810,12 +10894,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20170506.1638";
+        version = "20170610.2335";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "f565f76dfb3a31becc32c807916c011cde6c4e64";
-          sha256 = "1dl39b4c7jij0gxdri2li6nkm7x73ljhbk0n1zwi6lw4xd7dix6p";
+          rev = "752ba81f0db3be0568072b3d9a5db458bb647a3c";
+          sha256 = "0wzhil3c6g9g7k4dq3l6rsyy9vy3rdnq3igqgw9xzgq6i06a1878";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -10933,6 +11017,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    counsel-spotify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
+    melpaBuild {
+        pname = "counsel-spotify";
+        version = "20170523.1321";
+        src = fetchFromGitHub {
+          owner = "Lautaro-Garcia";
+          repo = "counsel-spotify";
+          rev = "7cecb359224f24e1e922b513b545187e6774d207";
+          sha256 = "0lbh9z0w1czxvrdlbch71gys9wjsc9zr9i6xwq3ah40aydx251x2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b386462518a5ebb6454f4d01582df98395239bcc/recipes/counsel-spotify";
+          sha256 = "1xs4km5vjhn6dnlmrscz7airip07n1ppybp8mr17hinb8scfpv47";
+          name = "counsel-spotify";
+        };
+        packageRequires = [ emacs ivy ];
+        meta = {
+          homepage = "https://melpa.org/#/counsel-spotify";
+          license = lib.licenses.free;
+        };
+      }) {};
     cov = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "cov";
@@ -10940,8 +11045,8 @@
         src = fetchFromGitHub {
           owner = "AdamNiederer";
           repo = "cov";
-          rev = "74e8f32433eab6b31357642ad5a7ed79a3dfbd05";
-          sha256 = "100fk11fjj8wx8lm4ln4p4b6brxfgnkxq387v6ikyigr6lascmsw";
+          rev = "158d6bacb0986a27aa90a5b6dce81ae820b62cef";
+          sha256 = "1n510afmaprwlv6hck2kc9myvj9wsrspqyjzj5vql1y9c6w1xhsc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d0f35ce436ac157955d6f92de96e14bef9ad69e3/recipes/cov";
@@ -11292,12 +11397,12 @@
     crux = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "crux";
-        version = "20161219.2313";
+        version = "20170510.2148";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "crux";
-          rev = "430235753cda1e9af75d209e36a2c9c4f6599a80";
-          sha256 = "1v16ac9wfvnhy5h8v82ym165lz27bv9p0wma44c8nz24cl848rrm";
+          rev = "3b377b4fdd23df35f72bcb1021800d41fdccf863";
+          sha256 = "13z0hbkhzrsml30kp3maipc87qciilg99vy8w9lc0da5fv64i7ya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/575e3442a925500a5806e0b900208c1e6bfd11ae/recipes/crux";
@@ -11588,8 +11693,8 @@
         src = fetchFromGitHub {
           owner = "mortberg";
           repo = "cubicaltt";
-          rev = "40797d45bce17024e8a8bc1ae8598de0397b7adf";
-          sha256 = "1mcc1ai51zw575kw0w4dam58bplj8wamf2qvnckc45cjcifci549";
+          rev = "1fd1023bd5f2ec2f457f13d0d0a165a98c05fde2";
+          sha256 = "0gxn0kdzzsc801h5vhbpnn5p6msj6gv5lpy5qq6gyvvd0djp06mn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt";
@@ -11686,10 +11791,10 @@
       }) {};
     cus-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "cus-edit-plus";
-        version = "20170206.1603";
+        version = "20170604.1000";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/cus-edit+.el";
-          sha256 = "02mcvr8fnaflqwxzafr6i745wcw8akhjjq8ami312aibf5yjadik";
+          sha256 = "0awn3m16cyamb4h9i4iq9fzbwzl6qrkpbcr4v3dr7iwlcz7lw7jl";
           name = "cus-edit+.el";
         };
         recipeFile = fetchurl {
@@ -11706,12 +11811,12 @@
     cyberpunk-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cyberpunk-theme";
-        version = "20161012.1855";
+        version = "20170524.803";
         src = fetchFromGitHub {
           owner = "n3mo";
           repo = "cyberpunk-theme.el";
-          rev = "eb6ee11315180ae27b17b351163f47a1014348a0";
-          sha256 = "0s9ja6l2y75lnkd1js4x3ks6pj5p6x7i9sm5vlcr5yq4qvmamn3h";
+          rev = "8c3cc39bcff5def0d476c080b5248436da7f990f";
+          sha256 = "1npwrw3pgdmvqhihcqcfi2yrs178iiip5fcj8zhpp6cr9yqsvvgi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4c632d1e501d48dab54432ab111ce589aa229125/recipes/cyberpunk-theme";
@@ -11809,12 +11914,12 @@
     cyphejor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cyphejor";
-        version = "20170501.1126";
+        version = "20170518.2255";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "cyphejor";
-          rev = "fa48bb532fcd5c41dc32c0d8290ad806a9a14f1b";
-          sha256 = "1bjszg3r7n4c31y97rzsv1yhb9j0c5600ckxj36rw3axzg4ighk5";
+          rev = "d7842388a1872b165489624a1a68f536de97e28d";
+          sha256 = "1gi7rp0vf3iahljzjhs3rj9c0rvfcfs93hr8a3hl0ch3h9qq8ng2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ad7cacfa39d8f85e26372ef21898663aebb68e43/recipes/cyphejor";
@@ -11855,8 +11960,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "b20ed8ddf161d467d4c8b2088e7040b370855af3";
-          sha256 = "0dilcfzp47mlf5mjpl72nxrby75bma1r87s63qiybmv779rc0h63";
+          rev = "0898a2f2bdc4dd01cc5ffacdf5dad45c9e38e32b";
+          sha256 = "0chfmiy1nk12yalq2bd812580fr38x3di5vjf6z2kyi96p11jw6l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -12187,12 +12292,12 @@
     darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
-        version = "20170401.1521";
+        version = "20170528.2201";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "fb66992286c009e594eb7bb9ee2f1cdc3bebb555";
-          sha256 = "0n7qgnyl4rdvgwjb7gz6m1c22mxwg8bp08r7lz27z0b1bcyw94sc";
+          rev = "e5e2433fccb225b347c84c3bba5e3ed9769c2922";
+          sha256 = "0l3clqy9zrd8xbaacx7ck8kw1x6rl1b9vd5ss57wnqpsdz25nggi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
@@ -12208,12 +12313,12 @@
     dart-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "dart-mode";
-        version = "20170127.1652";
+        version = "20170525.1236";
         src = fetchFromGitHub {
           owner = "nex3";
           repo = "dart-mode";
-          rev = "b3808189cf6c5165499d3f67540f550e49b26aa2";
-          sha256 = "1bs3p72gxlcviz0l2dl1h92708j0c3ly0kwpdbr370i2hdv0l8ys";
+          rev = "9b11e8fb63549ee3700fb53e92e4ce2cb302c971";
+          sha256 = "1cp0qmnhnp57vihn343jz14kxm1rwn5b004q9yjlbv1am389rr12";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dart-mode";
@@ -12229,12 +12334,12 @@
     dash = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dash";
-        version = "20170207.2056";
+        version = "20170523.219";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "81ef1efa63590db02351cd52d2953717bde8dd00";
-          sha256 = "1ivf14i61h6fgk052qggc7cfnjnmsrcjps1zjy9nbkwj0a56swyr";
+          rev = "524e6fe86ba240d4405d3de1c862921fb8085c8d";
+          sha256 = "0ipgfwz5xvqm6lk3r3z0pxr49j7rqwsc4zd9d061dh5f9s5vv2qx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash";
@@ -12275,8 +12380,8 @@
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "81ef1efa63590db02351cd52d2953717bde8dd00";
-          sha256 = "1ivf14i61h6fgk052qggc7cfnjnmsrcjps1zjy9nbkwj0a56swyr";
+          rev = "524e6fe86ba240d4405d3de1c862921fb8085c8d";
+          sha256 = "0ipgfwz5xvqm6lk3r3z0pxr49j7rqwsc4zd9d061dh5f9s5vv2qx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash-functional";
@@ -12481,12 +12586,12 @@
     ddskk = callPackage ({ ccc, cdb, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ddskk";
-        version = "20170322.401";
+        version = "20170610.1729";
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "aa9dba05f7a971c530ef9da3d5dffc764df3bcfd";
-          sha256 = "0iasvz1rvb4bk8pa0q298mc1lywdvddvsnh2rv3m10zar9z9xlrr";
+          rev = "25057a27543788079e7040bf42b139e0aa0635b5";
+          sha256 = "1fja4c4d8bqnp6ip423n3p2xisq9m9bhnsv0bl6fm5svm8qmcb1f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6eccccb79881eaa04af3ed6395cd2ab981d9c894/recipes/ddskk";
@@ -12689,12 +12794,12 @@
     deferred = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "deferred";
-        version = "20170331.1759";
+        version = "20170531.2135";
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-deferred";
-          rev = "7f2bb81e75db895c99611a7a9fbde7c239b757ba";
-          sha256 = "09qnk8xhk5vjn7iqfzg3yzydas47453k1qm22gbmlfxh6lvxsqh2";
+          rev = "d012a1ab50edcc2c44e3e49006f054dbff47cb6c";
+          sha256 = "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/deferred";
@@ -12792,12 +12897,12 @@
     demangle-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "demangle-mode";
-        version = "20170311.1148";
+        version = "20170526.1508";
         src = fetchFromGitHub {
           owner = "liblit";
           repo = "demangle-mode";
-          rev = "19716fbc60851192aae6b4d4aaad5dcc1c88627a";
-          sha256 = "0wmaf4278479zs2vic837ss1p99n7fhygcpcmy80i28fbfyskr6p";
+          rev = "d3fce31974b1c9f659da427f3c69c2e6168df508";
+          sha256 = "0k4pacjjgxagsa8kgzvynvmvczhbb73waq3l6gld7v3h38js163a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ced9f4ffb051a8474d3f72695156416cf2dd8be/recipes/demangle-mode";
@@ -13001,12 +13106,12 @@
     diff-hl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "diff-hl";
-        version = "20170424.303";
+        version = "20170519.1530";
         src = fetchFromGitHub {
           owner = "dgutov";
           repo = "diff-hl";
-          rev = "3e9d26407e8767375e75757e5adcb23a6fe94985";
-          sha256 = "1bdpn00vlgzsi3w53l7k5lkw6ps1h0mb0d9ww3zmif2y801krzqr";
+          rev = "63f1687aafb4449761bb19f3f5f1b677ab1b5d91";
+          sha256 = "0zaaik87ndbcc77swakhfkh8pbl0zgk5ajq9wfpr7i27mf1x7n2y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/diff-hl";
@@ -13235,8 +13340,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-avfs";
@@ -13400,8 +13505,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter";
@@ -13421,8 +13526,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-hacks-utils";
@@ -13547,8 +13652,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow";
@@ -13568,8 +13673,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open";
@@ -13584,10 +13689,10 @@
       }) {};
     dired-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "dired-plus";
-        version = "20170409.1822";
+        version = "20170530.1023";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/dired+.el";
-          sha256 = "0anrf0cax9ah5mlxxbav7f2vvv50l7psi32rgn3z3hv4z34fmkrx";
+          sha256 = "121i39l4zaw3vhsxbh6r0b088982y3gvm0skf5b8wqldp4nsy55m";
           name = "dired+.el";
         };
         recipeFile = fetchurl {
@@ -13625,12 +13730,12 @@
     dired-rainbow = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-rainbow";
-        version = "20170417.1341";
+        version = "20170531.816";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-rainbow";
@@ -13650,8 +13755,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger";
@@ -13750,8 +13855,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "cab59f335430f86a5c94cc9d8812d5f4f8d843f6";
-          sha256 = "06ckab6jabpx2kyi0ckwdr8jww4adh2dsrmb84qfgmanfgkbsb8x";
+          rev = "eda68006ce73bbf6b9b995bfd70d08bec8cade36";
+          sha256 = "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree";
@@ -14289,12 +14394,12 @@
     django-mode = callPackage ({ fetchFromGitHub, fetchurl, helm-make, lib, melpaBuild, projectile, s }:
     melpaBuild {
         pname = "django-mode";
-        version = "20161109.749";
+        version = "20170522.14";
         src = fetchFromGitHub {
           owner = "myfreeweb";
           repo = "django-mode";
-          rev = "561a3a7359a1526b67688239cdee67e0425b6a01";
-          sha256 = "0xyi5j0cf1d8dv7lpfcgzkfargkpga3dp93pxi8x9pshafmlnrw8";
+          rev = "a71b8dd984e7f724b8321246e5c353a4ae5c986e";
+          sha256 = "0xf33ri5phy2mrb1dwvqb8waba33gj9bwmf6jhl6n0ksm43x0z40";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bdc46811612ff96cb1e09552b9f095d68528dcb3/recipes/django-mode";
@@ -14314,8 +14419,8 @@
         src = fetchFromGitHub {
           owner = "myfreeweb";
           repo = "django-mode";
-          rev = "561a3a7359a1526b67688239cdee67e0425b6a01";
-          sha256 = "0xyi5j0cf1d8dv7lpfcgzkfargkpga3dp93pxi8x9pshafmlnrw8";
+          rev = "a71b8dd984e7f724b8321246e5c353a4ae5c986e";
+          sha256 = "0xf33ri5phy2mrb1dwvqb8waba33gj9bwmf6jhl6n0ksm43x0z40";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bdc46811612ff96cb1e09552b9f095d68528dcb3/recipes/django-snippets";
@@ -14520,12 +14625,12 @@
     docker = callPackage ({ dash, docker-tramp, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s, tablist }:
     melpaBuild {
         pname = "docker";
-        version = "20170114.440";
+        version = "20170601.1345";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "docker.el";
-          rev = "b565a66d7fb8b41363fb90172b9882d4768ddd47";
-          sha256 = "185mw8yaxpq7327nyyqjbc4bipx6shhmbl1dzdl3bfhc11vp1xfn";
+          rev = "d3bdb09af10c7aa466b25e0c65a3d21fdf44514e";
+          sha256 = "097nrhnc668yclvisq5hc3j8jgpk7w7k7clrlp5a1r1gd5472sj7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker";
@@ -14696,16 +14801,16 @@
     doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doom-themes";
-        version = "20170510.1144";
+        version = "20170611.1109";
         src = fetchFromGitHub {
           owner = "hlissner";
-          repo = "emacs-doom-theme";
-          rev = "8a4e364a96b404a87f731d87ed76db8bfe0880b5";
-          sha256 = "0hw701d2vd72rw8yqfkf3rk3isiizm6djy0fbsll1pf79lvwvz66";
+          repo = "emacs-doom-themes";
+          rev = "4b6482765e3be2c51a9d8d23bbbfb9a0c80bf4ac";
+          sha256 = "0g1883qz5a0fra1hsn6kx9r1hply61ba0bxhb8xx08j2zxbwj65s";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/73fd9f3c2352ea1af49166c2fe586d0410614081/recipes/doom-themes";
-          sha256 = "1ckr8rv1i101kynnx666lm7qa73jf9i5lppgwmhlc76lisg07cik";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
+          sha256 = "0plqhis9ki3ck1pbv4hiqk4x428fps8qsfx72mamdayyx2nncdrs";
           name = "doom-themes";
         };
         packageRequires = [ all-the-icons cl-lib emacs ];
@@ -15131,7 +15236,7 @@
         version = "20130120.1257";
         src = fetchsvn {
           url = "https://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/";
-          rev = "1794764";
+          rev = "1798436";
           sha256 = "016dxpzm1zba8rag7czynlk58hys4xab4mz1nkry5bfihknpzcrq";
         };
         recipeFile = fetchurl {
@@ -15232,12 +15337,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20170510.1430";
+        version = "20170611.1336";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "175f9f57a5319f2917390402c0b47f7d7000a5dc";
-          sha256 = "0sw5p1jgfxqmg3f3cikd87sncgcb7zqdkhcqc83fv1y17zxl1xa9";
+          rev = "9743f3f2736c0e84c5dff860a142c78a0c4ed861";
+          sha256 = "19pdgwziriamf31vjca3y4fxcz4pcfdhr8ac2djz1gsfslq9n236";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump";
@@ -15295,11 +15400,11 @@
     dyalog-mode = callPackage ({ cl-lib ? null, emacs, fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dyalog-mode";
-        version = "20170427.55";
+        version = "20170519.704";
         src = fetchhg {
           url = "https://bitbucket.com/harsman/dyalog-mode";
-          rev = "2c70af4813fc";
-          sha256 = "0brhk5q0jdb3p9nlsfk2bjixqymy4lmrqha138idpx47ka7cjsvn";
+          rev = "56fa34ea25d4";
+          sha256 = "1hk7i557m0m42zdg59z278cylglnp49dr8wa3zbdwzk2xzdg0m00";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode";
@@ -15609,12 +15714,12 @@
     easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-hugo";
-        version = "20170426.6";
+        version = "20170531.216";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "5ea62c254c61fcad89d1620ce40b6fda65586d65";
-          sha256 = "0p961msrkqxc99rkjdy79x1pdns4dfbvdmv8yl0zi4ib3b07qar1";
+          rev = "451a37fb2e1f36d85a85973d4c41c7a249263f62";
+          sha256 = "1s89qs13bnyqmsm7rfzk69hvnh170v2hpbh5adjiicwg3my05dis";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@@ -15714,12 +15819,12 @@
     ebal = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ebal";
-        version = "20170327.2229";
+        version = "20170520.130";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ebal";
-          rev = "e47c9eb6b8d6d2bc16c17f9d1dfa9fa2fc00124f";
-          sha256 = "00d4i1y9z3gaw01cgccsk6q4qcbn9sg8lzs0im4dh6hzg27w12qm";
+          rev = "2d274ee56d5a61152e846f9a759ebccd70dc8eb1";
+          sha256 = "15hygzw52w5c10hh3gq0hzs499h8zkn1ns80hb2q02cn9hyy962q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/629aa451162a0085488caad4052a56366b7ce392/recipes/ebal";
@@ -15756,12 +15861,12 @@
     ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, seq }:
     melpaBuild {
         pname = "ebib";
-        version = "20170401.1342";
+        version = "20170605.1440";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "ebib";
-          rev = "a1c8a5045ff31001f0a0dde188e20f23640f5469";
-          sha256 = "1awrkcqk38aash3whihhjrxq9f9b568vpiaihyhcsi0773hl5h3b";
+          rev = "4624e67ca26cb348063a97a8f59a3fbcbf8a5736";
+          sha256 = "0ds11hphxp8jxsc50lvnr9n4macvzd82y7siqh8wvswk62l8vb4x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib";
@@ -15817,12 +15922,12 @@
     eclim = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, popup, s, yasnippet }:
     melpaBuild {
         pname = "eclim";
-        version = "20170430.1903";
+        version = "20170522.1354";
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "1d0ac3f4cd90d44e75f75c8c0bd234013349e14f";
-          sha256 = "0cds3rmyp3imx234vdbmrl5l7fq90aixb8n1iv0ba5jrx1yk91lz";
+          rev = "ebb844d1ebdd7eb347e89063a9b6e9f890a1ff57";
+          sha256 = "18q4blnxf7p2kvgh1rhr7pizga06z97hv1lxjgzv0dc2dll2zwmd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim";
@@ -16237,12 +16342,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "20170425.2155";
+        version = "20170607.713";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "fa13d6dc990b7603652e622d848b5466bb43332b";
-          sha256 = "1gica5jwjbyysh5zv90hnhqkl70zrszsb726ncbykwwwxsibq9b2";
+          rev = "1543835ce00412c3cd34a61497af5f68ead250a6";
+          sha256 = "1c516972gx1rvlixdl6mgknx6vx1m4hbzbz3x43pzlg0mn31yn01";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -16255,6 +16360,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    editorconfig-charset-extras = callPackage ({ editorconfig, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "editorconfig-charset-extras";
+        version = "20170508.112";
+        src = fetchFromGitHub {
+          owner = "10sr";
+          repo = "editorconfig-charset-extras-el";
+          rev = "1b8248de9e85bc846af8dfb53b70fdae8900cc69";
+          sha256 = "0gqnx5dwy9qxl1npvp8858i0lwjv1znpqr08h129vaycyyq1n69r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/62f27dad806fa135209289933f2131ee4ce8f8bf/recipes/editorconfig-charset-extras";
+          sha256 = "15p9qpdwradcnjr0nf0ibhy94yi73l18xz7zxf6khmdirsirpwgh";
+          name = "editorconfig-charset-extras";
+        };
+        packageRequires = [ editorconfig ];
+        meta = {
+          homepage = "https://melpa.org/#/editorconfig-charset-extras";
+          license = lib.licenses.free;
+        };
+      }) {};
     editorconfig-custom-majormode = callPackage ({ editorconfig, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig-custom-majormode";
@@ -16396,8 +16522,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "a9bec9b4cdaec8fa92bec398c4c5231817e7efad";
-          sha256 = "146jq14xjab996r5ff9nschbrh4zk7grggnj7xm8bxwnr9yv0qv0";
+          rev = "c06b457113a7e9484f8f4ae079cb257d8eb65396";
+          sha256 = "16gij5kc4r4x85d8pnpyfkb2z7fjlmfxc73vhd0hf76740kgnnxy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16413,12 +16539,12 @@
     ego = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "ego";
-        version = "20170112.2043";
+        version = "20170601.817";
         src = fetchFromGitHub {
           owner = "emacs-china";
           repo = "EGO";
-          rev = "d81561d39524a5f78d5f94216b0ca5fef4b5700b";
-          sha256 = "0scnhpj4naaicxp62hd0b5g3kf05gpldbi1z1sfnq4mqi84fnfgx";
+          rev = "93ccd450d2d9e5db27aebb024a1b2ed56d5131dc";
+          sha256 = "0izxsckmkdw70cz3ljar2r4iv784c43mnzjkayly08hlabq1g6b6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ego";
@@ -16471,22 +16597,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    ein = callPackage ({ cl-generic, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }:
+    ein = callPackage ({ cl-generic, dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "20170426.1909";
+        version = "20170606.1325";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "db07da61d3e2dea02efafb8daf82c95c28521817";
-          sha256 = "13wf9cqm1sf92dyfr71rci3x8pcwww8chfccgcafq9gc7lvb9ias";
+          rev = "d9c81f3d900f2ffd78fd314685023d66d6d16438";
+          sha256 = "1vf2bxxk3dj0npgab0yzqfx6dvfh5aj1bhmbpw1xfhssciyg8q47";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
           sha256 = "14blq1cbrp00rq0ilk7z9qppqfj0r4n3jidw3abcpchvh5ln086r";
           name = "ein";
         };
-        packageRequires = [ cl-generic dash request websocket ];
+        packageRequires = [ cl-generic dash deferred request websocket ];
         meta = {
           homepage = "https://melpa.org/#/ein";
           license = lib.licenses.free;
@@ -16591,8 +16717,8 @@
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "464ed451b506956ac7ec36c2a62be73243510291";
-          sha256 = "1jzk1798arigjdz99ss6ll8cbd8fxagn2mz7afcissvaq7rw35rm";
+          rev = "5b623bc5fa394389be7b0c00fd0b32e8e6b024c3";
+          sha256 = "0wisl97gpp9a2mbs34v4mas2q3hkry3zqxmlbll7l3h7r950wyqf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -16671,12 +16797,12 @@
     el-patch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "el-patch";
-        version = "20170310.2128";
+        version = "20170513.2050";
         src = fetchFromGitHub {
           owner = "raxod502";
           repo = "el-patch";
-          rev = "c0f1c01a82903a1d7f5d49eba6d9e9d373423907";
-          sha256 = "0kj4rbn86v9hjkshpyn65cmyhrnmg3s6ir6p4ricnhzv11rgkx6y";
+          rev = "22682dd020ac93b621bf45e57c738e551e2cb14b";
+          sha256 = "1hv9i78fchvmygmb7pfx1ybkq270aibdhjsidzskipfzw40p0dz2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f4f57e0edbae35597aa4a7744d22d2f971d5de5/recipes/el-patch";
@@ -17045,12 +17171,12 @@
     elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed";
-        version = "20170429.1038";
+        version = "20170531.206";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "f06c06d36117985d7a7b4aa799d256ca8ec25962";
-          sha256 = "0y3rgg4524xw7gdxzhq2jmjkj0qgkffpw251ysc88ihz24pcxc8l";
+          rev = "f3eaa7421af79db3d4203b4b3afdf84c4796cd55";
+          sha256 = "1sji0k8kal1h5nsdin54qbnxc2ahd6qghn4nwwq5f13gacy4wzpg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
@@ -17119,8 +17245,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "f06c06d36117985d7a7b4aa799d256ca8ec25962";
-          sha256 = "0y3rgg4524xw7gdxzhq2jmjkj0qgkffpw251ysc88ihz24pcxc8l";
+          rev = "f3eaa7421af79db3d4203b4b3afdf84c4796cd55";
+          sha256 = "1sji0k8kal1h5nsdin54qbnxc2ahd6qghn4nwwq5f13gacy4wzpg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
@@ -17241,12 +17367,12 @@
     elisp-refs = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }:
     melpaBuild {
         pname = "elisp-refs";
-        version = "20161205.444";
+        version = "20170528.1223";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refs.el";
-          rev = "54b6221a06a32075d1d0c991f75f53c6c792830e";
-          sha256 = "1xzm86l37fjiknqbsdv14n70mgaw0105i55fbl4rf0p9q4nircmv";
+          rev = "8f2da5ba5b728a8f278813c95d0fda3364cca40c";
+          sha256 = "0i0xjy4x3i349jbpbqhfz57frk8cdakwi78fw1mlycx4qinlx2n0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs";
@@ -17346,12 +17472,12 @@
     elm-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elm-mode";
-        version = "20170322.1347";
+        version = "20170603.2006";
         src = fetchFromGitHub {
           owner = "jcollard";
           repo = "elm-mode";
-          rev = "3d36c16bbe1cebc285341452a60da578afbb2804";
-          sha256 = "1aywgkf5505hx7qd0r4b8k89xmskkrz9imlmhp6xnwj31qs7ix63";
+          rev = "85319b9e75dea9f79e6d16011ee2a15be11eb9c0";
+          sha256 = "1gnjx7ay0c167vnl7k9gxmvm93ipqfs93jmcmvy56rlvc7yyk39x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1a4d786b137f61ed3a1dd4ec236d0db120e571/recipes/elm-mode";
@@ -17409,12 +17535,12 @@
     elmine = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elmine";
-        version = "20151121.423";
+        version = "20170511.20";
         src = fetchFromGitHub {
           owner = "leoc";
           repo = "elmine";
-          rev = "60639f46a5f45653f490cdd30732beb2dca47ada";
-          sha256 = "1463y4zc6yabd30k6806yw0am18fjv0bkxm56p2siqrwn9pbsh8k";
+          rev = "432d2f2f7cb5b533f25b993d1001abcadcebe8ed";
+          sha256 = "02lsxj9zkcaiqlzy986n1f65cfyd8pkrdljgplsbd9p0w8ys0s94";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/elmine";
@@ -17577,12 +17703,12 @@
     elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "20170430.255";
+        version = "20170519.1544";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "574605dce756e878457164817e6d63d915008a84";
-          sha256 = "1q8ll1sxdvxgd6mqwz55bv2zwxgz2rqlzyk2xksnh9sna4bhr6xv";
+          rev = "2cf34afa0c3e7249149a65c0ae89e6c593050f2c";
+          sha256 = "0i57dhljf0ymsqlqjr1bz0hxr108k7iiw267s24a3bm3p3ac5lfi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -17602,22 +17728,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    elquery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    elquery = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elquery";
-        version = "20170226.1238";
+        version = "20170527.1930";
         src = fetchFromGitHub {
           owner = "AdamNiederer";
           repo = "elquery";
-          rev = "bfda1499d11b5705bea60886a3d25ca6d3808111";
-          sha256 = "1q0ifhq7wflzayg9mqy0wfc1fhgh4fmy17psz977k01yc7nc5s42";
+          rev = "d4309cfebb275495f071fc3449261bf6b23b0afe";
+          sha256 = "12qv4fg9dbgl6c05r501va9dcw16ml0yxkmvs32cr7wfffhxjy4w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/121f7d2091b83143402b44542db12e8f78275103/recipes/elquery";
           sha256 = "19yik9w4kcj7i9d3bwwdszznwcrh75hxd0540iqk5by861z5f3zr";
           name = "elquery";
         };
-        packageRequires = [ emacs s ];
+        packageRequires = [ dash emacs s ];
         meta = {
           homepage = "https://melpa.org/#/elquery";
           license = lib.licenses.free;
@@ -18171,11 +18297,11 @@
       }) {};
     emms = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "emms";
-        version = "20170501.1102";
+        version = "20170601.1651";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/emms.git";
-          rev = "179e8e73f501115a9b0c73056846d80809d5a144";
-          sha256 = "0v81x21bsxmvaxrg8yx4j5ycyd4fkjnk9bf3dw7p2cdywsjfb1hi";
+          rev = "0481ca3b8f8d558e545582440dde6dac514818fe";
+          sha256 = "1z2kzaw2jr4m189gd8978g6wy6z9wicf1klyh48l623lh7cv48ic";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/emms";
@@ -18443,12 +18569,12 @@
     emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "emojify";
-        version = "20170401.954";
+        version = "20170528.147";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "emacs-emojify";
-          rev = "4f365dc562c8c5642719faf85b7536278c561d2e";
-          sha256 = "0j3ydg2n6dq77qpyhyqdkbxhfhzmml5b5h8cghsx0i5267grssph";
+          rev = "033e3b2fa171d73b932ecf27df237be2fd6e1c36";
+          sha256 = "0x8ydqzacrps0kl3j50ajp8fwxg8vnggvjpjbnrglkpwwn2j1kzr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify";
@@ -18665,12 +18791,12 @@
     ensime = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s, sbt-mode, scala-mode, yasnippet }:
     melpaBuild {
         pname = "ensime";
-        version = "20170508.3";
+        version = "20170611.1428";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "ensime-emacs";
-          rev = "8117122e36a77f9e5616c4260680a07317aebe80";
-          sha256 = "02qmpppawziqpsyb2d2mrdyvs4mn6mvcn5smnkkanibabwgld9za";
+          rev = "86a52709a0c45e2f84737319f8f95abd0ea55ff2";
+          sha256 = "10ix3yx916c929i8fj2bqkjjm409mwpjzydji6x8n8v5s8lnw6m2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/502faab70af713f50dd8952be4f7a5131075e78e/recipes/ensime";
@@ -19197,12 +19323,12 @@
     ereader = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, xml-plus }:
     melpaBuild {
         pname = "ereader";
-        version = "20170508.2149";
+        version = "20170529.1408";
         src = fetchFromGitHub {
           owner = "bddean";
           repo = "emacs-ereader";
-          rev = "258807f77b203963dbc855c5e34da3d7f2751abc";
-          sha256 = "0wnl7vfxgvz4qp3lpx48wl1mni1alkawm460nvivsr02dgmriwaa";
+          rev = "ef3cd7b9ced044bbd9a3e7cce0c78a970a483288";
+          sha256 = "0n0n7600zwa9z8srafq0gp6d17lkr4pkrsql50rl2qa1fr44zi7z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ereader";
@@ -19306,8 +19432,8 @@
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "b7a5e0e9070adcd3bd14b8315caa3007b7d2e89f";
-          sha256 = "1v2ydy6zpy1fhx3zz6a66xxyfs7zvm27fvagan553670qmfpgi59";
+          rev = "dd9e39dc2b97e30c03b24a00eb757be7d2c2bdc2";
+          sha256 = "1q5pd9a5d5513brw5s2x6652fmmql7y7lcnzv18kw3wc4qvccl24";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -19469,12 +19595,12 @@
     es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s, spark }:
     melpaBuild {
         pname = "es-mode";
-        version = "20170502.2206";
+        version = "20170608.1234";
         src = fetchFromGitHub {
           owner = "dakrone";
           repo = "es-mode";
-          rev = "ac13cb477d0775fc8fe1ffbd88f9909eb0688174";
-          sha256 = "0416sqx32aby2qaybc3qif8dhsmc3xq0968y772y5hq2lk7sh8dm";
+          rev = "3752438d17c45553956cf775022b2358ff3d8731";
+          sha256 = "0a2afjg0ygd88qp5pc39ghwck837f6sk57c8zbcsyxwrabxnchhd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85445b59329bfd81a3fd913d7d6fe7784c31744c/recipes/es-mode";
@@ -19725,8 +19851,8 @@
         src = fetchFromGitHub {
           owner = "peterwvj";
           repo = "eshell-up";
-          rev = "b00e447ad7941ab31bcbb6bc0205fd492e887e7d";
-          sha256 = "1802887ad7y6m40azfvzz6aapdzkp655jpiryimqd11kwbsinmvv";
+          rev = "2216e149ffdd5cd8eb49d6661187d676b6a22d19";
+          sha256 = "1czl7gab46n9lxp91v1l9rgnz72h9x1im20yq4hw8w0x71a45ss7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eshell-up";
@@ -19889,12 +20015,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "20170501.306";
+        version = "20170603.817";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "40583c1e2680f1746ceb91242c478d0b6fb988d5";
-          sha256 = "1mj11wpiy96q48l8hclgkhm0963p7904rzr991wfr465p17bsg6q";
+          rev = "f2643cd3ae6727535ce76ed00a91bf96c09e280f";
+          sha256 = "1fyr963y2mnp8wk9jf0fpfp1k74ayhbcdyg1xknvd5jd5lyjgbkb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -20263,12 +20389,12 @@
     evil = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, goto-chg, lib, melpaBuild, undo-tree }:
     melpaBuild {
         pname = "evil";
-        version = "20170510.1321";
+        version = "20170612.100";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "0445068b65a9702660db1abef4f96ad393e29dad";
-          sha256 = "0qm0ih4by38x6m99gpan3k3fmjhivi084iylgc7bg5bg3vncflrn";
+          rev = "d45772929db630be8226e2786132d46e2c6bdb2c";
+          sha256 = "07mc036lz2lj0csg10a8gdqxqsf8mxsjfy3ha9wsrmbqhsvwixn9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/514964d788f250e1e7893142bc094c63131bc6a5/recipes/evil";
@@ -20536,12 +20662,12 @@
     evil-exchange = callPackage ({ cl-lib ? null, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-exchange";
-        version = "20160812.843";
+        version = "20170510.1959";
         src = fetchFromGitHub {
           owner = "Dewdrops";
           repo = "evil-exchange";
-          rev = "8902966aec2709b7e680d13c362d74b7f89b909b";
-          sha256 = "1jfjgh75ycm6i01zpnz8y1hp205w61rqbvargk3rp65c34j48dcd";
+          rev = "47691537815150715e64e6f6ec79be7746c96120";
+          sha256 = "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9b06397c032d24a8da4074ad97cdb30d0c468e20/recipes/evil-exchange";
@@ -20620,16 +20746,16 @@
     evil-goggles = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-goggles";
-        version = "20170508.1509";
+        version = "20170529.2251";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-goggles";
-          rev = "cb295a7f6882f7b885886aca8bb88ce119973f40";
-          sha256 = "0w04plip3kf1kzky4528550jvlwbp965p41697fr7kwsc7ipymx4";
+          rev = "d2dfe823d5b1b70e4ed47518db98b238ff67b81a";
+          sha256 = "08hffzamrg3d8fqq94z7p9pywkzckhv6a58x7s1x7z8qvg2irlkz";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad1b922fc3a6c74b1fd5c8477f769a22bf2241fb/recipes/evil-goggles";
-          sha256 = "0m8yj2rsjgkrwdh3jk9g36299s5ib5xbaah3vcjq8ladp3v7amqa";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/811b1261705b4c525e165fa9ee23ae191727a623/recipes/evil-goggles";
+          sha256 = "151xvawyhcjp98skaif08wbxqaw602f51zgwm604hp25a111qmnq";
           name = "evil-goggles";
         };
         packageRequires = [ emacs evil ];
@@ -20725,12 +20851,12 @@
     evil-lion = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-lion";
-        version = "20170429.1542";
+        version = "20170523.450";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-lion";
-          rev = "f11ccadecc5d7fe9e78b81a7eedf0556677fb9a8";
-          sha256 = "0jbs208b4r6s487flh628b1bf330y7d4r3288gk5ydpn6rzr3wnd";
+          rev = "79766bfb8cbaa82af92eb9c90ea370e10ff74ea4";
+          sha256 = "1799gjd1qj6hdzdy88x7lw0xwygkh70zm0y5gkhlmn4rzkdka9j1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8a7a0691775afec6d2c7be3d6739b55bd1d2053d/recipes/evil-lion";
@@ -20788,12 +20914,12 @@
     evil-magit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "evil-magit";
-        version = "20161130.847";
+        version = "20170611.1237";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil-magit";
-          rev = "9251065b73c5023fc21d56f5b94c505cb7bee52d";
-          sha256 = "17jnqd73i680fpmghghadc4d4xlg39xfjx3ra8sll0h1xf4xkspi";
+          rev = "f851e5896fa90ae94dfde3d2a7554b4d5f9e665c";
+          sha256 = "127ccll30526b38g64pagagnia8mw0bs9db95xri0n48x4vginkd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50315ec837d2951bf5b2bb75809a35dd7ffc8fe8/recipes/evil-magit";
@@ -20851,12 +20977,12 @@
     evil-mc = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-mc";
-        version = "20170501.2103";
+        version = "20170526.1158";
         src = fetchFromGitHub {
           owner = "gabesoft";
           repo = "evil-mc";
-          rev = "23a1d61154b83b8330dfa90cd55e3842d05f599a";
-          sha256 = "1qr5irq3rgis3h6j54qcrq0qy1xw2h9rhcl9mgxg0j623dm9n54l";
+          rev = "506f92dc610906fc279e50c598efe2068161edaa";
+          sha256 = "0ng2l70zllkvjsq2ybgdcdzyg0brplaznxr2y3qmbk72vgs3wxra";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc";
@@ -20914,12 +21040,12 @@
     evil-multiedit = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, iedit, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-multiedit";
-        version = "20170408.1744";
+        version = "20170515.337";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "evil-multiedit";
-          rev = "615f2ac3539c39d5ec11e4c9ba0958d8a9381090";
-          sha256 = "068cymahvpyzn13wnma0lfym0f0vfr36kdq7pl8qmhf8ra7xxq92";
+          rev = "8d146312565949850328e4ef365e1f5d71216281";
+          sha256 = "1xw5r3mwyjfbpgdvnm1pv5dfg56qbzvmwhv929x93sjs0j4ybwml";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/997f5a6999d1add57fae33ba8eb3e3bc60d7bb56/recipes/evil-multiedit";
@@ -20995,22 +21121,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    evil-org = callPackage ({ evil, evil-leader, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    evil-org = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "evil-org";
-        version = "20151202.2347";
+        version = "20170611.1149";
         src = fetchFromGitHub {
-          owner = "edwtjo";
+          owner = "Somelauw";
           repo = "evil-org-mode";
-          rev = "61319f85979e8768c930983595caa2483c0fb319";
-          sha256 = "0pir7a3xxbcp5f3q9pi36rpdpi8pbx18afmh0r3501ynssyjfq53";
+          rev = "4da3d179d71113b906173a974fec933e9f55afa8";
+          sha256 = "16d9x89plmy6qrjvc8czrqpc1y53xbcaclc20yd8yyi722sdd4x1";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/evil-org";
-          sha256 = "1306pf5ws7acdanypn3c0r4yh5wxdf0knl6j3hhs4ys9zszd79bw";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1768558ed0a0249421437b66fe45018dd768e637/recipes/evil-org";
+          sha256 = "18glpsnpxap4dvnvkl59h9pnwlp20libsfbbkmvrbzsvbdyspg6z";
           name = "evil-org";
         };
-        packageRequires = [ evil evil-leader org ];
+        packageRequires = [ emacs evil org ];
         meta = {
           homepage = "https://melpa.org/#/evil-org";
           license = lib.licenses.free;
@@ -21124,16 +21250,16 @@
     evil-search-highlight-persist = callPackage ({ fetchFromGitHub, fetchurl, highlight, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-search-highlight-persist";
-        version = "20160912.807";
+        version = "20170522.2034";
         src = fetchFromGitHub {
-          owner = "juanjux";
+          owner = "naclander";
           repo = "evil-search-highlight-persist";
-          rev = "1b130e771fc9f3bb7c80e1a50c2847a9e024ad09";
-          sha256 = "1la7gamv1qd5wsdlxjjx859zciynln3g9lnxq51iylsbfxgc2f7s";
+          rev = "6e04a8c075f5fd62526d222447048faab8bfa187";
+          sha256 = "1ni1bila3kjqrjcn1sm6g6h2cmf1chrh4d8nj4qfjvkb12fkw6j6";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/91361f95852910968b395423e16377c70189fc55/recipes/evil-search-highlight-persist";
-          sha256 = "0iia136js364iygi1mydyzwvizhic6w5z9pbwmhva4654pq8dzqy";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f2e91974ddb219c88229782b70ade7e14f20c0b5/recipes/evil-search-highlight-persist";
+          sha256 = "08l8ymrp9vkpwprq9gp4562yvcnd4hfc3z7n4n5lz7h6ffv3zym3";
           name = "evil-search-highlight-persist";
         };
         packageRequires = [ highlight ];
@@ -21170,8 +21296,8 @@
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "evil-snipe";
-          rev = "c3e5e26c14f4a47daedb4fc48e1b0fb993aa0999";
-          sha256 = "009491hskqkvycng70n3mm7zqxlf6jjninddlcbnknyfr44y4xka";
+          rev = "d6d60b077e31755b6d543337dd165ab7e1c67d36";
+          sha256 = "05fxr48r7qilh52ycm6bi108y9kd1zw62mckf8ddhsjrvszx97nb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6748f3febbe2f098761e967b4dc67791186d0aa7/recipes/evil-snipe";
@@ -21210,14 +21336,14 @@
         pname = "evil-surround";
         version = "20170124.1110";
         src = fetchFromGitHub {
-          owner = "timcharper";
+          owner = "emacs-evil";
           repo = "evil-surround";
-          rev = "7a0358ce3eb9ed01744170fa8a1e12d98f8b8839";
-          sha256 = "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031";
+          rev = "a4fc4483dff0bb0e544d832a845fdc6fb85c6214";
+          sha256 = "0xqvpr8irkv4qw82gcgnnfb9mjavb4jj9a11cw32wqjdg0106dlr";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/da8b46729f3bd9aa74c4f0ee2a9dc60804aa661c/recipes/evil-surround";
-          sha256 = "1bcjxw0yrk2bqj5ihl5r2c4id0m9wbnj7fpd0wwmw9444xvwp8ag";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2c9dc47a4c837c44429a74fd998fe468c00639f2/recipes/evil-surround";
+          sha256 = "0aphv5zinb0lzdx22qbzcr7fn6jbpkdczar7py3df6mzxw5wvcm1";
           name = "evil-surround";
         };
         packageRequires = [ evil ];
@@ -21606,12 +21732,12 @@
     expand-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "expand-region";
-        version = "20170222.343";
+        version = "20170514.1309";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "expand-region.el";
-          rev = "d1252200bac2e0197497d6d57ab6fd004f1b2e77";
-          sha256 = "0bhwv92wqccz8y5xm6gj71ryci8cpsnm8z8vmdj8lsf6ki8vz512";
+          rev = "2357f1d5efd9d5b9e37f3513342237fec2629291";
+          sha256 = "0sggq57q8fxzd0my2kwbb2li91zq13cyhxn789bafzxq2d5fpk9h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/expand-region";
@@ -21648,12 +21774,12 @@
     exsqlaim-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "exsqlaim-mode";
-        version = "20170418.124";
+        version = "20170607.303";
         src = fetchFromGitHub {
           owner = "ahmadnazir";
           repo = "exsqlaim-mode";
-          rev = "3cac2ba06862a6407ce487423898af04de4996c6";
-          sha256 = "149g76rms1h183f78kzns6cy3jyllxyyhvb1x61c2823k2372wvh";
+          rev = "a2e0a62ec8b87193d8eaa695774bfd689324b06c";
+          sha256 = "1gj1q2h1ja30jizkjql12cxlppj07ykr4wxqca9msy043zdhqnkk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f660d7629bc27144c99ebcba45f1b06b14c5745/recipes/exsqlaim-mode";
@@ -21711,12 +21837,12 @@
     exwm-x = callPackage ({ cl-lib ? null, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper, switch-window }:
     melpaBuild {
         pname = "exwm-x";
-        version = "20170507.622";
+        version = "20170606.2038";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "exwm-x";
-          rev = "bb894c44ffca623f37461617bdc53b2092ca2b4c";
-          sha256 = "1xkandsng3r79vp2i3kqcva35qs4wvcafjxzsnawrvgbskh8kd1g";
+          rev = "ff656107e55458cb2b453eb4637ad203007068f1";
+          sha256 = "1ssbqcrhcprfd1n4bvcbczp3dqhq4hcl75qaz6alc9y11r2jb4ar";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x";
@@ -21795,12 +21921,12 @@
     eziam-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eziam-theme";
-        version = "20170508.1613";
+        version = "20170517.847";
         src = fetchFromGitHub {
           owner = "thblt";
           repo = "eziam-theme-emacs";
-          rev = "7b10585034d773348049a7f6b7d9552137f96f73";
-          sha256 = "1j9lgykfwyl8iy8p2n6kg10b7xmpq0wkr8gvikk4i43jpag3flp8";
+          rev = "6c7e6ac20e27a26e7b27761f11a3a959ea815b5c";
+          sha256 = "1jzqb1w8ax5h6g9nwqwnagalag2kj7mabq889vl59ka5lvccac0f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0411583bd4fdbe425eb07de98851136fa1eeb0/recipes/eziam-theme";
@@ -21978,12 +22104,12 @@
     faff-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "faff-theme";
-        version = "20161026.1047";
+        version = "20170522.1219";
         src = fetchFromGitHub {
           owner = "WJCFerguson";
           repo = "emacs-faff-theme";
-          rev = "61d98d43c9173662078c0c337ce78918eb6a3610";
-          sha256 = "15shbzjpl89ybyyn7d53psn9i8csxi2h9jwz7mx98lg9pjy58ifa";
+          rev = "e79dc142d99bc5a455a46345d3aba6f95f3f3f42";
+          sha256 = "0j5vdbwwpav09v3kkx7cn5qd41inam0jd7smx8133hqpnirsh8mv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0b35c169fe56a5612ff5a4242140f617fdcae14f/recipes/faff-theme";
@@ -22188,12 +22314,12 @@
     fcitx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fcitx";
-        version = "20170208.1012";
+        version = "20170602.1912";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "fcitx.el";
-          rev = "ec1d202c11a1c81f7ab0b9cf235d64c68d8e3134";
-          sha256 = "1p32lqmnp7k0gck6my1cy4hd5sck28zkfvlg8q23lpkcg1vcsqlx";
+          rev = "2e3abe356b464b30350c08e243988a3116818b19";
+          sha256 = "0cplg10mhr2r3cp4wcaykyvbzilmjma90hkv4h1m8d8xrfdmmi7g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e8c40f09d9397b3ca32a7ed37203f490497dc984/recipes/fcitx";
@@ -22474,12 +22600,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "20170507.150";
+        version = "20170531.2054";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "1f5b7ef7c6e00ab6fb818c4dc9131c1fe7806704";
-          sha256 = "0pcq992pd5vsajsrcpkp5jl3sgxk1p2p0i8in050rs25i3l3lgj0";
+          rev = "eb9fec502a2622b46301ca49183147b6b1fcaff6";
+          sha256 = "1hrdqdps76c1sfq9m9l6nid32lklsli2hgwzd4sl5ypb0zqhn25k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -22785,12 +22911,12 @@
     fix-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fix-input";
-        version = "20170501.1340";
+        version = "20170518.2311";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "fix-input";
-          rev = "8eafca061645dbbb913d82b380c1d594eead1d81";
-          sha256 = "1b1rlhmb43fyi57vcknx81ycfckfr8qbsv8z94fjbm33j69abxj9";
+          rev = "a70edfa7880ff9b082f358607d2a9ad6a8dcc8f3";
+          sha256 = "121m0h0nwxr27f9d2llbgl63ni1makcg66lnvg24wx07wggf0n8z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d31f907997d1d07ec794a4f09824f43818f035c/recipes/fix-input";
@@ -22827,12 +22953,12 @@
     fix-word = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fix-word";
-        version = "20170501.1349";
+        version = "20170518.2343";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "fix-word";
-          rev = "14e65660e17faa024943603eab9e887292fb3614";
-          sha256 = "1v9rpfcnviwkzr5bz4x655ldk6hsxpqsvm9qs805pc4k0f4niz5w";
+          rev = "91552cbceac8e2b7c23036f044fc84f5c6f8e338";
+          sha256 = "1pilsd3hkryyl4sd6s4nvmraszkdmcn3qdqi939yjgzp4lz3q412";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/22636390e8a15c09293a1506a901286dd72e565f/recipes/fix-word";
@@ -22960,12 +23086,12 @@
     flatui-dark-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flatui-dark-theme";
-        version = "20170423.958";
+        version = "20170513.722";
         src = fetchFromGitHub {
           owner = "theasp";
           repo = "flatui-dark-theme";
-          rev = "af5c84e2a2810748cc71a68ec7ba333097cc1f63";
-          sha256 = "0c0pm67d8w9jdraap0sswvx7ywly9ifimij2c5w9p4hiph8gisr9";
+          rev = "5b959a9f743f891e4660b1b432086417947872ea";
+          sha256 = "0nz4ql7qf49cwsgjb7dg0jhipr5d472r4fddy6fhr1h17s1cd9qy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5f9dc5abeb37422c63cac74f9a006d54c4a7c5a5/recipes/flatui-dark-theme";
@@ -23230,12 +23356,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20170507.113";
+        version = "20170601.608";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "4cb411b27b244af81ef40318f7854abdccc38291";
-          sha256 = "0kfq9h81nh9j8kv7fcx1qh7yx2kmq7l6lkdivabwh6jbnvdyw23n";
+          rev = "db3a745edb6b2678286e4d2bccebbb8d388c1a9e";
+          sha256 = "057yy3nmvlsczzq4h72a67qi4qbjl5ysv3vz4iw2nr1772a1y9ja";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -23440,12 +23566,12 @@
     flycheck-color-mode-line = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-color-mode-line";
-        version = "20131125.2138";
+        version = "20170512.1607";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-color-mode-line";
-          rev = "c85319f8d2579e770c9060bfef11bedc1370d8be";
-          sha256 = "11xc08xld758xx9myqjsiqz8vk3gh4d9c4yswswvky6mrx34c0y5";
+          rev = "b2b20727d133c05fd31eac7b9b5c0886bbca8f98";
+          sha256 = "1dgm9i2b9irp454ag9pv96hbacz1j3gsapk96xr45wjh4hblgwa3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/02b5b60b74581ff0d1815155223e0c6e94a851a1/recipes/flycheck-color-mode-line";
@@ -23458,15 +23584,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-coverity = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-coverity";
+        version = "20170520.825";
+        src = fetchFromGitHub {
+          owner = "alexmurray";
+          repo = "flycheck-coverity";
+          rev = "fb8ef7b07ca17681b72272331d43578f30405bec";
+          sha256 = "0068wzh2fyrbjn5gvfyf1kpfppfw49mnwkd0n046nhjgaz9y1lc7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/55e8df91adbcf8b059096e02aba2781424250381/recipes/flycheck-coverity";
+          sha256 = "1knd1sqgjkgb5zs8hgsi6lyvkqmrcrdjgx81f26nhg40qv5m2p5l";
+          name = "flycheck-coverity";
+        };
+        packageRequires = [ dash emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-coverity";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-credo = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-credo";
-        version = "20161121.2201";
+        version = "20170526.845";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "flycheck-credo";
-          rev = "f773422c356c1c3b39fcece3cb7cc1257c7df517";
-          sha256 = "0cq6lap4gndm801lj1q1wajpb03vz40hsdimr1n02p2k2dkrz8p3";
+          rev = "e88f11ead53805c361ec7706e44c3dfee1daa19f";
+          sha256 = "04i7fbqpkjpsfa8vjpkdhg1sj5isczxwncdp4vr9x3vll3svblm7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/88dfffe034135cc46d661f8173e8b14e0fb7f240/recipes/flycheck-credo";
@@ -23608,12 +23755,12 @@
     flycheck-dialyxir = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-dialyxir";
-        version = "20170124.2319";
+        version = "20170515.825";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "flycheck-dialyxir";
-          rev = "7e79dc33a12b8aded7a86d64d302072eed522cb4";
-          sha256 = "1ylg8v1khh2bph6hscib7diw039z0nxfh28b9mhgyi6s33jyq618";
+          rev = "adfb73374cb2bee75724822972f405f2ec371199";
+          sha256 = "1kzvq99f052mdj4ml1m6nvxhv0kqqblmpdgnwcm89krf0qfl4gjg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa49551b8f726c235e03ea377bb09a8be37b9f32/recipes/flycheck-dialyxir";
@@ -23755,12 +23902,12 @@
     flycheck-flow = callPackage ({ fetchFromGitHub, fetchurl, flycheck, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-flow";
-        version = "20170325.504";
+        version = "20170604.811";
         src = fetchFromGitHub {
           owner = "lbolla";
           repo = "emacs-flycheck-flow";
-          rev = "e51aff467edf2d86e7b315d79d6f2f4d8408ea78";
-          sha256 = "1w1s7rcbmiikb7f80rf9d77gzszjcfyymx75x20vvq3rw4wvdnyj";
+          rev = "a249e60803b1e423c67e40462229646cc77fcb68";
+          sha256 = "04xghj1l4fnfhl139k3s6q7fhln946gx8ak7l6ys7rz23iizbx4q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4d18fb21d8ef9b33aa84bc26f5918e636c5771e5/recipes/flycheck-flow";
@@ -23818,12 +23965,12 @@
     flycheck-haskell = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-haskell";
-        version = "20160524.117";
+        version = "20170604.447";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-haskell";
-          rev = "a475c9c4d799bf98931efec95b61160e3ad8b61f";
-          sha256 = "05a5hyl6avf09drq6wva8mmxbag41dqixaz6azifywa8p63w1mlk";
+          rev = "84a8853d2ed4bd74038bb45d531dfbff0a3b1de0";
+          sha256 = "1lzf5wahmbxfqa7944z5gjbs7vfbm5qsv02jc7x3cvj8z22kf4fd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ca601613788ae830655e148a222625035195f55/recipes/flycheck-haskell";
@@ -24095,8 +24242,8 @@
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "flycheck-package";
-          rev = "afe8a49343d90d08ee72ac6f993d424dcc39cc38";
-          sha256 = "19pz8h01yacfqsyh5940pam6vigvavsqg6qd84994d7mmzl534qa";
+          rev = "cb526f54f4017454e2503b340757ba15578a5aed";
+          sha256 = "1x1pmz7gd909s11fsyqrh8a7bg2j4hw572wwqy1kjz2qf42mfw53";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d17ec69c9f192625e74dfadf03b11d0d7dc575e7/recipes/flycheck-package";
@@ -24280,12 +24427,12 @@
     flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "flycheck-rtags";
-        version = "20170403.957";
+        version = "20170522.2154";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "2abdfb2adf24b881cdd04e904ecb341bb51e8cb6";
-          sha256 = "11f9sd8w7qqhfd6mxbihlc6mdki4lqyk4dwbi3v91k9hbxb9hlq2";
+          rev = "d6af2ad09c99f9c58900665e874dcf97a545c0fa";
+          sha256 = "12p22b9q4rkl7jswg12gqc8751sinzgj8h75jjzrggd0vfsg439a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -24445,6 +24592,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-vale = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-vale";
+        version = "20170521.109";
+        src = fetchFromGitHub {
+          owner = "abingham";
+          repo = "flycheck-vale";
+          rev = "7ca0a2a29b6185761bd07369c565774269c909dd";
+          sha256 = "1crlyphv00a1zm8wbsysxfxhfasv34bbnckc4a3psnvl913nc1gn";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7693eeb536e601589b49f96d0e2734cd08fad4f2/recipes/flycheck-vale";
+          sha256 = "1ny30q81hq62s178rj3jjwsf9f3988dd6pl82r0vq53z3asnsxyd";
+          name = "flycheck-vale";
+        };
+        packageRequires = [ emacs flycheck let-alist ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-vale";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-yamllint = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-yamllint";
@@ -24473,8 +24641,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "05f0409fb7902daf49b4cd329e5c9ef569d77689";
-          sha256 = "0mp05xsphbidjgskp2pnv2x54z95dzmvfwdddpgmysmc99sz305y";
+          rev = "29aba538be5e44da81ad76a6078bb65c1c5e1aa6";
+          sha256 = "0fpccpiwwsxg0asdzg0m5hlwdv6jyr7khywnd1rb6kvr8m2qm0hf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/flycheck-ycmd";
@@ -25246,12 +25414,12 @@
     flyspell-popup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "flyspell-popup";
-        version = "20150926.803";
+        version = "20170529.115";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "flyspell-popup";
-          rev = "f31d89ec60364ee24f89c90e9acc110bd86ea67f";
-          sha256 = "1rdpggnw9mz3qr4kp5gh9nvwncivj446vdhpc04d4jgrl568bhqb";
+          rev = "29311849bfd253b9b689bf331860b4c4d3bd4dde";
+          sha256 = "0x7jilwb0fgzsr7ma59sgd0d4122cl0hwzr28vi3z5s8wdab7nc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/186d00724137c055b521a5f5c54acf71c4b16c32/recipes/flyspell-popup";
@@ -25330,12 +25498,12 @@
     focus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "focus";
-        version = "20161113.1145";
+        version = "20170520.901";
         src = fetchFromGitHub {
           owner = "larstvei";
           repo = "Focus";
-          rev = "75202c9445f52eab6fb82f00006f37cd20dae6b2";
-          sha256 = "1v9y3dp7sd4rsm31myp3l1jxpwjw3madajb6yz9rw0yhdirfwgbg";
+          rev = "155da77a324f28fd37f6167d5c843c491dc3327d";
+          sha256 = "0jkfwammgzvfdhs4pg751rkljhrkmbyvqfs762i3smpqw95jqh2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e8f1217224514f9b048b7101c89e3b1a305821e/recipes/focus";
@@ -25706,12 +25874,12 @@
     forth-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "forth-mode";
-        version = "20170208.2305";
+        version = "20170527.1230";
         src = fetchFromGitHub {
           owner = "larsbrinkhoff";
           repo = "forth-mode";
-          rev = "2d30ca8eaaebbb9ee94aca46418ba4bb71ea2569";
-          sha256 = "14v2vq71rj9byilzw04aky90h5fqn5bpv3xy742zbivn6msp2fxi";
+          rev = "522256d98d1a909983bcfd3ae20c65226d5929b6";
+          sha256 = "110ycl8zkimy2818rhp3hk3mn2y25m695shdsy6dwxnrv90agss6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e46832079ee34c655835f06bf565ad5a5ab48ebd/recipes/forth-mode";
@@ -26037,12 +26205,12 @@
     fsharp-mode = callPackage ({ company, company-quickhelp, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, pos-tip, s }:
     melpaBuild {
         pname = "fsharp-mode";
-        version = "20170416.335";
+        version = "20170606.925";
         src = fetchFromGitHub {
           owner = "rneatherway";
           repo = "emacs-fsharp-mode-bin";
-          rev = "c2acdaaf36176d36ccadfe73c2593362ef930ebd";
-          sha256 = "00am42hl5icvbw5d7kpbdcl9sr8flsgl1pqmcxqpcz30yw6f4pr2";
+          rev = "1020b6ccb5bf7d3eccd9e84b7ab293c87528265e";
+          sha256 = "0qbhl4yzn5q156w1gyapj430sxj4iyzgdwh2f5zyl8q791vad9k3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dc45611e2b629d8bc5f74555368f964420b79541/recipes/fsharp-mode";
@@ -26066,16 +26234,16 @@
     fstar-mode = callPackage ({ company, company-quickhelp, dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, quick-peek, yasnippet }:
     melpaBuild {
         pname = "fstar-mode";
-        version = "20170504.2114";
+        version = "20170531.1958";
         src = fetchFromGitHub {
           owner = "FStarLang";
           repo = "fstar-mode.el";
-          rev = "f1ea9d9eb1c529f6a3859779d24718b4fc8ee7a1";
-          sha256 = "0v4r3nczn8whi0drsqrm2zdq4lj0l95hbplqbr80z420y6xchasc";
+          rev = "c9a9d722848dfc3f37ac9e0e91603340e5f5df1e";
+          sha256 = "0faf8796vvfi2g4kmh7xsnc08m3iyldgcivslq0xy86ndh682f06";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/fstar-mode";
-          sha256 = "1cjwai0qf48m18dsa0r9sh4qlgvdzg5ajfbmxxc2vqzcl5ygrxjx";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c58ace42342c3d3ff5a56d86a16206f2ecb45f77/recipes/fstar-mode";
+          sha256 = "1kwa6gqh91265vpp4gcady2brkizfkfjj0gnya9lar6x7rn4gj7s";
           name = "fstar-mode";
         };
         packageRequires = [
@@ -26095,11 +26263,11 @@
     fuel = callPackage ({ cl-lib ? null, emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fuel";
-        version = "20170107.626";
+        version = "20170601.1205";
         src = fetchgit {
           url = "git://factorcode.org/git/factor.git";
-          rev = "c1d6477c22df9cd0604c2b06aca919a53674bb78";
-          sha256 = "1lz1bwgjvjijs3v2v6qyivzbz9jl7zx55n65hlsq0nq6limjd8bh";
+          rev = "dc0b8994f00bd46de99398f92bf949a784c7a9ee";
+          sha256 = "1wka0ldx68psxjp3bl6xwx48mlnawqccvyig1lr4c5vi1avkf6dk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c3633c23baa472560a489fc663a0302f082bcef/recipes/fuel";
@@ -26224,8 +26392,8 @@
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "f7b42f135db488dc449e18108bdde176937c6a8c";
-          sha256 = "1wiwbpd0ssb07q0wlr5rj7wkwdfgff9s5d9fldpwvsyhad6p4dj2";
+          rev = "19015c8d84abc84cfd5f39295b02af8af5ef2e94";
+          sha256 = "1vp24kgi3hv2j7df6nmczhfy847725c6jpjizmgfl9r2d7d1v9bs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -26384,12 +26552,12 @@
     fzf = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fzf";
-        version = "20161226.936";
+        version = "20170527.2120";
         src = fetchFromGitHub {
           owner = "bling";
           repo = "fzf.el";
-          rev = "779254fe1ec7a0c9110af36fd039cece3040a312";
-          sha256 = "1p0k71vz9v8vx5h85ph1krb9v0jyhmq73h91ws9zcxpf1bdgy050";
+          rev = "8d75f98cf904c3ab62e8cc54f2b8701c215620d7";
+          sha256 = "1rr0d937j078xyhlx5i305l5wavd3fcmvfqmdnbfwah8mfnp4kip";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1671e17c99ef1932c6a2e83fc4fa2e4eb6674bc8/recipes/fzf";
@@ -26512,8 +26680,8 @@
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "geben-helm-projectile";
-          rev = "14db489efcb20c5aa9102288c94cec3c5a87c35d";
-          sha256 = "1nd1jhy393vkn2g65zhygxkpgna0l8gkndxr8jb6qjkkapk58k8l";
+          rev = "31ce0faca5dcc71924884f03fd5a7a25d00ccd9b";
+          sha256 = "0a1srhwfbgkvndjfi9irg5s6snlxyqrw1vwyqg1sn8aqnbpgib04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7d28c45304a69e6ca78b3d00df2563171c027ee/recipes/geben-helm-projectile";
@@ -26571,12 +26739,12 @@
     general = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "general";
-        version = "20170328.954";
+        version = "20170528.336";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "general.el";
-          rev = "fa0e6e2d2a9c06671fd44b5d938ea24387654525";
-          sha256 = "0wnh24jnnf0kl291l36hykx86nrn74kqwxlwzd2llydbhk07sq8s";
+          rev = "a8470934373b2bdd67f38e46e1dd4fb963cee31b";
+          sha256 = "17hg6iw3dz1ssxvz1zm8c90927a2sf22yv31g2y7n98jnpq622bs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general";
@@ -26697,12 +26865,12 @@
     gh = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, logito, marshal, melpaBuild, pcache, s }:
     melpaBuild {
         pname = "gh";
-        version = "20161119.2004";
+        version = "20170512.2049";
         src = fetchFromGitHub {
           owner = "sigma";
           repo = "gh.el";
-          rev = "6a76836a2ed1ebc3380dcfbe2b46786abf905fab";
-          sha256 = "0anlavmfhm0ax6566sl9ih0j4v80s313n32d4yfp9lh4f1drp62k";
+          rev = "6efe3db1acb841c3366878baefc576caa2eb5e09";
+          sha256 = "0nchfzlnhzns1d6362yv5qa469qmgcvr15nx8ygcpw8ncf4pqjpw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gh";
@@ -26739,12 +26907,12 @@
     ghc = callPackage ({ fetchFromGitHub, fetchurl, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ghc";
-        version = "20160808.813";
+        version = "20170526.44";
         src = fetchFromGitHub {
           owner = "DanielG";
           repo = "ghc-mod";
-          rev = "50617fe41d382132472c3beec50749b21e21325c";
-          sha256 = "1l2a7nab0d3w75qv30597ib5s4gfj0jghdjqfcjcr9267jz1yhs4";
+          rev = "8bfd542ad210debd00a0be9f15b21c90043b15d4";
+          sha256 = "04vjp5m25yyxhdzwc50g0qcggzhg1rs4kyj7d0ax0blfnqzggf2c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/ghc";
@@ -26865,12 +27033,12 @@
     ghub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub";
-        version = "20170426.419";
+        version = "20170518.358";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "ghub";
-          rev = "da60fa2316bf829cab18676afd5a43088ac06b60";
-          sha256 = "0aj0ayh4jvpxwqss5805qnklqbp9krzbh689syyz65ja6r0r2bgs";
+          rev = "715dfef4a926228c059674bc68a16e27d4f539ee";
+          sha256 = "1y6crh3v3g7g0i225pcp9ff18pcfl5fnpc22yf4wcbf1if7pd2vs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9375cbae3ffe5bf4ba5606358860050f3005d9b7/recipes/ghub";
@@ -26883,6 +27051,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    ghub-plus = callPackage ({ apiwrap, emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ghub-plus";
+        version = "20170517.1445";
+        src = fetchFromGitHub {
+          owner = "vermiculus";
+          repo = "ghub-plus";
+          rev = "07bd117a77d2f2de88facfa18b839c5c8bd5a423";
+          sha256 = "04k3xvs33vv3g01ah16bc4l6f3ym4w16i9bk5q2s4f1xh4lad3jn";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+";
+          sha256 = "0xx7nwmjx3f7z6z164x1lb9arbb3m3d16mpn92v66w572rhbr34n";
+          name = "ghub-plus";
+        };
+        packageRequires = [ apiwrap emacs ghub ];
+        meta = {
+          homepage = "https://melpa.org/#/ghub+";
+          license = lib.licenses.free;
+        };
+      }) {};
+    gift-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gift-mode";
+        version = "20170603.906";
+        src = fetchFromGitHub {
+          owner = "csrhodes";
+          repo = "gift-mode";
+          rev = "0d6adae976ee0831877d4bf237090ff67fb76e1d";
+          sha256 = "1ld367qvyn7700mry24j4ywmanaknpwgfmq18h72sn408z9vsalc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c4c9081a60bdbf4e5fe1ccc4809c0f6f396d11e4/recipes/gift-mode";
+          sha256 = "0sybrjmcg90cjaax7lzzqvacirn5l23hqy9d843c660fsv98scg1";
+          name = "gift-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/gift-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     gildas-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, polymode }:
     melpaBuild {
         pname = "gildas-mode";
@@ -26907,12 +27117,12 @@
     gist = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, melpaBuild }:
     melpaBuild {
         pname = "gist";
-        version = "20161127.855";
+        version = "20170604.1834";
         src = fetchFromGitHub {
           owner = "defunkt";
           repo = "gist.el";
-          rev = "62888de7f776c867a51cee4d5d55edc561e519cc";
-          sha256 = "0xvmrpx3gbdancxhggw7k7r2bzlwmni9vynsjf5ddpv5alw2bscx";
+          rev = "a03f142455e8b39f77fbd57ee1c1e44478c1f9e2";
+          sha256 = "1xisjaxr54zrxzxj8cp8f90kzphd5v3j56d14534fm5r1f5343vp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gist";
@@ -27033,12 +27243,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "20170510.910";
+        version = "20170609.2310";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "d783e7b2427ed0c2d25895bcecc7190b9e953b97";
-          sha256 = "04hbgbrfdv9jn86p0g9rw6yzfbgfbqxhiq7y9ncc4dm4vfmrli66";
+          rev = "622c994183294b02893ff286210bffd5255296df";
+          sha256 = "1cyzf8xh6ibq9vypcdg4akqsfr1i202y14mdlr7hh2bkxymcq32i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -27180,12 +27390,12 @@
     git-lens = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-lens";
-        version = "20170509.258";
+        version = "20170517.144";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-lens";
-          rev = "5999cbeb365930dcd56a7c44083bf3426c58e018";
-          sha256 = "1k2kq2fqrlmgvkpngyxfh77ilg0pcjr160rhg0ml775i0jcvk3hy";
+          rev = "91bf19d6dd7368de5cad373a8155c48c4e254723";
+          sha256 = "1gszcsji3n42xpshz1pzyvlrd0hxjh14fr4n0ixqv2igk3fywxr3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66fd7c0642e8e61b883d2030f88892d039380475/recipes/git-lens";
@@ -27201,12 +27411,12 @@
     git-link = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-link";
-        version = "20170504.1834";
+        version = "20170603.1026";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "git-link";
-          rev = "88bb1cddbcbaa52c674288173fc0806fc6d4a904";
-          sha256 = "0yj0rldpvyfz939ld9pfgpamlzrc70wchvq094js6il78514lr49";
+          rev = "472af75eca7aba42a1934f408c4bda55e34c9dcf";
+          sha256 = "0xgvwg2zxb9akk3kxxcz5cvgw4zkbqx5p4b5in01z5aj4lqmjw6s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1385443585e628e3d4efb3badb7611e9d653e0c9/recipes/git-link";
@@ -27453,12 +27663,12 @@
     github-notifier = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "github-notifier";
-        version = "20161102.755";
+        version = "20170604.2119";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "github-notifier.el";
-          rev = "12621caa8d78bf2b559d2113ef476a8f2c2a4e0e";
-          sha256 = "1cwabnm6nirmrwdq14l3pqdjh40h49icbfjx3z86rppp7cj3dmlm";
+          rev = "f8d011ebef9f626a94a27b5576c8ed06e6ff8987";
+          sha256 = "0glkn36fs93y2n1583k8v958qfhl212hbdk3cpkq432hj08wzjnr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c09f4e7e8a84a241881d214e8359f8a50ab14ddf/recipes/github-notifier";
@@ -28484,8 +28694,8 @@
         src = fetchFromGitHub {
           owner = "golang";
           repo = "lint";
-          rev = "cb00e5669539f047b2f4c53a421a01b0c8e172c6";
-          sha256 = "1wav8y5yps407znh0wspvcripbp2xjigqhzhgbv0adqsm9nyn70p";
+          rev = "c5fb716d6688a859aae56d26d3e6070808df29f7";
+          sha256 = "0bp9aarkinjr6m358qw9x4qxi3v9h06jvipyx1pg3pwsqh61vb12";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/34f22d829257456abbc020c006b92da9c7a7860e/recipes/golint";
@@ -28547,8 +28757,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "styleguide";
-          rev = "c212f99186958f25d3d20994144ea11df923da79";
-          sha256 = "1lhld1y3zxcj30fwjydiza4kfjpd2z1nc88kk7jkgzz670yk8qi4";
+          rev = "142b0e64babdb0066d2ffebfedb3c886fe75c680";
+          sha256 = "0vccg70zf0c7xx6acffrdvhvvih95fcgxq9dw4bsax46p2pffc6q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style";
@@ -28645,6 +28855,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    goose-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "goose-theme";
+        version = "20160828.545";
+        src = fetchFromGitHub {
+          owner = "tokenrove";
+          repo = "goose-theme";
+          rev = "acd017b50ab25a75fd1331eb3de66467e2042e9c";
+          sha256 = "1mmdvjsgnwgs6akhyj96fgj30mz53djdq85dl5q4cmiznlbma7hy";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e23a52e068ec0e6d457402254727673ea02bd407/recipes/goose-theme";
+          sha256 = "1nw948js678xc5vgrpdkykpcbn1b1id4k1clf87vfv7y5zssvd0x";
+          name = "goose-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/goose-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     gore-mode = callPackage ({ fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "gore-mode";
@@ -28690,12 +28921,12 @@
     gotest = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild, s }:
     melpaBuild {
         pname = "gotest";
-        version = "20170303.13";
+        version = "20170522.53";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "gotest.el";
-          rev = "30a31c14e5c83019ec4b31fd9913efaf9220b4b9";
-          sha256 = "09pplr231ga3ic8i8jqxqi19ydjp6245spwraqymxqq5h1x94bfs";
+          rev = "c15bdcb78a46167e7a3fbaf5f71cbeddf2f13b78";
+          sha256 = "0pzzcjc41k3by534ii11jxfind4fq1cv3pqa3scisv4pvyj6lha6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/gotest";
@@ -28711,12 +28942,12 @@
     gotham-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gotham-theme";
-        version = "20170426.1411";
+        version = "20170521.417";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "gotham-theme";
-          rev = "b939d0687ffdcc961f58af30178cee1981c72c4f";
-          sha256 = "1inldaab0mzpv81zkfjy9kbwd89iclmdbgnwg790yympqaycpynf";
+          rev = "df428b477eb84f2ccd791c4310587cfd72644692";
+          sha256 = "0ph5h08cx61nh70hafmnqzdcxb799fss0pl2d36hhimkf866zvln";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b388de872be397864a1217a330ba80437c287c0/recipes/gotham-theme";
@@ -28797,8 +29028,8 @@
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "35caa01bfa4cbff15d06382021e2028bdf0a77ad";
-          sha256 = "0j4xwlr1zlvhj6193nvqbfz5wmcr2dnmv2n6qsdyzfxk25z6ngc0";
+          rev = "98f52561d70fd95cfb7a5155ec9e62282bc55dc2";
+          sha256 = "0vqnsyn80h06qi2ypql4j66a9w1dsnd5f95gcnj5dgwk0scgpfxp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -28923,8 +29154,8 @@
         src = fetchFromGitHub {
           owner = "Groovy-Emacs-Modes";
           repo = "groovy-emacs-modes";
-          rev = "9849318762a1f495b3c8913e47256450c1854489";
-          sha256 = "0f0h6syghw0kfqzway1f8hc0agrbdsdc68931bjprm7fm43dhrzw";
+          rev = "816182124457bed620678f9a92b349787cbf87bd";
+          sha256 = "19rqjfy8gwmxpmw9qgnd6zi6albrhj5jzj1hgrc5nxagb2gp0ckj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/grails-mode";
@@ -29304,12 +29535,12 @@
     groovy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "groovy-mode";
-        version = "20170503.148";
+        version = "20170609.1120";
         src = fetchFromGitHub {
           owner = "Groovy-Emacs-Modes";
           repo = "groovy-emacs-modes";
-          rev = "9849318762a1f495b3c8913e47256450c1854489";
-          sha256 = "0f0h6syghw0kfqzway1f8hc0agrbdsdc68931bjprm7fm43dhrzw";
+          rev = "816182124457bed620678f9a92b349787cbf87bd";
+          sha256 = "19rqjfy8gwmxpmw9qgnd6zi6albrhj5jzj1hgrc5nxagb2gp0ckj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode";
@@ -29430,12 +29661,12 @@
     gtk-pomodoro-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gtk-pomodoro-indicator";
-        version = "20170327.948";
+        version = "20170517.900";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "gtk-pomodoro-indicator";
-          rev = "35da6b5eeb91ea2488e25be5d8200a060c88aea1";
-          sha256 = "19q99bwdbii0qvk9lkr0z8iy1h131j69q4zwbjgwslj19vq12mn6";
+          rev = "0fa0e682b3bd1595f230275d73ca231e93c6d28a";
+          sha256 = "1jm7kcray6qd867hacyhs5c7hhdm0fyfa1jx35sh09g5c9xa4x2f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b98ec72605077f3b3f587713a681eb2144f29645/recipes/gtk-pomodoro-indicator";
@@ -29451,12 +29682,12 @@
     guess-language = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "guess-language";
-        version = "20170417.1359";
+        version = "20170521.404";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "guess-language.el";
-          rev = "2bc0e1f9c8947b9b5ac8d792bd7f6d2c36d294ab";
-          sha256 = "0nl9963m20cpfn3n50khbbmc1aas56q38xjjwiq01s8pmjvmcs6v";
+          rev = "65dccb18df4d0c766d516c5f1423994bae445b51";
+          sha256 = "0w189k3nnkzgh6gqw4zknhjykigym42rxjhcr5xl1b3h3mn0zz7j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6e78cb707943fcaaba0414d7af2af717efce84d0/recipes/guess-language";
@@ -29514,12 +29745,12 @@
     guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "guix";
-        version = "20170508.1218";
+        version = "20170608.303";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "guix.el";
-          rev = "41a9d7ba0acfd19e4c669aed12684e852bf886ca";
-          sha256 = "1vkhzb9mzcrm7yc6vccd0937j19hg1m3jbswlb7qjl3gi3dc57hr";
+          rev = "af57f5e969004dc5141cdb1d4c77c55ece0c6868";
+          sha256 = "0nv85nlcac7k5pld2sg9wsbggq394jlmpcayzkrm81yy8a5grm5d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@@ -29640,12 +29871,12 @@
     hack-time-mode = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hack-time-mode";
-        version = "20170413.630";
+        version = "20170527.910";
         src = fetchFromGitLab {
           owner = "marcowahl";
           repo = "hack-time-mode";
-          rev = "79abe7652690186224ba22d1346d24e7603448f7";
-          sha256 = "176zpdxsjydl7vvh2jhpbwsndzwzzyfhw6hpak16wj5b7rv9jj19";
+          rev = "73d6fcf8b39283526e5d4e3919193611e25a0898";
+          sha256 = "1w0idf28fhyn0qmjk1zgh80gzcrkgx5bc8mb0xamc20i53wpr4xl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6481dc9f487c5677f2baf1bffdf8f2297185345e/recipes/hack-time-mode";
@@ -30018,12 +30249,12 @@
     haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "haskell-mode";
-        version = "20170406.25";
+        version = "20170601.2103";
         src = fetchFromGitHub {
           owner = "haskell";
           repo = "haskell-mode";
-          rev = "90a352f0d23ffc46a626d512c1c76d70994e77a8";
-          sha256 = "177r3vv9vh24bxara2wq4nrfi6yvfchi9syy8j5ridj2l3vzsxiz";
+          rev = "c46bdf129fb7ac241b84e0cfffcd3c7588dfb1af";
+          sha256 = "095y6zg8frdl9z7r4xp4dysf93d947srwiylngss8fclav7fjq2y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
@@ -30080,12 +30311,12 @@
     hasky-extensions = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hasky-extensions";
-        version = "20170426.1347";
+        version = "20170520.149";
         src = fetchFromGitHub {
           owner = "hasky-mode";
           repo = "hasky-extensions";
-          rev = "f1159dd640b54852beb6d3ef51b167e72f2c066b";
-          sha256 = "15zjxiqd9akvr8v1id8i2qwb30393cskp1a20c8wlvh5y7i4fffp";
+          rev = "5a57a6401f6625640f46d8f8d540ecddf52bb12d";
+          sha256 = "1262kddcn3jr758s6wv15q3bh8j160q4m8nz2pbv2prabg0csz5n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e3f73e3df8476fa231d04211866671dd74911603/recipes/hasky-extensions";
@@ -30287,12 +30518,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20170510.853";
+        version = "20170611.701";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "ab8e6fa02968b0391d45c0003355a958335c0946";
-          sha256 = "0ch05a4kiw7dbiffja5p019776pfk4g0i62vl2vpklpbnggxrfzx";
+          rev = "9f532785d43389339ed73d90357d4aea9d966020";
+          sha256 = "0n23yyrvsvp0j9grgwd7fiw808kf9wr4fs3kry771pzq1fg16wg5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -30662,6 +30893,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-charinfo = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-charinfo";
+        version = "20170611.1746";
+        src = fetchFromGitHub {
+          owner = "mandoku";
+          repo = "helm-charinfo";
+          rev = "a4902a90bd9f012468ad8186e2548c7814847613";
+          sha256 = "024pqnw87whwa7zpld8bcz1izaymqk0vajhbf9m173hlfw6x7wmp";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6667774bba495c45703ef75261f1f14d89684e3a/recipes/helm-charinfo";
+          sha256 = "04k6crcwhv2k69f5w75g0dg0f5qsbhyxl93qzxxdb5bnr56ad7f6";
+          name = "helm-charinfo";
+        };
+        packageRequires = [ cl-lib emacs helm ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-charinfo";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-chrome = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-chrome";
@@ -30854,16 +31106,16 @@
     helm-company = callPackage ({ company, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-company";
-        version = "20170306.2113";
+        version = "20170608.1029";
         src = fetchFromGitHub {
-          owner = "manuel-uberti";
+          owner = "Sodel-the-Vociferous";
           repo = "helm-company";
-          rev = "f00df346098636650c4047394aa593d67b007859";
-          sha256 = "03rcn9a3fbhcbh739xykjk94jg2sl4mj6y22knfwbh1hm1wymii3";
+          rev = "ae4e1a05455f5eaf07e61b8627934ea1df4eb048";
+          sha256 = "05lfqdg5pzwji3j5w1l892qab9nffd3if8ha0545gbxfn94lnx90";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/78ff0a6cf493ff148406140f3e4902bfafd83e4a/recipes/helm-company";
-          sha256 = "1pbsg7zrz447siwd8pasw2hz5z21wa1xpqs5nrylhbghsk076ld3";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8acf7420f2ac8a36474594bc34316f187b43d771/recipes/helm-company";
+          sha256 = "1wl1mzm1h9ig351y77yascdv4z0cka1gayi8cnnlayk763is7q34";
           name = "helm-company";
         };
         packageRequires = [ company helm ];
@@ -30875,12 +31127,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20170507.531";
+        version = "20170611.135";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "ab8e6fa02968b0391d45c0003355a958335c0946";
-          sha256 = "0ch05a4kiw7dbiffja5p019776pfk4g0i62vl2vpklpbnggxrfzx";
+          rev = "9f532785d43389339ed73d90357d4aea9d966020";
+          sha256 = "0n23yyrvsvp0j9grgwd7fiw808kf9wr4fs3kry771pzq1fg16wg5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -30959,12 +31211,12 @@
     helm-dash = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-dash";
-        version = "20170221.638";
+        version = "20170531.135";
         src = fetchFromGitHub {
           owner = "areina";
           repo = "helm-dash";
-          rev = "f07a77bd6ae6d8c933753f25526cbf3b71903e77";
-          sha256 = "0az1j68g0svynvag7p3x7l1rv4n6y1knkmfcjhcli4jwrkn720xr";
+          rev = "9a230125a7a11f5fa90aa048b61abd95eb78ddfe";
+          sha256 = "0xs3nq86qmvkiazn5w564npdgbcfjlnpw2f48g2jd43yznblz7ly";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-dash";
@@ -31043,12 +31295,12 @@
     helm-dired-history = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-dired-history";
-        version = "20170321.2201";
+        version = "20170524.346";
         src = fetchFromGitHub {
           owner = "jixiuf";
           repo = "helm-dired-history";
-          rev = "9480383b6ccede6f7c200fbd50aaeb2898b3a008";
-          sha256 = "0cfq06lray7hpnhkwnhjq18izyk2w0m4cxqg0m5nyidiwc4qssqa";
+          rev = "281523f9fc46cf00fafd670ba5cd16552a607212";
+          sha256 = "1bqavj5ljr350dckyf39i9plkb0rbhyd17ka94n2g6daapgpq0x6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-dired-history";
@@ -31127,12 +31379,12 @@
     helm-emms = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-emms";
-        version = "20170510.755";
+        version = "20170517.1010";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-emms";
-          rev = "a00839beffc34f252dd4c75553e5a414577dd2ae";
-          sha256 = "0pfb6b1g7wsj1yj75nm152d7n247zbzc9pg1nqb9x3cw7ln2dgpg";
+          rev = "b1c7d03e80c3012e327f0d518258508acf980c1c";
+          sha256 = "18fpsr6kaw2m1bvj05i5qayq6d01v54jw98489bgwshp9wmhsy9m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/db836b671705607f6cd9bce8229884b1f29b4a76/recipes/helm-emms";
@@ -31442,12 +31694,12 @@
     helm-git-grep = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-git-grep";
-        version = "20170423.759";
+        version = "20170530.830";
         src = fetchFromGitHub {
           owner = "yasuyk";
           repo = "helm-git-grep";
-          rev = "605e214632644224b5b7adf2a68f265489c2a080";
-          sha256 = "03hix4vqp1krh8v3x6iqs3xqpcjzibwlafxrmn2gz3n4f9xb9j37";
+          rev = "e3ae5f60585ac0213876dca5093aca467db1ac5b";
+          sha256 = "0bld5kjzgjhkjcjc7b66kg55yb7pzrbnxfqx79f5glxckbp2pxjr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/338d28c3fe201a7b2f15793be6d540f44819f4d8/recipes/helm-git-grep";
@@ -31904,12 +32156,12 @@
     helm-ls-git = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-ls-git";
-        version = "20170214.525";
+        version = "20170601.2200";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-ls-git";
-          rev = "7b7b6dc2554603ad98412927f84a803625069ab3";
-          sha256 = "1s748a5abj58hd7cwzfggfnnmyzhj04gpbqqwqmskn8xlsq5qcdi";
+          rev = "1253c7615da055a95548b4f92a8a503fe249884e";
+          sha256 = "1zyix2whj9j19ica9pff1hh7vgyg1h009vx5xhcqw5sligrh2dwr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b487b4c0db9092bb7e32aad9265b79a9d18c8478/recipes/helm-ls-git";
@@ -32155,12 +32407,12 @@
     helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-org-rifle";
-        version = "20170509.1646";
+        version = "20170518.312";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "helm-org-rifle";
-          rev = "9570ee6ddf67ead1baafaf1128b6ea5069aa97df";
-          sha256 = "0v93cmgnd4v6skkn7aag1x0z8pin0mr3myqaxi08knwz31j8s2r8";
+          rev = "61adb8ec3af0b7b87b2f9245510dc8b014d026ed";
+          sha256 = "05zqp6yifc87i22q0p37jl90cfyh5v1bq9ifhpkdy1rs3sgcmnif";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
@@ -32495,8 +32747,8 @@
         src = fetchFromGitHub {
           owner = "bomgar";
           repo = "helm-rage";
-          rev = "dc51371265acea60ac0691016f6ce84597bcace1";
-          sha256 = "1asz4rq5c4w82w167li0vvmqv3zjl4rz67c2dj8i717ihcm45sip";
+          rev = "3cae7f309b45cc6e40507be68c0cc2e5595c1392";
+          sha256 = "0j8yvxvd78lcfpss327xc6rahkqva66rrqjjx5cmdl82xncb53vz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84f831fdc5a0e90c23ac11c79f193f4d3c1ebb04/recipes/helm-rage";
@@ -32659,12 +32911,12 @@
     helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "helm-rtags";
-        version = "20170402.653";
+        version = "20170522.2154";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "2abdfb2adf24b881cdd04e904ecb341bb51e8cb6";
-          sha256 = "11f9sd8w7qqhfd6mxbihlc6mdki4lqyk4dwbi3v91k9hbxb9hlq2";
+          rev = "d6af2ad09c99f9c58900665e874dcf97a545c0fa";
+          sha256 = "12p22b9q4rkl7jswg12gqc8751sinzgj8h75jjzrggd0vfsg439a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -32978,8 +33230,8 @@
         src = fetchFromGitHub {
           owner = "bomgar";
           repo = "helm-unicode";
-          rev = "e331c38e651287981e5d34c27e5d7dc4ff24b0d4";
-          sha256 = "05pvswisi44bl35anjbimd0q8i3c7kkjfksvaj69gcr788lhb8iv";
+          rev = "1ad1fcca7a83c163ae74eb72a443cfc102128e33";
+          sha256 = "16s0k6l2k32nxmgqc159kr5vzgn8gydj3bkrkvhhydm3lnh8ki0n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f720b9f9b667bf9ff3080938beab36aa0036dc92/recipes/helm-unicode";
@@ -33125,8 +33377,8 @@
         src = fetchFromGitHub {
           owner = "maximus12793";
           repo = "helm-youtube";
-          rev = "7a944bc25f0f9e915011e9325caf46b46fcaa1b8";
-          sha256 = "0948rq6i4ibwhmi6m2k23f83yvf56vwgri1sg2060d901zd86cxy";
+          rev = "202c27fc3b54927611e9d9c764465e1b42ef7e41";
+          sha256 = "1wqxcz03fq2z31a1n90dg9ap3451vx1376ijbpfy9sg66pgj8yxv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7537f732091b96b6c1b96c0174895278eba6776a/recipes/helm-youtube";
@@ -33217,6 +33469,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helpful = callPackage ({ dash, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "helpful";
+        version = "20170612.205";
+        src = fetchFromGitHub {
+          owner = "Wilfred";
+          repo = "helpful";
+          rev = "fdabfe7d88853e052cd5a20614585ed3cc1faeac";
+          sha256 = "0x8d28s6fi8lmdyp8nyqi0dryf06703kddws079qr0l4p5jiibxr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
+          sha256 = "17w9j5v1r2c8ka1fpzbr295cgnsbiw8fxlslh4zbjqzaazamchn2";
+          name = "helpful";
+        };
+        packageRequires = [ dash elisp-refs emacs s ];
+        meta = {
+          homepage = "https://melpa.org/#/helpful";
+          license = lib.licenses.free;
+        };
+      }) {};
     hemisu-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hemisu-theme";
@@ -33506,12 +33779,12 @@
     hierarchy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hierarchy";
-        version = "20170502.746";
+        version = "20170605.842";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "hierarchy";
-          rev = "18722f28baf24e2040c5ba00e548bd2e73b52bb4";
-          sha256 = "1f07hpg8v1xyxn2nrwz5hq1m9iq162k7b0sgi5jnq55zyii25dvr";
+          rev = "d26f566d386a56e752d8ca1c813932d68b088bde";
+          sha256 = "1dk5hdcjakxi91q29lbnwvbfhr834sxmsr2mrxr5mqhp3wfg3qga";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7aea238a2d14e9f58c0474251984b6c617b6854d/recipes/hierarchy";
@@ -33688,12 +33961,12 @@
     highlight-indent-guides = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-indent-guides";
-        version = "20170508.1133";
+        version = "20170516.1355";
         src = fetchFromGitHub {
           owner = "DarthFennec";
           repo = "highlight-indent-guides";
-          rev = "9614941bce44e16d0681ad1f3f87ca072582a325";
-          sha256 = "1lw9pmykwswi0rg1y80v7ng29fdhymr4wn6k2p3q3yk78d9hi3m0";
+          rev = "b51744bde1287979f2d948f46501bd6ed0897f69";
+          sha256 = "17xbd1kiww762dibws48gwn682g1bxy5rb7np5alqhiiw1l13wdw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8acca65a5c134d4405900a43b422c4f4e18b586/recipes/highlight-indent-guides";
@@ -33979,12 +34252,12 @@
     hindent = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hindent";
-        version = "20160905.243";
+        version = "20170609.126";
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "hindent";
-          rev = "a62a7d09912674842063239983995c3cb6e5b411";
-          sha256 = "0cgwshmng2dnwfimrrpd4m4r74rj7v875wmlvpmxiak9idjgm6a9";
+          rev = "b858104fab63257de4b172b085b28e24ecacfed0";
+          sha256 = "1yzmlflzx9gvm0dysgjwi0a5nm7w7diczwqp4zggd4bl8bb45fip";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent";
@@ -34228,10 +34501,10 @@
       }) {};
     hl-line-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "hl-line-plus";
-        version = "20170223.745";
+        version = "20170604.1526";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/hl-line+.el";
-          sha256 = "1dhrfbmh98y18xgsp42rx1qqcs296mpqqzzp3nr9rcqv4gvpllgp";
+          sha256 = "09dwllzhw0441fbhkw7nb4isfnll6nbpp0il4yc7wgjvg4s94hw6";
           name = "hl-line+.el";
         };
         recipeFile = fetchurl {
@@ -34330,12 +34603,12 @@
     hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "hledger-mode";
-        version = "20170416.111";
+        version = "20170606.644";
         src = fetchFromGitHub {
           owner = "narendraj9";
           repo = "hledger-mode";
-          rev = "f4244cbd773a20b887b937a2eafd1933d91a4d4d";
-          sha256 = "1qv3v6x2ld518kg1f9ic3bz5y61jpqqzrlwlisd8jwx7cc8jvzic";
+          rev = "bee9cee09d6909cf35f80582aee5a1de6c90db39";
+          sha256 = "0jzl2qjyl7kbb16barh365kl5qziamgv87nx934s608498dyl4j6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/hledger-mode";
@@ -34727,12 +35000,12 @@
     http = callPackage ({ edit-indirect, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "http";
-        version = "20161127.1449";
+        version = "20170603.1107";
         src = fetchFromGitHub {
           owner = "emacs-pe";
           repo = "http.el";
-          rev = "18057d0967015979ee7e59598b1d3410d5966fcb";
-          sha256 = "1bw9369c3r172p14rb74vqs0243696rqf46z627p1w73afq48zy5";
+          rev = "19317fcc928bb75e0464e39032af1627b7961a0c";
+          sha256 = "14zq54g4ckcrrbpwjcb84krg9bijw88nwnkj8kg9kij5p25knqwh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7c63aaf27240706d84e464881d40cfb7cbe9ee3/recipes/http";
@@ -35144,7 +35417,7 @@
       }) {};
     icicles = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "icicles";
-        version = "20170409.1830";
+        version = "20170609.903";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/icicles.el?revision=1087";
           sha256 = "00zsdahszs919zvklxgpm5kqhm2139cdr4acchgp9ppnyljs94jp";
@@ -35351,12 +35624,12 @@
     ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-completing-read-plus";
-        version = "20170313.1603";
+        version = "20170601.559";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-ubiquitous";
-          rev = "2bd3a2722d8df0db9dfe25f5763f7dfaf0734624";
-          sha256 = "1zz0k5ddcwkg0wjdzihklgnxq5f6rlsxldhn7h9jzyss5bsgykhj";
+          rev = "595ca2ecb33a300640dc6a7b420a6f51c51a9d40";
+          sha256 = "0wqag8kk4wg036sw2j5jiymadij066nz9blxm805lgzsndqg5gfm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-completing-read+";
@@ -35666,12 +35939,12 @@
     ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-ubiquitous";
-        version = "20170313.1603";
+        version = "20170530.1839";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-ubiquitous";
-          rev = "2bd3a2722d8df0db9dfe25f5763f7dfaf0734624";
-          sha256 = "1zz0k5ddcwkg0wjdzihklgnxq5f6rlsxldhn7h9jzyss5bsgykhj";
+          rev = "595ca2ecb33a300640dc6a7b420a6f51c51a9d40";
+          sha256 = "0wqag8kk4wg036sw2j5jiymadij066nz9blxm805lgzsndqg5gfm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous";
@@ -35750,12 +36023,12 @@
     idris-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, prop-menu }:
     melpaBuild {
         pname = "idris-mode";
-        version = "20161102.707";
+        version = "20170611.2243";
         src = fetchFromGitHub {
           owner = "idris-hackers";
           repo = "idris-mode";
-          rev = "b5e057bf6b805f4da7c17cb6ca5e69833935e900";
-          sha256 = "1bwrf529m9xjb9bdypx35ss5v6k5v96hcqah3sij98x9357g7b6n";
+          rev = "8a2711efb7e2e4cc2a9a48cee422dba848c6155c";
+          sha256 = "0akp4mbsm4jmf5c652sbbb7gqf5w31ijfqdcckm28zxk2jwc1gz3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17a86efca3bdebef7c92ba6ece2de214d283c627/recipes/idris-mode";
@@ -35834,12 +36107,12 @@
     iflipb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iflipb";
-        version = "20170205.200";
+        version = "20170527.839";
         src = fetchFromGitHub {
           owner = "jrosdahl";
           repo = "iflipb";
-          rev = "8eb478535aa4847b94ea4ce29d9476a6b652be2b";
-          sha256 = "0plvjg1nkq37mpdbli2fyqhvabzi18mq5kjrgxk9d6s6ki2m26kq";
+          rev = "e19229473be70e55c56a26ccc26c4e11e8be6389";
+          sha256 = "1ybnxl6zgzhxrwsqf54hz235xhz3rmxy7w459salb7rr2s1fqvlz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fad6fc8bc3c0be0d5789a0d7626ebc3f298b4318/recipes/iflipb";
@@ -36247,12 +36520,12 @@
     importmagic = callPackage ({ emacs, epc, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "importmagic";
-        version = "20170504.1725";
+        version = "20170601.1828";
         src = fetchFromGitHub {
           owner = "anachronic";
           repo = "importmagic.el";
-          rev = "135e049d763ceb4cabd0bab068c4c71452459065";
-          sha256 = "1fzd3m0zwgyh3qmkhzcvgsgbnjv8nzy30brsbsa081djj5d2dagq";
+          rev = "41f90782b7d5c58f53ad0187b816faeea408e4cf";
+          sha256 = "1w73734n8qwhvina1y9m60b5jj5yy1csizbldyph4vcgi3x0ff6l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/importmagic";
@@ -36289,12 +36562,12 @@
     indent-tools = callPackage ({ fetchFromGitLab, fetchurl, hydra, lib, melpaBuild, s, yafolding }:
     melpaBuild {
         pname = "indent-tools";
-        version = "20170322.1001";
+        version = "20170608.647";
         src = fetchFromGitLab {
           owner = "emacs-stuff";
           repo = "indent-tools";
-          rev = "d50c762d9f6f66cd1b4b72f1b5d024284b378aa9";
-          sha256 = "1jk8k13mx5z3v38q9d8m5lz52p14imj89zvy7484mbjqmvxh6wga";
+          rev = "8d2072eef1fdc87e35f7495adfbfa0beb9faf6b7";
+          sha256 = "1hrsmv25q9rpmj8paf3gggw7sp28z1m4gwlx50s64k5mxqa99iy8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/indent-tools";
@@ -36331,12 +36604,12 @@
     indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
     melpaBuild {
         pname = "indium";
-        version = "20170504.117";
+        version = "20170609.923";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "Indium";
-          rev = "cf07e83d0f7357355d814ecdbe32aec3a5cc1eaf";
-          sha256 = "1y7cb1pll81nnrq7d27pfm7kzmnxlbms184j8flnipag91h9dgqc";
+          rev = "e9b0104bb36b1ce349bf048979746e0ad738d43d";
+          sha256 = "14a0gpp71045j4hs5s2kmisv3466imzyag7f43r1gsg4b0gp4c8m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
@@ -36373,12 +36646,12 @@
     inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-clojure";
-        version = "20170509.1254";
+        version = "20170520.914";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "inf-clojure";
-          rev = "4e96e936a760c48d55f60b395a5ef65a69dd13cc";
-          sha256 = "11q3j7pq178pv7l71l0vszwcbsn7rcl4x0qgx62vyj7k3mldvr26";
+          rev = "9ba23b0e8369a5dfa17e544288b366008516e6f9";
+          sha256 = "079hsk05isagcnj0fbdaxkaj8zfhrvm60zbz35id4101s4053frh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure";
@@ -36436,12 +36709,12 @@
     inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-ruby";
-        version = "20170212.1444";
+        version = "20170530.1824";
         src = fetchFromGitHub {
           owner = "nonsequitur";
           repo = "inf-ruby";
-          rev = "af4f238ef4555521d13c5eb2fb8e818acf59d70a";
-          sha256 = "1668dr6y0nph739x947kjz435qikg77m8ja7h6laf3f9wzcxcg9s";
+          rev = "62c1c72d8e2a8e1ca8430010c19be930f54e6daa";
+          sha256 = "1w9jgrvly07056f72xf4ink0i8q1xv3rnpv5kbifsjfxzz05crbb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby";
@@ -36686,12 +36959,12 @@
     inkpot-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inkpot-theme";
-        version = "20170413.120";
+        version = "20170602.1000";
         src = fetchFromGitHub {
           owner = "ideasman42";
           repo = "emacs-inkpot-theme";
-          rev = "372ad654293cd0b8cf7db6129674c5a84d54ca53";
-          sha256 = "0642rcjj1z5c86ry97b6kmf7kivhajvz5f9fz9kqfw0f98srzhrs";
+          rev = "d9e97a2b95a7740c8eb72fa795fface8b1500fd0";
+          sha256 = "1c8zl512c5mw126p43l6prdimfn2mi58msb0sw4csf9r1krkv8if";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dd3e02aaf8865d8038b9c590c8545e7a1b21d620/recipes/inkpot-theme";
@@ -36728,12 +37001,12 @@
     inline-docs = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inline-docs";
-        version = "20170428.632";
+        version = "20170522.2150";
         src = fetchFromGitHub {
           owner = "stardiviner";
           repo = "inline-docs.el";
-          rev = "6bf47ce245de9603cbb0405084f733e5927d9fb0";
-          sha256 = "10vlm92h97cx18my72jm72911c7j5ipl6ngrv3m6paz3bwklxdz1";
+          rev = "b57f1681be6147f999cdc12abff414a0442e8897";
+          sha256 = "0ji8qgscs4fxp2i29l3v8z9y6i2glga6bysbcsn855pqsn00xkcv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/inline-docs";
@@ -36895,12 +37168,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20170506.1859";
+        version = "20170611.437";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "2db59100d2eff6bd9e34a0067c36fbab0d0ec72c";
-          sha256 = "0q0h7fikp4v8m55ci3xfmqhzh5z1rpygc4idcpnvlzgc61a7kzgi";
+          rev = "70c9c524b3de8dce739df7fe0fdb5128fc8adf11";
+          sha256 = "1jb28d9mcnn2098lmlq4jfk64jjdfn24pmwl8gax80v4p81b54vm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -37166,12 +37439,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "20170503.1447";
+        version = "20170523.618";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "823854936e8d228ab7350d0f1cf4801ed000f142";
-          sha256 = "125qwy3zpxhckqmlbxd5s2ni7910xpkv8qgdrmcafk7ld2ipjvz9";
+          rev = "db29f5851cb75f30e0bd1840f60a9d7d0e0b6dc1";
+          sha256 = "0rynn8sknyp8f9m4qf1i6c017gl1il7rsgaifm0l77zh1bplha96";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -37228,10 +37501,10 @@
       }) {};
     isearch-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "isearch-plus";
-        version = "20170321.1306";
+        version = "20170529.1907";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/isearch+.el";
-          sha256 = "0zdc45nmswipfi8vrsbfipzd1vg9y0pcggvi5mfpwf7c3qn4sgh2";
+          sha256 = "1lg8gciy9i44y80v9g2h5q8mg6dhi6abx2ssg6jws3nci0y5c0bl";
           name = "isearch+.el";
         };
         recipeFile = fetchurl {
@@ -37372,12 +37645,12 @@
     itasca = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "itasca";
-        version = "20160406.542";
+        version = "20170601.922";
         src = fetchFromGitHub {
           owner = "jkfurtney";
           repo = "itasca-emacs";
-          rev = "bf0b6a66b57c8a0e7d692d306a50b587a2da8284";
-          sha256 = "1174f75p3rkq812gl2rs1x51nqbz4fqxwsbrd7djh1vkd2zii3aw";
+          rev = "3d15dd1b70d6db69b0f4758a3e28b8b506cc84ca";
+          sha256 = "0mfcl7ka7r5mx52xvf13i3799ddkdi9sq2q4p2rkgb96r37ia221";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/itasca";
@@ -37456,12 +37729,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20170501.1903";
+        version = "20170609.943";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "f565f76dfb3a31becc32c807916c011cde6c4e64";
-          sha256 = "1dl39b4c7jij0gxdri2li6nkm7x73ljhbk0n1zwi6lw4xd7dix6p";
+          rev = "752ba81f0db3be0568072b3d9a5db458bb647a3c";
+          sha256 = "0wzhil3c6g9g7k4dq3l6rsyy9vy3rdnq3igqgw9xzgq6i06a1878";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -37498,12 +37771,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "20170424.2319";
+        version = "20170605.2046";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "906c31b679a4a676fe593a9620fbfc3707afb616";
-          sha256 = "1sxz8cyr9i4nk5vrvf6qag8i7yrgqnxyhkilrqrmdyf6vw1vxgag";
+          rev = "117369f882f81fb9cc88459a4072a2789138c136";
+          sha256 = "0cy02idvhw459a3rlw2aj8hfmxmy7hx9x5d6g3x9nkv1lxkckn9f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -37561,12 +37834,12 @@
     ivy-hydra = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-hydra";
-        version = "20170412.30";
+        version = "20170609.938";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "f565f76dfb3a31becc32c807916c011cde6c4e64";
-          sha256 = "1dl39b4c7jij0gxdri2li6nkm7x73ljhbk0n1zwi6lw4xd7dix6p";
+          rev = "752ba81f0db3be0568072b3d9a5db458bb647a3c";
+          sha256 = "0wzhil3c6g9g7k4dq3l6rsyy9vy3rdnq3igqgw9xzgq6i06a1878";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -37624,12 +37897,12 @@
     ivy-rich = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-rich";
-        version = "20170227.1745";
+        version = "20170517.554";
         src = fetchFromGitHub {
           owner = "yevgnen";
           repo = "ivy-rich";
-          rev = "ba15a2fb46a63f0aaf5e5b4dae026c2e1228ec1a";
-          sha256 = "1hkydyrcqv3qn605kjm8lhv2hpjmrjp7qvfxwyjbr878nhbm6jn0";
+          rev = "9c36765a941b88c3aa0f4739ad2cb7207c453575";
+          sha256 = "09m2m6nrgcpzyam50y3snir3dya1mif8c0miv77hkqa2w2ijxiq9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich";
@@ -37645,12 +37918,12 @@
     ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "ivy-rtags";
-        version = "20170509.2100";
+        version = "20170522.2154";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "2abdfb2adf24b881cdd04e904ecb341bb51e8cb6";
-          sha256 = "11f9sd8w7qqhfd6mxbihlc6mdki4lqyk4dwbi3v91k9hbxb9hlq2";
+          rev = "d6af2ad09c99f9c58900665e874dcf97a545c0fa";
+          sha256 = "12p22b9q4rkl7jswg12gqc8751sinzgj8h75jjzrggd0vfsg439a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -38214,8 +38487,8 @@
         src = fetchFromGitHub {
           owner = "jdee-emacs";
           repo = "jdee";
-          rev = "5b0bcf6db09d6f6d4ec68c1f3d748d91f189b5ea";
-          sha256 = "1vq4x1kvwbynb7kb6mq03939dqg3jjj6jkhkl8jjc6lk3rz7fj29";
+          rev = "e572d4889604c0b4e1d9180b8a68f9c0f99b99d2";
+          sha256 = "1vhwza7xak2im2xp7qzs8b6bmnf9yw2di86rav8wh5xapqr8x7mn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6d2c98f3bf2075e33d95c7befe205df802e798d/recipes/jdee";
@@ -38312,6 +38585,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    jemdoc-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "jemdoc-mode";
+        version = "20170611.1536";
+        src = fetchFromGitHub {
+          owner = "drdv";
+          repo = "jemdoc-mode";
+          rev = "0b09b0368acf3b90c9b58274ff8c2a1e77d1d5e1";
+          sha256 = "094smy6n30lwgldg958z387dc0nzjvghlai5xpxc5q2i1gjjqh78";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/49a8c0f885df0b91d758b4d7c92bd67368da8a56/recipes/jemdoc-mode";
+          sha256 = "1bl8a9fcilrqjzh92q7nvd16pxjiwmbnj157q2bx36y7bxm60acv";
+          name = "jemdoc-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/jemdoc-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     jenkins = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "jenkins";
@@ -38569,8 +38863,8 @@
         src = fetchFromGitHub {
           owner = "Qquanwei";
           repo = "auto-beautify.el";
-          rev = "dd2e5940a07c5bb8e793f25e644def62c3426eed";
-          sha256 = "0wqw9gj59n4bxb3zpr3ddaqzwl2rb8zk7zv5dkfrzzvy2rz10zxd";
+          rev = "180d15af7b5dfaab4ee1954cca2fdc797932f9de";
+          sha256 = "0xwkjq41v32dqc5gq8hcmcvdjg2y38xq6hkw5pja0kyvyk92c82d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/js-auto-beautify";
@@ -38712,12 +39006,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20170503.1846";
+        version = "20170516.1643";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "ca7df5bf9d0a76b77edfb6d6fe11e83965aa2cb3";
-          sha256 = "14s4i150ri7x6360dr6n4gmyzfvwjrb4xck20wmfgyszys2h8ypd";
+          rev = "8a5f492c7ed427a3bdb1125e26a836e582bd2492";
+          sha256 = "1kaaa3gs1wm6834b1wd3nzl58vkbk7pcs53s2d93k12l5wzps8lp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -38733,12 +39027,12 @@
     js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
     melpaBuild {
         pname = "js2-refactor";
-        version = "20170315.1315";
+        version = "20170525.544";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "js2-refactor.el";
-          rev = "1f0ffe0a3948d7a610f20544c31de91fb08a8bb5";
-          sha256 = "0rf2lagzw8qnglnmgq73np829j2i7n8hzz3y8d8ragkaz8gipsi1";
+          rev = "6ee315825b6f0424f15a8520733dc145c85ccd83";
+          sha256 = "14ykvbj5f9w5pk8l73k8niwr62slfx956px35zn51563sjs55gnd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
@@ -38835,6 +39129,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    json-navigator = callPackage ({ emacs, fetchFromGitHub, fetchurl, hierarchy, lib, melpaBuild }:
+    melpaBuild {
+        pname = "json-navigator";
+        version = "20170606.34";
+        src = fetchFromGitHub {
+          owner = "DamienCassou";
+          repo = "json-navigator";
+          rev = "bc5634fc78d2e43ebd3c255350829877f3e4549c";
+          sha256 = "1j2lic9sn00j6pzq5qslv9m2z0rvsxkvz73z8swp7vcrsgz7qvqd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/62d4d68bd473652b80988a68250e9190b886ad6e/recipes/json-navigator";
+          sha256 = "0yfl31cg0mkgsbpgx00m9h2cxnhsavcf7zlspb0qr4g2zq6ya1wx";
+          name = "json-navigator";
+        };
+        packageRequires = [ emacs hierarchy ];
+        meta = {
+          homepage = "https://melpa.org/#/json-navigator";
+          license = lib.licenses.free;
+        };
+      }) {};
     json-reformat = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "json-reformat";
@@ -38983,12 +39298,12 @@
     julia-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "julia-mode";
-        version = "20170426.1806";
+        version = "20170607.537";
         src = fetchFromGitHub {
           owner = "JuliaLang";
           repo = "julia-emacs";
-          rev = "46d2469c408888cfeeec27904116cfc22ceb1461";
-          sha256 = "13w3wpq5qi5fvzs56ckfr118qx7kfllhjsxxfj2l4ijg8x5d56vq";
+          rev = "f591c6d42e493d51f1522fd0449d6a62881adfad";
+          sha256 = "1wjbvwfdish673y5qjr3r8w935dv1cz8j0sv8dmd2i6w5wf5d1qb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8522d197cb1b2c139959e7189765001c5ee7e61a/recipes/julia-mode";
@@ -39275,12 +39590,12 @@
     kaolin-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-theme";
-        version = "20170510.545";
+        version = "20170611.1344";
         src = fetchFromGitHub {
           owner = "0rdy";
           repo = "kaolin-theme";
-          rev = "13395f561028cefaf17f5026b2a0067f0c985a76";
-          sha256 = "1hjpdsax55rvna1wh52pn8nc23s4z449d7g1v97cwfrhzz941v9x";
+          rev = "e0c14489867eaafa3ab39bb271e3e466cebb632e";
+          sha256 = "0zk2crzqzrbn1051fdkpxzyr6d2rknh7nznnbqyw3k75agiq3lm9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2abf9d914cdc210bbd47ea92d0dac76683e21f0/recipes/kaolin-theme";
@@ -39674,12 +39989,12 @@
     kill-or-bury-alive = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kill-or-bury-alive";
-        version = "20170501.1356";
+        version = "20170518.2358";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "kill-or-bury-alive";
-          rev = "3292602a137a2708463dbe4a7d6f4b4f54f8714f";
-          sha256 = "0jxbnk6r2qrdbvwvvf30ib1irbwfazrpn04qidrljipvvbw4kq4m";
+          rev = "51daf55565034b8cb6aa3ca2aa0a827e31751041";
+          sha256 = "1qbdxjni1brhsw6m4cvd2jjaf3y8v3fkbxxf0pvsb089mkpi7mpq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25016ed09b6333bd79b989a8f6b7b03cd92e08b3/recipes/kill-or-bury-alive";
@@ -39783,8 +40098,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "fa1e0b28340ef6d9e0a7cf4629986afb25d58c0c";
-          sha256 = "0rfh15j1s4hda37gvblyflbb4fs5aqnwfwbd18dp8n552v85483y";
+          rev = "27e3b90eae2a0155b22a435f1b6f65c913519db6";
+          sha256 = "0c6qxnhmhwsb7gqib40fgg2p7krvmxdx75xka8gh3j47zww0pylp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -39863,12 +40178,12 @@
     kodi-remote = callPackage ({ elnode, fetchFromGitHub, fetchurl, json ? null, let-alist, lib, melpaBuild, request }:
     melpaBuild {
         pname = "kodi-remote";
-        version = "20170410.958";
+        version = "20170512.950";
         src = fetchFromGitHub {
           owner = "spiderbit";
           repo = "kodi-remote.el";
-          rev = "76603f29cbaf316d72c858afeb3d7ce17e195dba";
-          sha256 = "1j9y678ddpbi6jcnn9yb3bw97kwqgx1k9d172fa324m2iqylrfiq";
+          rev = "fe750b9f71e9970e2f1331aabc31d7b6dc8a41d2";
+          sha256 = "1w05yp3qwrpdb43h4iz4mkn92bsqbx137a83qyz6vgl95rpj7b9j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/08f06dd824e67250afafdecc25128ba794ca971f/recipes/kodi-remote";
@@ -39968,12 +40283,12 @@
     kotlin-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kotlin-mode";
-        version = "20170403.826";
+        version = "20170522.1524";
         src = fetchFromGitHub {
           owner = "Emacs-Kotlin-Mode-Maintainers";
           repo = "kotlin-mode";
-          rev = "e5c6d845e689ed0623b864ff863cc99ca558b442";
-          sha256 = "0add2vi13caxgcxgl2yxdjccjmszs0918jm70084ry3iih8ljl37";
+          rev = "1ed0c5589ef2d53242f767f6071dbea90c64e813";
+          sha256 = "0nywyf0znaffkchca5hal1w6h7fis9pybiivz7vzrr85ppl0gzas";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f2560e913b215821221c96069a1385fe4e19c3e/recipes/kotlin-mode";
@@ -40052,12 +40367,12 @@
     kubernetes = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "kubernetes";
-        version = "20170508.337";
+        version = "20170523.1517";
         src = fetchFromGitHub {
           owner = "chrisbarrett";
           repo = "kubernetes-el";
-          rev = "52223c7c09f709fb4897283fbc3bf7561e86f5d2";
-          sha256 = "1h5sryzb945pk46zlalsssc63nwjvnx9qhdz5ssfm1jr96ci3m2y";
+          rev = "560b65baef1c4f2bedffd8e767774b55dfc35594";
+          sha256 = "0n9msgawac0jbid671nfr8c5z1zw89wnfw021igxaqwqrl3438rw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/16850227ea48f6f38102b9cdf80e0758766a24d2/recipes/kubernetes";
@@ -40073,12 +40388,12 @@
     kubernetes-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, kubernetes, lib, melpaBuild }:
     melpaBuild {
         pname = "kubernetes-evil";
-        version = "20170505.251";
+        version = "20170523.1517";
         src = fetchFromGitHub {
           owner = "chrisbarrett";
           repo = "kubernetes-el";
-          rev = "52223c7c09f709fb4897283fbc3bf7561e86f5d2";
-          sha256 = "1h5sryzb945pk46zlalsssc63nwjvnx9qhdz5ssfm1jr96ci3m2y";
+          rev = "560b65baef1c4f2bedffd8e767774b55dfc35594";
+          sha256 = "0n9msgawac0jbid671nfr8c5z1zw89wnfw021igxaqwqrl3438rw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/16850227ea48f6f38102b9cdf80e0758766a24d2/recipes/kubernetes-evil";
@@ -40239,12 +40554,12 @@
     langtool = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "langtool";
-        version = "20160116.1654";
+        version = "20170606.432";
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-langtool";
-          rev = "d014434d5698d927dfdbd0882d974edc3fc6ac66";
-          sha256 = "1rj0j4vxfwss0w6bwh591w5mbyzjg5rkbwyjaphyi6p7wq5w6np1";
+          rev = "d976e4f0cadb2309b798540429558936f8f45889";
+          sha256 = "1qlgd5i8jngsq754jm44gb46p5y6j2cccacg72aklvwajay0adyh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/503845e79e67c921f1fde31447f3dd4da2b6f993/recipes/langtool";
@@ -40323,12 +40638,12 @@
     latex-math-preview = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "latex-math-preview";
-        version = "20160321.2159";
+        version = "20170522.1455";
         src = fetchFromGitLab {
           owner = "latex-math-preview";
           repo = "latex-math-preview";
-          rev = "2c7a526a4e46f7154befc9009b131dfbab22ac03";
-          sha256 = "0cxmvadkiqhvhmvmx3vvwxasw7wll8abhviss7wgizwqf4i2p3v4";
+          rev = "775887a89447dd19541b121161cc02e9799d0d3a";
+          sha256 = "1mp6bpl8992pi40vs6b86q922h4z8879mrjalldv5dyz57ym5fsq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9e413b7684e9199510b00035825aa861d670e072/recipes/latex-math-preview";
@@ -40553,12 +40868,12 @@
     ledger-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20170423.1748";
+        version = "20170612.123";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "348ba97b960d045bccbd9cb5a63697704c401315";
-          sha256 = "0qcjdvzis6ws8z0laixakik26djjmcv021dbz00pjrwkcwfs5nwi";
+          rev = "1afc0c9a3b1a25fdf510c13bf7764f6c4867a897";
+          sha256 = "1niww7czhqxn2dpnjbdghplva7l7ymrx77ka3djjln70x0gnvv2v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1549048b6f57fbe9d1f7fcda74b78a7294327b7b/recipes/ledger-mode";
@@ -40809,8 +41124,8 @@
         src = fetchFromGitHub {
           owner = "rvirding";
           repo = "lfe";
-          rev = "69a2d1d410220a688ad169366d0d20e138e264f6";
-          sha256 = "0ky6dcvqprmaww5503q2y42vz5qls844xvb7yx2sl3czlm47riy0";
+          rev = "e231e8325765cde4ec3faa73d57bb5064a35620b";
+          sha256 = "1k2s7s3wq7pgncrj1hs8vbd393kp8zmxygbci5jq4gvymmsb6qza";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c44bdb00707c9ef90160e0a44f7148b480635132/recipes/lfe-mode";
@@ -41124,12 +41439,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20170510.925";
+        version = "20170515.855";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "aa5b20f69180a09da16c66bb05a18eeaef3c2668";
-          sha256 = "1rdxrwg5b415ag22zdfmf9af86cpnm9ji2vyw30w799dnsaxv0zh";
+          rev = "5306bb969047cb12b0fd4c6804198afb719acdb3";
+          sha256 = "0lgjxaic8vwxhzm2w0prrydlz0fchk3bwvf0i9j96pi6x227b066";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -41166,12 +41481,12 @@
     lispyville = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, lispy, melpaBuild }:
     melpaBuild {
         pname = "lispyville";
-        version = "20170205.1833";
+        version = "20170515.807";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "lispyville";
-          rev = "3ba91c5908484188971e952d98256139123c4cbe";
-          sha256 = "15zfpa2bd80537vcmlp4i39rpxvn6396wynh7sa9yiwrnq246sj6";
+          rev = "92e22ed9f70e0ae2c68736fc8d91240af36102e1";
+          sha256 = "0gz9z6dsslrx8fgzgy98y3mcpcs00k10hygrw8rbrdf2q8k2xpcg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b5d96d3603dc328467fcce29d3ac1b0a02833d51/recipes/lispyville";
@@ -41459,12 +41774,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20170429.2207";
+        version = "20170528.2030";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "4be2360a693b41da84a3f38dce52fdcd183442e4";
-          sha256 = "0r8cmk6lybnp8ggfhq5wabs0jdgvvxmbl370r3sfx8njz5c2hv3v";
+          rev = "96f22fe5892775b8a9a081898e1a4f00fbb8a674";
+          sha256 = "005g84acwjns587lawgms63b9840xswpqj0ccgdaqj6g9p0ynmqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -41546,8 +41861,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "http://llvm.org/git/llvm";
-          rev = "3ba25d2222701517a0e00ba189a1d47b58fb7359";
-          sha256 = "1y7v50w3i07jzizj5vrbqiafz2355bxw6hai3v7vam15ii3ir6fw";
+          rev = "f6d6d2b0f7ca39f7b64137c4c90241af7099ebe8";
+          sha256 = "1kjyf2gj3kj9blyabri3z808krs1a7wq0ffxsz8378pl8dl8vcwc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05b7a689463c1dd4d3d00b992b9863d10e93112d/recipes/llvm-mode";
@@ -41563,12 +41878,12 @@
     load-relative = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "load-relative";
-        version = "20160716.438";
+        version = "20170526.310";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-load-relative";
-          rev = "8280df5ce6db836559a5c2442b97a2f02b6f7a05";
-          sha256 = "0jzq3vpdq5cw5nh2l2pvj0y3lnvjff2wyy6ip2z9n6xcjjdnzki9";
+          rev = "738896e3da491b35399178ed2c6bc92cc728d119";
+          sha256 = "1rpy5mfncncl6gqgg53d3g25g1700g4b9bivd4c0cfcv5dbxhp73";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f052f201f7c308325c27cc2423e85cf6b9b67b4e/recipes/load-relative";
@@ -41751,12 +42066,12 @@
     logstash-conf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "logstash-conf";
-        version = "20150308.518";
+        version = "20170524.1229";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "logstash-conf.el";
-          rev = "60a06ad1ceb6699cef849e9f2e8255f7816ca5de";
-          sha256 = "05px3zc3is7k2jmh7mal0al5zx5cqvn1bzmhgqq02pp6lwsx5xqa";
+          rev = "4e127f9aec190786613445aa88efa307ff7c6748";
+          sha256 = "119yb1wk1n5ycfzgpffcwy7yx8ar8k1gza0gvbq3r61ha5a9qijs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/logstash-conf";
@@ -41772,12 +42087,12 @@
     logview = callPackage ({ datetime, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "logview";
-        version = "20170414.1223";
+        version = "20170518.428";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "logview";
-          rev = "aa996ca1df79701e59a6ab0b324adc8b11531563";
-          sha256 = "0mjb2806hkvy8xqkwabfwp29q4gnc719zdc0gjq74xblbrx5f90x";
+          rev = "c85f0527664538ac9d59bbac9bea40c207c8b9d5";
+          sha256 = "1gnia7vkhdh116b7hyxnrnkjnqliqsy5zskn43wjhfw6swf0ipxn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1df3c11ed7738f32e6ae457647e62847701c8b19/recipes/logview";
@@ -41961,12 +42276,12 @@
     lsp-java = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-java";
-        version = "20170506.213";
+        version = "20170522.633";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-java";
-          rev = "fc30a0606e48049f14d750e3478d1765921424f7";
-          sha256 = "09vbj8v77samb4r4dl6ib566z4s1angrh2kgymcc5pi23cxhchkm";
+          rev = "5c58fc74872e318b2894f11331bec8f699f34c77";
+          sha256 = "0b6n1hlhzqqnih26f412ag77dz5bc550ma9ijcbs0n3vbd5z45hs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-java";
@@ -41982,12 +42297,12 @@
     lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20170510.726";
+        version = "20170601.1101";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-mode";
-          rev = "228980c3fe73c111ce6035a3d5e210da450cc052";
-          sha256 = "0gwxvglfgp5fblwg14wwrj74wblsapv8plqvsdfca7myzkvrp7yk";
+          rev = "6fe3246e00995ca7ebe3b3c36ea58a69de521193";
+          sha256 = "1ib4ld45wfwq5c48w56k8ca5qggjmxgpn2q0vvi556awk47anhqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode";
@@ -42028,8 +42343,8 @@
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-rust";
-          rev = "ec2a89f901726fee61a5587b09c237615ee8b25a";
-          sha256 = "16ihil3gsvlwbg9hjjl9sp6y7d7zm4k9zhrb61z5biwfxh49a6in";
+          rev = "bd9b1f5d9195067decc496e61ad383d615b7f054";
+          sha256 = "1nai41wv3wfxx2lslkpm0qas73j6hachiqwbvhvvcfz34h9nnc5l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-rust";
@@ -42316,12 +42631,12 @@
     magic-latex-buffer = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magic-latex-buffer";
-        version = "20161231.2300";
+        version = "20170530.1705";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "magic-latex-buffer";
-          rev = "49a9ac6aff0a45aa6630dc0044533b7b3d3be7ad";
-          sha256 = "1r9zq16n546xd9i27kiifdl7mwld8jk88rll2h0lbd77ir6wdlfm";
+          rev = "c03277d5619d9adcd871f3e6480a1a27985810cb";
+          sha256 = "065xfj6asw7px4xmh5isbfs0y6m6818lrds1ca45rhkyfw98d2sb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/07e240ebe71d389d314c4a27bbcfe1f88b215c3b/recipes/magic-latex-buffer";
@@ -42337,12 +42652,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20170508.936";
+        version = "20170609.2322";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "d783e7b2427ed0c2d25895bcecc7190b9e953b97";
-          sha256 = "04hbgbrfdv9jn86p0g9rw6yzfbgfbqxhiq7y9ncc4dm4vfmrli66";
+          rev = "622c994183294b02893ff286210bffd5255296df";
+          sha256 = "1cyzf8xh6ibq9vypcdg4akqsfr1i202y14mdlr7hh2bkxymcq32i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -42533,12 +42848,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20170508.936";
+        version = "20170609.2310";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "d783e7b2427ed0c2d25895bcecc7190b9e953b97";
-          sha256 = "04hbgbrfdv9jn86p0g9rw6yzfbgfbqxhiq7y9ncc4dm4vfmrli66";
+          rev = "622c994183294b02893ff286210bffd5255296df";
+          sha256 = "1cyzf8xh6ibq9vypcdg4akqsfr1i202y14mdlr7hh2bkxymcq32i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -42635,22 +42950,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit, melpaBuild, s, with-editor }:
+    magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, lib, magit, melpaBuild, s }:
     melpaBuild {
         pname = "magithub";
-        version = "20170214.1710";
+        version = "20170516.612";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "0b5207f3097dee40feefea916cdf211734c9fe32";
-          sha256 = "143iwmga1ypa6v9086pcfr3n5jvaf1dl9czlld5y7npm4r0pxnbr";
+          rev = "7fd7343c3c87df56c7c7dd6c41a80b14291b1ac4";
+          sha256 = "0a0q94lvk0rzj4r7hchypp197rj561d2a28jfzrfvvhq6x9vb4im";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub";
           sha256 = "11par5rncsa866gazdw98d4902rvyjnnwbiwpndlyh06ak0lryab";
           name = "magithub";
         };
-        packageRequires = [ emacs git-commit magit s with-editor ];
+        packageRequires = [ emacs ghub-plus magit s ];
         meta = {
           homepage = "https://melpa.org/#/magithub";
           license = lib.licenses.free;
@@ -42848,12 +43163,12 @@
     malinka = callPackage ({ cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, rtags, s }:
     melpaBuild {
         pname = "malinka";
-        version = "20170421.906";
+        version = "20170523.1007";
         src = fetchFromGitHub {
           owner = "LefterisJP";
           repo = "malinka";
-          rev = "5207995089020ff0e8ea2f1fe4628c61de7eb7d5";
-          sha256 = "1ikhy7yyl65j7aw1yyhfi8bz2p4p8s8f2cmzsa6ld0gmvjw6cl5s";
+          rev = "9a546487f9de5dd7277de34756499560579c2568";
+          sha256 = "06ikk9yapq5j401fql29vl3w06xwci2437narf0pjhnnzvnidiw0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/malinka";
@@ -42995,12 +43310,12 @@
     mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku";
-        version = "20170508.27";
+        version = "20170514.1827";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku";
-          rev = "0e733fdaea77150539455656c2e6af08d19611b0";
-          sha256 = "0sfyxdb3pnsdygk832w7mpxps1gwqaa0fqk2qrzqgl61yjlfvnd6";
+          rev = "1bdcbcb42248d67029b0288c8572372fc1cafb29";
+          sha256 = "1g4vgybkqn8bf95dl0gxd68lv4gw69bxms75s6k85i665fa2njal";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku";
@@ -43013,6 +43328,35 @@
           license = lib.licenses.free;
         };
       }) {};
+    mandoku-tls = callPackage ({ emacs, fetchFromGitHub, fetchurl, github-clone, helm, helm-charinfo, hydra, lib, mandoku, melpaBuild, org }:
+    melpaBuild {
+        pname = "mandoku-tls";
+        version = "20170611.6";
+        src = fetchFromGitHub {
+          owner = "mandoku";
+          repo = "mandoku-tls";
+          rev = "e21205ca9c1c053801190f291d6583ce057e8a65";
+          sha256 = "0yd33hflm1da61mc54y7yaaxb6y8gzv00n4ghcqn6rp4vlmi6534";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6667774bba495c45703ef75261f1f14d89684e3a/recipes/mandoku-tls";
+          sha256 = "0zny1l548rvjsbbzj47wysz6gk1sqxvpj215r3w84vw5dyrn78bz";
+          name = "mandoku-tls";
+        };
+        packageRequires = [
+          emacs
+          github-clone
+          helm
+          helm-charinfo
+          hydra
+          mandoku
+          org
+        ];
+        meta = {
+          homepage = "https://melpa.org/#/mandoku-tls";
+          license = lib.licenses.free;
+        };
+      }) {};
     map-progress = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "map-progress";
@@ -43121,12 +43465,12 @@
     markdown-edit-indirect = callPackage ({ edit-indirect, emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "markdown-edit-indirect";
-        version = "20170210.1504";
+        version = "20170607.1244";
         src = fetchFromGitHub {
           owner = "emacs-pe";
           repo = "markdown-edit-indirect.el";
-          rev = "980d8bf3a123a72aef18f608e99be3472be100c3";
-          sha256 = "1idsh6gsm7kaz7i8kv3s326qxnd2j3nmwn8ykbnfwracm6him3qf";
+          rev = "a789320354eab2b2275a308c38b1390e6d2cc41b";
+          sha256 = "067rp6h2wax242zmykz5iv2v30cj327dh9vz6c69im02lsn65ib3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa4da9d5c63da3bd777101098168696f5c4d3fbc/recipes/markdown-edit-indirect";
@@ -43142,12 +43486,12 @@
     markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "markdown-mode";
-        version = "20170510.1137";
+        version = "20170611.1532";
         src = fetchFromGitHub {
           owner = "jrblevin";
           repo = "markdown-mode";
-          rev = "c9cb29b2e0caa516bf0fc33e0ec6682d4c837445";
-          sha256 = "0bnpsbldpc7c0g5xlj9jrz5lziab54vwqyg3pkfsjilsxg24wwds";
+          rev = "0fa1d523fe95a15a8cebaaba7d4af3002ddbeef5";
+          sha256 = "0y6j5gdlxw9kp961sgdpnkprxdmnndcjd6s3v9jbz8py2k3pqpxx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
@@ -43380,12 +43724,12 @@
     mastodon = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mastodon";
-        version = "20170505.1201";
+        version = "20170518.1031";
         src = fetchFromGitHub {
           owner = "jdenen";
           repo = "mastodon.el";
-          rev = "4d0bd43c0ede0159c0f0130a5565ea5a6511997a";
-          sha256 = "0l0n9l7j4inwyd4z8yvf9bi3cmq6ba5dm90lwzqx8hykwdh8ghi7";
+          rev = "a9e595142eee69fe84f0ab06f7fde76cef27cdac";
+          sha256 = "1wgx8i6ww9w99f0f62p7v626bb6pvdg04hnhqyjgsmb99wzwlpk7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/809d963b69b154325faaf61e54ca87b94c1c9a90/recipes/mastodon";
@@ -43713,12 +44057,12 @@
     meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "meghanada";
-        version = "20170426.1921";
+        version = "20170610.1806";
         src = fetchFromGitHub {
           owner = "mopemope";
           repo = "meghanada-emacs";
-          rev = "54be7c38ceeb7de4bd926a577f9920e174534b37";
-          sha256 = "0apqxpkngyygfdj1wnqs5fl87bfbb4m5vis9cv8q3fcq92yhjqa1";
+          rev = "f8ebc163a289532ce99134716008440a515e65ea";
+          sha256 = "00z9w8nzf1adh6kic485w332dj6m53qdmb99w4aqz70ygq6i2s89";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@@ -44000,27 +44344,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    metafmt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "metafmt";
-        version = "20160221.855";
-        src = fetchFromGitHub {
-          owner = "lvillani";
-          repo = "metafmt";
-          rev = "b624ba1ac46cdbeddb0cfe920dd44dcab3fdb529";
-          sha256 = "1r4v06pyi7y7gp3w0p3xfz8hf807p7i4frgws54naagzihww06y6";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a53f740fb7a58cd6339b301d0de8c543b61f6a5/recipes/metafmt";
-          sha256 = "1ca102al7r3k2g92b4jkqv53crnmxy3z7cz31w1rprf41s69mn75";
-          name = "metafmt";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/metafmt";
-          license = lib.licenses.free;
-        };
-      }) {};
     metalheart-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "metalheart-theme";
@@ -44464,12 +44787,12 @@
     minizinc-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "minizinc-mode";
-        version = "20151214.558";
+        version = "20170605.2342";
         src = fetchFromGitHub {
           owner = "m00nlight";
           repo = "minizinc-mode";
-          rev = "98064f098e6871382614fcf3c99520f7a526af0a";
-          sha256 = "0808cl5ixvmhd8pa6fc8rn7wbxzvqjgz43mz1pambj89vbkzmw1c";
+          rev = "c33a8e23817468c2a64dcfede6dea41485fb43df";
+          sha256 = "1892s4cxzxdrwj2mjav1lqbisx20zsjgnw41m6a61ds7hg035c3w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc86b4ba54fca6f1ebf1ae3557fe564e05c1e382/recipes/minizinc-mode";
@@ -44667,12 +44990,12 @@
     mmt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mmt";
-        version = "20170501.1359";
+        version = "20170519.4";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "mmt";
-          rev = "d62725f173b886e4ef80844ec97192157e8529d2";
-          sha256 = "041a9jnk0k6ai8gv0vvhxpjqwzw199xhq8mgwa4bafp0afpa8xzg";
+          rev = "1d89502ea4b0f6a7da327a95f104f5c11e662493";
+          sha256 = "1pqarm9gpzc5qyiqr2713q1xn1p20kl5shrmm77m150z4qfhxzhx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d1137bb53ecd92b1a8537abcd2635602c5ab3277/recipes/mmt";
@@ -44751,12 +45074,12 @@
     mocha = callPackage ({ f, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "mocha";
-        version = "20170320.1128";
+        version = "20170513.1501";
         src = fetchFromGitHub {
           owner = "scottaj";
           repo = "mocha.el";
-          rev = "55f1e6afd100891ffd7008f5c5efbc5a9ab1c22d";
-          sha256 = "1jqygkn02vawynfnymvnjnglj7gscfinwyk7vbkbh2dp932wsl02";
+          rev = "dbda778badb8f33c9ed816b927710ef6d0123cf5";
+          sha256 = "1jvczadgkq2b8gxjg2pllg3qjr1ymnc9kjjgvyi7v91vb7h51yii";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/39c26134ba95f277a4e9400e506433d96a695aa4/recipes/mocha";
@@ -44814,12 +45137,12 @@
     modalka = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "modalka";
-        version = "20170501.1417";
+        version = "20170519.32";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "modalka";
-          rev = "1a26f1f032f725481dfab6298a1570f408eb9307";
-          sha256 = "12c1lxxhx4darcd2dl3halgr4k27zqwkrh5i8na3spay2qfxl3bx";
+          rev = "f2b2e206105332620b97c1f3bfd6cb03469db98f";
+          sha256 = "09wg7hbigk3084nvjw0ikfs9hgdp1ip0spmrsx70iq18xgv5fm37";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa0a02da851a603b81e183f461da55bf4c71f0e9/recipes/modalka";
@@ -45083,12 +45406,12 @@
     monokai-alt-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monokai-alt-theme";
-        version = "20170325.1430";
+        version = "20170529.1607";
         src = fetchFromGitHub {
           owner = "dawidof";
           repo = "emacs-monokai-theme";
-          rev = "584aaf88b83a40bbbfeb6a7c89c5feecebf5a52b";
-          sha256 = "1709f2gf8gdz5ppb0k3gxcg4z0r7kgcm2hpymji9gnag87nnx1m6";
+          rev = "09370802ddf6010a9a83b6c38cfc055e31433a73";
+          sha256 = "1dn8z2lj8kvgs0vxiiqm0wz73sgqykkbi32d6f7qa6i4ishyw341";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ff05515c2f3bd80cb8d7de9afc8fd983e62ad91/recipes/monokai-alt-theme";
@@ -45125,12 +45448,12 @@
     monroe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monroe";
-        version = "20170507.653";
+        version = "20170522.632";
         src = fetchFromGitHub {
           owner = "sanel";
           repo = "monroe";
-          rev = "9f5e0a226a40f0e9775ab351d33dfe9b841f7a25";
-          sha256 = "145m0lh9jypg26qdnpqj6480gk2g5g1qjzj7gz6fpgdj6940sip5";
+          rev = "1705eca01924210504d4270af7dab57278194875";
+          sha256 = "19yca80zghb9zmyqdq155743plzzjghkfbi9zb5z8x2fvppixvwn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/590e5e784c5a1c12a241d90c9a0794d2737a61ef/recipes/monroe";
@@ -45331,12 +45654,12 @@
     move-dup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "move-dup";
-        version = "20161026.742";
+        version = "20170513.1911";
         src = fetchFromGitHub {
           owner = "wyuenho";
           repo = "move-dup";
-          rev = "612f5b3faa5bc36f7403b6fac7a1a524ae146f37";
-          sha256 = "0xiwlqhhx9aqj4059srp04zw1nksf8crp1z1wcfn4516f8mxs66p";
+          rev = "dae61de7aa5e2bf56a7bab1fa36fa3a39520a3c0";
+          sha256 = "1mrrxx2slxi1qgf483nnxv3y8scfsc844sfnzn4b7hjpfpali0r8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3ea1f7f015a366192492981ff75672fc363c6c18/recipes/move-dup";
@@ -45377,8 +45700,8 @@
         src = fetchFromGitHub {
           owner = "retroj";
           repo = "mowedline";
-          rev = "67ca629b4bc3063ea19a7fccc693432a4eb10021";
-          sha256 = "0i06ms5m7qhv2m1mmgzqh73j9wz3nxygz65p6vsnicxas09w70rd";
+          rev = "832e81b7f90f6c2e753f89737c0b57a260544424";
+          sha256 = "1ll0ywrzpc5ignddgri8xakf93q1rg8zf7h23hfv8jiiwv3240w5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/86f7df6b8df3398ef476c0ed31722b03f16b2fec/recipes/mowedline";
@@ -45583,12 +45906,12 @@
     msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "msvc";
-        version = "20161221.558";
+        version = "20170610.1044";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "msvc";
-          rev = "71c38323187c98b32250b89088768599bb216ddb";
-          sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg";
+          rev = "bb9af3aee0e82d6a78a49a9af61ce47fab32d577";
+          sha256 = "1vxgdc19jiamymrazikdikdrhw5vmzanzr326s3rx7sbc2nb7lrk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc";
@@ -45770,11 +46093,11 @@
     multi-project = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "multi-project";
-        version = "20170322.332";
+        version = "20170604.1514";
         src = fetchhg {
           url = "https://bitbucket.com/ellisvelo/multi-project";
-          rev = "c03cafbbfba9";
-          sha256 = "0v0q4v3pnqmm89hix90pfx4hpfpc9iv1r5ldn3zwzwhbs0jvgj3d";
+          rev = "04eeab45d19b";
+          sha256 = "11mn36m40i93wig79kj1jp2i3ggck1qsfw2z9q24a1zxj2gns12i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/multi-project";
@@ -46791,12 +47114,12 @@
     neon-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "neon-mode";
-        version = "20160811.216";
+        version = "20170529.637";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "neon-mode";
-          rev = "370212fa9ffcba3ff542a154d17ccf5be1066c4c";
-          sha256 = "13a760jidh00czl05c0pnpbxzr7smrkf5ms9kd3h1cq613ffapby";
+          rev = "69edc4b051604143db8e044606bbcc0904a3829c";
+          sha256 = "09753w4psyzh583264nswk9313d9yh5s4aad3jc9qq5mg6ycb6iy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c6b2a4898bf21413c4d9e6714af129bbb0a23e1a/recipes/neon-mode";
@@ -46812,12 +47135,12 @@
     neotree = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "neotree";
-        version = "20170507.1711";
+        version = "20170522.758";
         src = fetchFromGitHub {
           owner = "jaypei";
           repo = "emacs-neotree";
-          rev = "5e1271655170f4cdc6849258e383c548a4e6e3d0";
-          sha256 = "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0";
+          rev = "bc98dfb44c106375efa4f26848f3790ee264da97";
+          sha256 = "1m30ldbprz3f62szyi1alzjy337ryczljxy1z5lf6smb03ymns2s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9caf2e12762d334563496d2c75fae6c74cfe5c1c/recipes/neotree";
@@ -46959,12 +47282,12 @@
     nginx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nginx-mode";
-        version = "20170213.1326";
+        version = "20170611.2137";
         src = fetchFromGitHub {
           owner = "ajc";
           repo = "nginx-mode";
-          rev = "b58708d15a6659577945c0aa3a63983eebff2e67";
-          sha256 = "0y2wwgvm3495h6hms425gzgi3qx2wn33xq6b7clrvj4amfy29qix";
+          rev = "a2bab83c2eb233d57d76b236e7c141c2ccc97005";
+          sha256 = "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6da3640b72496e2b32e6ed21aa39df87af9f7f3/recipes/nginx-mode";
@@ -47109,8 +47432,8 @@
         src = fetchFromGitHub {
           owner = "martine";
           repo = "ninja";
-          rev = "586bb6daef38b3657ba917eb3d7f07ba80c72cd7";
-          sha256 = "0qs73q4d83f6xiz1zdpmln8lzgi78h4indha7r783rx07crvvxw6";
+          rev = "d6eb8baf8130ab93140395dceca363774092135d";
+          sha256 = "02dwb8xv4rz08wigr6im8rdfjjlhrpf620a7faq1ka2gn41hv1qv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode";
@@ -47151,8 +47474,8 @@
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix";
-          rev = "1fd59447d56a88add8874f9a8b0885a1acd13606";
-          sha256 = "042pabfg6ssc1fr0zzflsnrbfnj64a5j90nnzrdvpy2jilgb04jw";
+          rev = "186571965dccf57d15b9f37c1cca92a57187b7b3";
+          sha256 = "1iz48szkby5b3f4935c8pnry84f6mh4f2xklv7zdykrczdqy5b0r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode";
@@ -47207,6 +47530,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    nlinum-hl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, nlinum }:
+    melpaBuild {
+        pname = "nlinum-hl";
+        version = "20170609.440";
+        src = fetchFromGitHub {
+          owner = "hlissner";
+          repo = "emacs-nlinum-hl";
+          rev = "294037f5231375ac63836637651585f8b82b962d";
+          sha256 = "048zm3x62wjp2ym0q8jn4ll0f11nak5i41q6mdcabq3zwg42zbqi";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b13a886535a5c33fe389a6b616988b7377249625/recipes/nlinum-hl";
+          sha256 = "17lcp1ira7yhch9npg9sf3npwg06yh9zyhg0lnb22xg09lbndj0x";
+          name = "nlinum-hl";
+        };
+        packageRequires = [ cl-lib emacs nlinum ];
+        meta = {
+          homepage = "https://melpa.org/#/nlinum-hl";
+          license = lib.licenses.free;
+        };
+      }) {};
     nlinum-relative = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, nlinum }:
     melpaBuild {
         pname = "nlinum-relative";
@@ -47273,12 +47617,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "20170426.404";
+        version = "20170515.1945";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "no-littering";
-          rev = "e041942cb0f4f02d00cf30afb956208496562ba4";
-          sha256 = "00d6fz5kg2k6py5mj2h9rzbqa4gkiv02h9ba55psfgbnmak6ip0v";
+          rev = "4bb6640ddc4c9453318133e777f09ca5c429d057";
+          sha256 = "0m0grzppcnk447ysyh03dw6nz6vhdnihgf7s4rlqcy0b4qb7fmxw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering";
@@ -47378,12 +47722,12 @@
     nodejs-repl = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nodejs-repl";
-        version = "20170110.940";
+        version = "20170607.1303";
         src = fetchFromGitHub {
           owner = "abicky";
           repo = "nodejs-repl.el";
-          rev = "53b7f09a9be6700934321297758e29180e7850d7";
-          sha256 = "1fwz6wpair617p9l2wdx923zpbbklfcdrygsryjx5gpnnm649mmy";
+          rev = "f72a537700b08e14db28e6bcc1d6244bbeaefca4";
+          sha256 = "1wha680gklq974wl2si3q024qhcdkqgicr6x3qrb9fhfkfr1nbjx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14f22f97416111fcb02e299ff2b20c44fb75f049/recipes/nodejs-repl";
@@ -47459,11 +47803,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "20170420.258";
+        version = "20170530.454";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "11d47950c18f2d19718e35b7264dabf2ff2fd621";
-          sha256 = "0arfwk0aycp39451z8a5xv5rhdy40avyczqv7v69sla4kxw04rik";
+          rev = "1ec634461ea25d87cc16dbeb1318f8e30a07c9f1";
+          sha256 = "00sqb0vl0990c5fxg0znwdfgq20q0zbx1pnhpr3dmnydqzmh7wwr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -47519,12 +47863,12 @@
     noxml-fold = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "noxml-fold";
-        version = "20160707.847";
+        version = "20170520.545";
         src = fetchFromGitHub {
           owner = "paddymcall";
           repo = "noXML-fold";
-          rev = "4cf3628004ad872fb44943aab5274a45e22ea430";
-          sha256 = "0i4fyxkwp2yksz8d4x309q8imab8gz59vcw64k9y1kzylcnxci0i";
+          rev = "41cd645531783982e03cb1af2fc2acd59c88f6cb";
+          sha256 = "1bpakbwcs6qilx0j24xg01yarkyvv8wvcf6j5kxqmls3hq23i47s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13d2af88b292293cb5ab50819c63acfe936630c8/recipes/noxml-fold";
@@ -47642,6 +47986,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    nubox = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "nubox";
+        version = "20170611.725";
+        src = fetchFromGitHub {
+          owner = "martijnat";
+          repo = "nubox";
+          rev = "2c6c1cae665dfc9cd000aacd84b9843eac0c74cb";
+          sha256 = "13zjrql7arj0fklvajmr7xr7486i9917b9x54mxzmkwnbas4rg04";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/725948568b8a067762b63475bc400f089f478a36/recipes/nubox";
+          sha256 = "0snzfsd765i363ykdhqkn65lqy97c79d20lalszrwcl2snm96n1f";
+          name = "nubox";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/nubox";
+          license = lib.licenses.free;
+        };
+      }) {};
     number = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "number";
@@ -47729,12 +48094,12 @@
     nvm = callPackage ({ dash, dash-functional, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "nvm";
-        version = "20151113.55";
+        version = "20170513.1501";
         src = fetchFromGitHub {
           owner = "rejeep";
           repo = "nvm.el";
-          rev = "d6c7ad048f1d2854ec3c043d80528857aa1090a8";
-          sha256 = "0prag0ks511ifa5mdpqmizp5n8190dxp4vdr81ld9w9xv7migpd7";
+          rev = "61590e7fdeb19b1d866d26e48aef1af4767e5709";
+          sha256 = "04z8zkgp0km575ijijpvmrqs0aa2f0878c5n4rl91hs1grq93mjf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/nvm";
@@ -47893,6 +48258,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-blockdiag = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ob-blockdiag";
+        version = "20170524.1605";
+        src = fetchFromGitHub {
+          owner = "corpix";
+          repo = "ob-blockdiag.el";
+          rev = "715e7d41124a98d3f1e38e430e3a7f31b52704e4";
+          sha256 = "0mqi9hm00apq43mmabai05x96q4x0l29n9gvdhphzjrhvjabmm6l";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/261b77a3fd07644d1c250b16857de70cc1bbf478/recipes/ob-blockdiag";
+          sha256 = "1lmawbgrlp6qd7p664jcl98y1xd2yqw9np6j52bh9i6s3cz6628g";
+          name = "ob-blockdiag";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ob-blockdiag";
+          license = lib.licenses.free;
+        };
+      }) {};
     ob-browser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ob-browser";
@@ -48439,6 +48825,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-uart = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ob-uart";
+        version = "20170521.158";
+        src = fetchFromGitHub {
+          owner = "andrmuel";
+          repo = "ob-uart";
+          rev = "90daeac90a9e75c20cdcf71234c67b812110c50e";
+          sha256 = "1syxxq411izmyfrhlywasax7n5c3yjy487mvfdjzjg8csmmk0m9v";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5334f1a48b8ea6b7a660db27910769093c76113d/recipes/ob-uart";
+          sha256 = "1dkbyk8da0zw784dgwi8njnz304s54341dyfzvlb0lhcn41dmkz7";
+          name = "ob-uart";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ob-uart";
+          license = lib.licenses.free;
+        };
+      }) {};
     oberon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "oberon";
@@ -48925,16 +49332,16 @@
     omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
     melpaBuild {
         pname = "omnisharp";
-        version = "20170509.104";
+        version = "20170601.1329";
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "59aa5ac1957b4875e13f52885255293608a960f4";
-          sha256 = "1jjhksrp3ljl4pqkclyvdwbj0dzn1alnxdz42f4xmlx4kn93w8bs";
+          rev = "7ca20bb808dd51adbd83e0c18885c4300548d032";
+          sha256 = "0p4adjpa3l6aaz7kd3474aagzfzrnra7mijw4l0himba9ldrh590";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/68bdb7e0100e120b95e9416398127d83530a221d/recipes/omnisharp";
-          sha256 = "0dwya22y92k7x2s223az1g8hmrpfmk1sgwbr9z47raaa8kd52iad";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
+          sha256 = "0gh0wwdpdx2cjf95pcagj52inf7mrmiq7x8p0x5c7lvl4pfzhh87";
           name = "omnisharp";
         };
         packageRequires = [
@@ -49351,12 +49758,12 @@
     org-babel-eval-in-repl = callPackage ({ emacs, ess, eval-in-repl, fetchFromGitHub, fetchurl, lib, matlab-mode, melpaBuild }:
     melpaBuild {
         pname = "org-babel-eval-in-repl";
-        version = "20170510.700";
+        version = "20170511.514";
         src = fetchFromGitHub {
           owner = "diadochos";
           repo = "org-babel-eval-in-repl";
-          rev = "38d02b8e2412381f6498c29511d1981a88b7d7f4";
-          sha256 = "0fwmcignkglx73spk3cv7acap15yrn0c0npr4ikfc9prs6svaah6";
+          rev = "bfa72c582ac1531ad42aba23e2b1267ab68e31f6";
+          sha256 = "1jm56zxa99s163jv02vhfrshmykvld7girq7gmj1x60g3wjzhn5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-babel-eval-in-repl";
@@ -49432,22 +49839,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-brain = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    org-brain = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-brain";
-        version = "20170404.2329";
+        version = "20170521.1409";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "org-brain";
-          rev = "9424b8002238a1ffb67e78e25bc997826f37dc14";
-          sha256 = "0vn2s8p21kfnabva7ikal87hl4asgdj6hm7597hfx45w60vakn9a";
+          rev = "de138a717813a8c269c07c0d284dfd71265bbf20";
+          sha256 = "1nr78r0zsn6s626knay4zybk0222ng5yn6wh8ji7gl0bq47kqq75";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/47480fbae06e4110d50bc89db7df05fa80afc7d3/recipes/org-brain";
           sha256 = "0c05c6lbr740nnjp9p34padrbrc3q1x2pgylkyhsxadm4mfsvj0c";
           name = "org-brain";
         };
-        packageRequires = [ dash emacs org ];
+        packageRequires = [ emacs org ];
         meta = {
           homepage = "https://melpa.org/#/org-brain";
           license = lib.licenses.free;
@@ -49477,12 +49884,12 @@
     org-caldav = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-caldav";
-        version = "20160614.1342";
+        version = "20170610.945";
         src = fetchFromGitHub {
           owner = "dengste";
           repo = "org-caldav";
-          rev = "f8638d459c7294d44ccd7792b4216541c181d891";
-          sha256 = "0vjw8fn6ipi2fg5wkj4jq8cs3m7694xgccy1h1n774w12bby3xhk";
+          rev = "57dce0b4f0f234d9f4a72e5f0b811ee399e6d989";
+          sha256 = "180amsndil1y24675xbdr9l6qad7lxq1pr7nlqgspmw0nccp0al4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-caldav";
@@ -49750,12 +50157,12 @@
     org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-download";
-        version = "20170213.1151";
+        version = "20170605.23";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "org-download";
-          rev = "137c3d2aa083283a3fc853f9ecbbc03039bf397b";
-          sha256 = "0c4vvpccmc60bavywsd0lijzyzchs6cdmp8y36d70lmp4s66863v";
+          rev = "131d2409b3639798ebac6d77c98eae446ea915dc";
+          sha256 = "1l04vs47pl63daz9n0d2xby43kr2ynbykvdr7hjbyizcg9l9fzp7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download";
@@ -49918,12 +50325,12 @@
     org-evil = callPackage ({ dash, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, monitor, org }:
     melpaBuild {
         pname = "org-evil";
-        version = "20161029.222";
+        version = "20170529.741";
         src = fetchFromGitHub {
           owner = "GuiltyDolphin";
           repo = "org-evil";
-          rev = "5349f4f50d8b16ac4d38ef70a2a7562632e193cc";
-          sha256 = "112rr4cwldwnwhg0qdq6khfl41azxp0c4j5l4il06560s6h7dmjq";
+          rev = "aff7bf3885e318287abf7d542916d21372496bdd";
+          sha256 = "1z6rj7nrjdmkc7skx2si7s462228bpka96p0zzmkg7wa82j7ywv9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17a4772d409aa5dbda5fb84d86c237fd2653c70b/recipes/org-evil";
@@ -50085,12 +50492,12 @@
     org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "org-jira";
-        version = "20170416.2152";
+        version = "20170527.2154";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "org-jira";
-          rev = "2ec35547088c090ae1ad71bbc943953f619611e6";
-          sha256 = "1zfam31pjm8sg3j038vvd1jf3qi9jq3452vriqmzczbjfg3b7l7y";
+          rev = "4d8bda9b5207175ecd3ae647ebec42b3546efd49";
+          sha256 = "0877klmy48ad0rpy7azd4xbm9d07wrhr3g96sixx35wgp216kvlm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
@@ -50110,8 +50517,8 @@
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "4876bbc7cd3129f6285f41b9076c178d30720163";
-          sha256 = "18fxficbm430alxn82866qphiaxdzjcb73ckm7czw2yvgxd706qs";
+          rev = "c020fa3f58cdeff51701322334daa6253a144db6";
+          sha256 = "0pcymhjaybaxpghixa2gnshzqy03hafmzjdas8q087dn7b19cr8h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
@@ -50172,8 +50579,8 @@
         version = "20140107.519";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "6fee6b6cde5e82e8632408c865681c3aa709013a";
-          sha256 = "0as51c7p1r3a5n62h4a2iwqps9ib3rzrdmd1i3c25d3id7mkaixq";
+          rev = "5e35bc1807e0bd9014cd6aa9374b6899f164fa86";
+          sha256 = "146ygql276bhb0inbn7bri7jnaxr4d8082ca0k1sal3fcd37a9mn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal";
@@ -50192,8 +50599,8 @@
         version = "20170105.1723";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "6fee6b6cde5e82e8632408c865681c3aa709013a";
-          sha256 = "0as51c7p1r3a5n62h4a2iwqps9ib3rzrdmd1i3c25d3id7mkaixq";
+          rev = "5e35bc1807e0bd9014cd6aa9374b6899f164fa86";
+          sha256 = "146ygql276bhb0inbn7bri7jnaxr4d8082ca0k1sal3fcd37a9mn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/org-mac-link";
@@ -50356,12 +50763,12 @@
     org-page = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, git, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "org-page";
-        version = "20170428.424";
+        version = "20170607.442";
         src = fetchFromGitHub {
           owner = "kelvinh";
           repo = "org-page";
-          rev = "ca37f5bd48c1bb2a90ff0dc6ce708fb408903ed2";
-          sha256 = "1v1a51xy1lnp2flg929fkann405l0rsgv3fpg6y3q39m28wxz2xk";
+          rev = "fa4e86621a63033148f8fe295a11b4721ba17462";
+          sha256 = "123b0cf47c5gnj3yakhjr2q7kc8nmhim9c2ngdls6g944ig07l0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/872f163d4da58760009001472e2240f00d4d2d89/recipes/org-page";
@@ -50386,11 +50793,11 @@
     org-parser = callPackage ({ dash, emacs, fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-parser";
-        version = "20170317.2238";
+        version = "20170528.1324";
         src = fetchhg {
           url = "https://bitbucket.com/zck/org-parser.el";
-          rev = "a1dd102b9cb5";
-          sha256 = "06qwqfv0lz7l1fy5i2r4dbc8alkzshxcv8r3s4iy2866z2lgl7pi";
+          rev = "c4870192ea24";
+          sha256 = "04s39zfa1gwn6zclgdhz3b9fbgyqlbysh6hsn7iqkwfzkpmc2n9c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/28d55005cbce276cda21021a8d9368568cb4bcc6/recipes/org-parser";
@@ -50510,12 +50917,12 @@
     org-projectile = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "org-projectile";
-        version = "20161205.1508";
+        version = "20170520.2310";
         src = fetchFromGitHub {
           owner = "IvanMalison";
           repo = "org-projectile";
-          rev = "e2b78ca7fbd2e3b873d3ab9bb7196be4d7613f92";
-          sha256 = "03zy2bb1ha22xpx29d8610yrqfyaiaa8vgplpx6bmixaw85mcv58";
+          rev = "0ca3b80a46d8c541d36f161506ac8d8dc36d8e80";
+          sha256 = "0r5h6ibq73b84w82382ld5dbihhvff4pj2bind68i5isam7pxlbh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-projectile";
@@ -50600,12 +51007,12 @@
     org-recent-headings = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-recent-headings";
-        version = "20170423.1817";
+        version = "20170604.1353";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "org-recent-headings";
-          rev = "0558fa8b6e114321f76ab6315e0a319c01213b78";
-          sha256 = "197nm66g6iljfpsy218kvqi0kan5dyacdsar5xglsz19cy2n2wkf";
+          rev = "9b373ddafe33283ed9a41bddc65f05d6e9bfcda6";
+          sha256 = "0k92z02dyzax35wx7q5s9zasmkba9vzb2y7jf55jn8d7qjdw4lnn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/668b79c179cbdb77c4049e7c620433255f63d808/recipes/org-recent-headings";
@@ -50639,15 +51046,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, s }:
+    org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, pdf-tools, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "20170509.1755";
+        version = "20170611.1357";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "c730314d51594191e5e761d087d7d5d5c4d7a5a6";
-          sha256 = "0bcagkwzzaawm4lc93dnysjc8ccqnrchywsnixvv6rsc6b7s4q61";
+          rev = "b84634891be4323ccba938dc68b971150ae9a609";
+          sha256 = "1m8g9laf2fij5vm3sqb087323gqncnww35jx8bbn888zjzxnsiy9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -50663,6 +51070,7 @@
           hydra
           ivy
           key-chord
+          pdf-tools
           s
         ];
         meta = {
@@ -51114,12 +51522,12 @@
     org2blog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, metaweblog, org, xml-rpc }:
     melpaBuild {
         pname = "org2blog";
-        version = "20160502.1821";
+        version = "20170611.1836";
         src = fetchFromGitHub {
           owner = "punchagan";
           repo = "org2blog";
-          rev = "fc7b2d934f2199368d9fc2a0a97d46f20c4f667b";
-          sha256 = "1bqiq27ln1pl40b9dms05nla4kf72s80g9ilvrgqflxgl36gxws7";
+          rev = "256c0af68004fde8cf35d4824acb938803b10e7c";
+          sha256 = "17ib0rsfdw3krvvz9gmfsqsn9gagqlvwh0ydfyaqpdiq9q2nllbs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org2blog";
@@ -51300,6 +51708,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    orgnav = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "orgnav";
+        version = "20170608.1013";
+        src = fetchFromGitHub {
+          owner = "facetframer";
+          repo = "orgnav";
+          rev = "9e2cac9c1a67af5f0080e60022e821bf7b70312d";
+          sha256 = "0764dg3dcsdy4i6syv9aqqmr47civn9dl3638g4lsqdikghw7lvv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a41436df126d7ef2c0a8b56d90afb942fe47dc59/recipes/orgnav";
+          sha256 = "0z04n5rzv5c0lvn658nrfj6rg3a31n369h5rjgi5bap06qm427ix";
+          name = "orgnav";
+        };
+        packageRequires = [ dash emacs helm s ];
+        meta = {
+          homepage = "https://melpa.org/#/orgnav";
+          license = lib.licenses.free;
+        };
+      }) {};
     orgtbl-aggregate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "orgtbl-aggregate";
@@ -51811,8 +52240,8 @@
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "scimax";
-          rev = "da84a1cfe3c95757abc7bd3e567866a26f724f76";
-          sha256 = "0bkhx6rnvv70z60lgkf36hcp7pcakh3drd8q277xhzfirg4dixa7";
+          rev = "2080e5fcbce8147ef6931457c678309f7a679c49";
+          sha256 = "0kmga1zm8zyby9yrczybrqm0gj56lk29v2nan4rhzhfnb87v9r28";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/222ccf4480395bda8c582ad5faf8c7902a69370e/recipes/ox-clip";
@@ -51933,12 +52362,12 @@
     ox-jira = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-jira";
-        version = "20170326.47";
+        version = "20170607.1513";
         src = fetchFromGitHub {
           owner = "stig";
           repo = "ox-jira.el";
-          rev = "638a9a44c96f5b21e2e36121465645e586910713";
-          sha256 = "12is86csnix270rnyf9q0l7ds70g128fn9nzgjgjgfylsp5nk9rf";
+          rev = "a5e7c7166f5d4baf4b6487f44865f2636cda4698";
+          sha256 = "14qybj34wvpn91m9hvfmcrsj5d9zzq5pyzjc61gd0zn482bklxz4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e8a77d9c903acd6d7fdcb53f63384144e85589c9/recipes/ox-jira";
@@ -52353,12 +52782,12 @@
     package-lint = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "package-lint";
-        version = "20170417.54";
+        version = "20170608.1006";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "package-lint";
-          rev = "1cee5135bd9a12e1b28e515a28093a751b4f7dd1";
-          sha256 = "1qvvdr5wx37x5jrw4hkx5vl4jmi3l1bjn97nnvwlsmzi6sgkcwsr";
+          rev = "bef9e37fd8a9cb726e9b8a0e28baddc773a65912";
+          sha256 = "10h6zlyhaw8waxd6g1x2xqprq0y9prl3jgndhgnmlq7zcmh7fjrd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint";
@@ -52500,12 +52929,12 @@
     page-break-lines = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "page-break-lines";
-        version = "20161205.2251";
+        version = "20170517.235";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "page-break-lines";
-          rev = "c133848345ceef91e257aab8804c61f31c31b264";
-          sha256 = "1d0b2pb2s04l7nkcn7yhrbcm927bsinyiayxn59in7p3mqlcmsnb";
+          rev = "82f9100312dcc922fb66ff289faf5d4795d8ca7a";
+          sha256 = "1bwh5g63cg2iw3kmcwj4y2jdw46rxll9rgjn6ymx7hbw15s7m5yp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/page-break-lines";
@@ -52733,8 +53162,8 @@
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "paradox";
-          rev = "4554d7651c26de10d350db28e150c685cd171e19";
-          sha256 = "0k2gbgrh1vb810qpdx632gbd8gx0gy4img022a16n620l3g1s0rn";
+          rev = "c508a52aee7f10f5e9b750b4724e264a3e694757";
+          sha256 = "1xbys48368a6vcyjqxn71lg6yf7zvb2k9dlf07dl6hvh0a7qlpqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/paradox";
@@ -53897,6 +54326,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pfuture = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "pfuture";
+        version = "20170531.805";
+        src = fetchFromGitHub {
+          owner = "Alexander-Miller";
+          repo = "pfuture";
+          rev = "a6c32c69abdb9b91baf8036b88cc4f477f611bd5";
+          sha256 = "0ly38dzg754n4s2xs09kaisxs14ikm42d9sjhw9p9xirzqm7zd5j";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5fb70c9f56a58b5c7a2e8b69b191aa2fc7c9bcc8/recipes/pfuture";
+          sha256 = "15fr9wkpv8v1p22wz7hsyihq7f807ck105c2crfs8y7capfvs53s";
+          name = "pfuture";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/pfuture";
+          license = lib.licenses.free;
+        };
+      }) {};
     pg = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pg";
@@ -54026,12 +54476,12 @@
     phi-grep = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "phi-grep";
-        version = "20170220.103";
+        version = "20170606.107";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "phi-grep";
-          rev = "e0cdb6d6b8502f9cb4db2d5536d8b32a3be9ebc5";
-          sha256 = "12y7jhhqg16sqm063zbz8hjlh1hggjl627qqigqnslxbgsghk97n";
+          rev = "ab9bd8d25e751a9cbfa108b49839293230b6e8b5";
+          sha256 = "0p1i07dgaic0jnwdsnvsnib2913r9w8j98d1p5rx8db2nabjmzc0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/992655fa4bd209abdf1149572e95f853e595125e/recipes/phi-grep";
@@ -54254,6 +54704,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    php-cs-fixer = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "php-cs-fixer";
+        version = "20170506.1133";
+        src = fetchFromGitHub {
+          owner = "OVYA";
+          repo = "php-cs-fixer";
+          rev = "ca2c075a22ad156c336d2aa093fb6394c9f6c112";
+          sha256 = "1axjfsfasg7xyq5ax2bx7rh2mgf8caw5bh858hhp1gk9xvi21qhx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a3631c4b81c1784995ae9e74d832e301d79214e2/recipes/php-cs-fixer";
+          sha256 = "1xvz6v1fwngi2rizrx5sf0wrs4cy8rb13467r26k8hb7z8h1rqmf";
+          name = "php-cs-fixer";
+        };
+        packageRequires = [ cl-lib ];
+        meta = {
+          homepage = "https://melpa.org/#/php-cs-fixer";
+          license = lib.licenses.free;
+        };
+      }) {};
     php-eldoc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-eldoc";
@@ -54278,12 +54749,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20170428.1853";
+        version = "20170609.1728";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "6e57817aa3a3cabe41e069ff8af1521db118ff13";
-          sha256 = "15lf3hvq466bhsnw5hzmpnwsnynqk0wsg5d5vn2n4j9kax4lzhb9";
+          rev = "dc30cb8110f395fffbc42c6271141887a0c0ec60";
+          sha256 = "1zgyy3mnn6sciy0ml2l0crfqy9mlcy1iqck5kracbbz41ygigsqy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -54307,8 +54778,8 @@
           sha256 = "06ffbw66zw5ssavgbllcb9a0syi5asy6wq8yqxdyw66nj941kjbr";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/f10631b740eea56e7209d7e84f0da8613274ef1d/recipes/php+-mode";
-          sha256 = "1ibcsky6la3l7gawpgx814w1acjf73b68i6wbb4p6saxhwg6adik";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d542e94471b9f601f1ee6f31e727bc4a31fa8f9e/recipes/php+-mode";
+          sha256 = "1wl15l4m68xng1b87a19fm21qwr230ckjz1iwi3y1xl184zliv8p";
           name = "php-plus--mode";
         };
         packageRequires = [];
@@ -54782,12 +55253,12 @@
     plan9-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "plan9-theme";
-        version = "20170129.553";
+        version = "20170529.2212";
         src = fetchFromGitHub {
           owner = "john2x";
           repo = "plan9-theme.el";
-          rev = "db36861907144674a2526fed3ff733c53489b7f5";
-          sha256 = "1sxx749xwxxab3k98wb4gpvy723kw5lcm7zhvvbjbgxr43lk6d05";
+          rev = "cdc50195f6579e6c3e6e8060142ce25b609f7949";
+          sha256 = "17grr5rvazh448qzrksxrgp0yclp32s2rxs4h5pygky7knb5vf3v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cdc4c2bafaa09e38edd485a9091db689fbda2fe6/recipes/plan9-theme";
@@ -54870,8 +55341,8 @@
         src = fetchFromGitHub {
           owner = "brocode";
           repo = "play-routes-mode";
-          rev = "ef8230932f7bb96643febbd6872c522932f9571a";
-          sha256 = "1wv4wnkcdlq5qvxr55wgs6dc64m69r0niz0r5h2ch9d5nclmvbkh";
+          rev = "ec861ab171fc5513df082d26b96a2e9d545ad64c";
+          sha256 = "1yn3270d0djsi7jwxw0arrylsyxkwbwawyw2ifpn6iwzcz55cnxh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/740cef8687232eb0e2186e8df956c2d4f39575cf/recipes/play-routes-mode";
@@ -55053,8 +55524,8 @@
         version = "20170419.303";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/gettext.git";
-          rev = "3531b829b30803bab9e0d9ff62747e061145fec5";
-          sha256 = "107pc3hdarwv7x7mb8dgc79ldl59r09mwrrw9vcsxqnd2w1jbmca";
+          rev = "a6f9caf8cc7614665d1be694485dd7bc30399e0f";
+          sha256 = "0gpbixx68bfxvpx3y9fv0v4kgxwacydkwid6gmh1lgjc65ky0fy7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/po-mode";
@@ -55341,12 +55812,12 @@
     ponylang-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ponylang-mode";
-        version = "20161008.1423";
+        version = "20170514.1419";
         src = fetchFromGitHub {
           owner = "SeanTAllen";
           repo = "ponylang-mode";
-          rev = "1f4ce183e11f4908173cea16685020f2acb818ae";
-          sha256 = "1lxzl5ks4lydn8zzvkc0jz6p1zjz7hfm4fs9dlyjxi6fn2bvj5kw";
+          rev = "88833317195f5ee2880e33a907861c6c2d3851da";
+          sha256 = "0kzzf03m1jzkl9fxzivzh3536c0c9l7m9g5h7zycdz7nj5da38c0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d51adec3c6519d6ffe9b3f7f8a86b4dbc2c9817/recipes/ponylang-mode";
@@ -55590,6 +56061,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    postcss-sorting = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "postcss-sorting";
+        version = "20170531.1858";
+        src = fetchFromGitHub {
+          owner = "P233";
+          repo = "postcss-sorting.el";
+          rev = "1320d74abd8ee7f0a09b5f7920d554650a7047a6";
+          sha256 = "0071al1nwqazv8rhr7qm799rmizbqwgcrb5in3lm0sz88fbs9vnk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9fae97430f211786f615f7450936f823e2a04ec4/recipes/postcss-sorting";
+          sha256 = "0730b2wddal15yi4k6wzhv9xv1k40iwrn3mivg9bkxabh3mgrl10";
+          name = "postcss-sorting";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/postcss-sorting";
+          license = lib.licenses.free;
+        };
+      }) {};
     pov-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pov-mode";
@@ -55817,6 +56309,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    prettier-js = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "prettier-js";
+        version = "20170606.612";
+        src = fetchFromGitHub {
+          owner = "prettier";
+          repo = "prettier-emacs";
+          rev = "f8ab2e5fb74beaf9e3023baafc118828526c5bb7";
+          sha256 = "00gjzw855xa6ahghdlq6yygz6b279xbp47s6vj0rjsyghf65xkf6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/968ac7bb98b385f8542dc150486982c0ded73187/recipes/prettier-js";
+          sha256 = "0mf66sdsdbhf76pwkjkfjsnh26g4j3zb4y1qrbxc9jcvymccb3yq";
+          name = "prettier-js";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/prettier-js";
+          license = lib.licenses.free;
+        };
+      }) {};
     prettify-greek = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "prettify-greek";
@@ -56341,12 +56854,12 @@
     projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }:
     melpaBuild {
         pname = "projectile-rails";
-        version = "20170411.152";
+        version = "20170602.336";
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "9647dc1368df6a3b6de17314332d024cceb90052";
-          sha256 = "1v8hipd7i63dv9lvq0ff5v9awg017kr0xfjk5hysamb346r1rsrn";
+          rev = "4e864c75bfbee4a5a1a9c76d3d2a77b2da01fa5f";
+          sha256 = "1a0a3hay6ixplk0q6jd2s0hbwxm36zxd5vng3k769cjc8nrsnbix";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -56366,8 +56879,8 @@
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "ripgrep.el";
-          rev = "73595f1364f2117db49e1e4a49290bd6d430e345";
-          sha256 = "1a5rdpmvsgsjlc9sywism9pq7jd6n9qbcdsvpbfkq1npwhpifkbj";
+          rev = "5af6a0b2ee8a639cf857724ce4328f1f0955c99e";
+          sha256 = "05jkj7c9ha09gp74j7k4bhcxq8ypxz922ghwv5bjpxg4czn5s0w9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/195f340855b403128645b59c8adce1b45e90cd18/recipes/projectile-ripgrep";
@@ -56404,12 +56917,12 @@
     projectile-speedbar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, sr-speedbar }:
     melpaBuild {
         pname = "projectile-speedbar";
-        version = "20170127.810";
+        version = "20170516.1943";
         src = fetchFromGitHub {
           owner = "anshulverma";
           repo = "projectile-speedbar";
-          rev = "1b9b3ae7624ca58a41ca7e0d0eb37556d3105c44";
-          sha256 = "0src453yf63j5dhndrqjx6gh6nfm5c83y2xj2ibk3sj61x9daxj2";
+          rev = "dcab13db72c2084edbebe808e35f1126fe0b3bcd";
+          sha256 = "106a4y5r1adjpbnjn734s7d910r6akhjlyjpd6bnczjhp357wyc7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eda8cb5a175258404c347ffa30fca002504467a0/recipes/projectile-speedbar";
@@ -56635,12 +57148,12 @@
     protobuf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "protobuf-mode";
-        version = "20160805.1045";
+        version = "20170526.950";
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "455b61c6b0f39ac269b26969877dd3c6f3e32270";
-          sha256 = "091xxj46nckd4vxg34bsv1283s8l4fa9jhamz6jvxy7br6ajslna";
+          rev = "96095f3a8577cd61ded2191d267cca70f221a9c9";
+          sha256 = "1ia0krk66l0cl5bklprdk4bbrzv9j8lszvkakcd0fd9ikcdv68a1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -56677,12 +57190,12 @@
     psc-ide = callPackage ({ cl-lib ? null, company, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, s, seq }:
     melpaBuild {
         pname = "psc-ide";
-        version = "20170420.2343";
+        version = "20170607.1512";
         src = fetchFromGitHub {
           owner = "epost";
           repo = "psc-ide-emacs";
-          rev = "3a5416c150a69a1420b4e94c7d130e13b42ff58a";
-          sha256 = "1yv4wdjhmh811852y4vzcbkbb0cf1j60ixp89zn2psz4ij8lvmp3";
+          rev = "04de7bd8a14ea71eaed568127428b8a44f325b24";
+          sha256 = "14dbg9cvph8b0shs49g6sfh5xrzpr9nn7c5rzxsnaaijys3z47rn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8189f4e7d6742d72fb22acf61a9d7eb0bffb2d93/recipes/psc-ide";
@@ -56768,22 +57281,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    psysh = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    psysh = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "psysh";
-        version = "20170205.1142";
+        version = "20170610.2104";
         src = fetchFromGitHub {
           owner = "zonuexe";
           repo = "psysh.el";
-          rev = "429b59ba8fd5ac7b6d3c6c4e3ad72867062c96db";
-          sha256 = "0ldv1lyra05g91hdsif131x7yqdmwld8hdpg4h3qi040kls9bix1";
+          rev = "f72d6fe41af2d9566d41b167cda66e97efdf8cfa";
+          sha256 = "0hr8nlxcqfas9wl5ahz9hmvpa8b6k35n4f7iv9dx6zwf5q48q7y7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b3131d9a0ad359f15bc3550868a12f02476449a/recipes/psysh";
           sha256 = "0ygnfmfx1ifppg6j3vfz10srbcpr5ird2bhw6pvydijxkyd75vy5";
           name = "psysh";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs f s ];
         meta = {
           homepage = "https://melpa.org/#/psysh";
           license = lib.licenses.free;
@@ -56897,12 +57410,12 @@
     puppet-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "puppet-mode";
-        version = "20170421.2255";
+        version = "20170528.904";
         src = fetchFromGitHub {
           owner = "voxpupuli";
           repo = "puppet-mode";
-          rev = "e704bc790a96f5f3703b2c56e5a1b15bc4446937";
-          sha256 = "07dcrpkyf3b2kpdgfxir3mvm1c5rs2zdbgv9ajkn9y0b9zvp0cm8";
+          rev = "c5a0fc884d0f33c3140585c9c7699ce0bc969f63";
+          sha256 = "0s9nza9v1qpjip5zig3374bn5jqw8fsn57ayqymbnp70nxdwcw6n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1de94f0ab39ab18dfd0b050e337f502d894fb3ad/recipes/puppet-mode";
@@ -57127,12 +57640,12 @@
     py-smart-operator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "py-smart-operator";
-        version = "20150824.1910";
+        version = "20170531.509";
         src = fetchFromGitHub {
           owner = "rmuslimov";
           repo = "py-smart-operator";
-          rev = "5e3222e4fc285c48a77c8e4c0e1cbc985a9713c8";
-          sha256 = "14gppb354wzbbqv0zp1675p84n07rll9n4i6lncd9bvv1flqsxy8";
+          rev = "0c8a66faca4b35158d0b5885472cb75286039167";
+          sha256 = "09pmkp24s7nwh6p4pzsjp1z65ksi9n3n2xv7d3igpa86l8qgcm2d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7491a1825b7aaa5f76aafadb8f04721ab1b1cfe/recipes/py-smart-operator";
@@ -57403,8 +57916,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "cb6e4523ce001012202e5767c8029fdfad21af1e";
-          sha256 = "1xj0qpfi18gklrh5lvi12xaich4kbxl0yjlqk6gifnx58jhi81y4";
+          rev = "2e820672609c489458dc2cf39d811e8c10255fe4";
+          sha256 = "1nvylps33w5lbxh33qc704rvl998cniwhvwzj1x8fqlsnh1qaxfd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -57546,12 +58059,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20170507.953";
+        version = "20170605.123";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "08012d66ea2d678795a766d227b74405e73e1267";
-          sha256 = "1mkbzs2jqhdqr4rn1plmh06pzy3kghlwci47mhac4dpx0wbkmw13";
+          rev = "17747eaca4e75e17e29fbdceab9380cd4772c4ad";
+          sha256 = "0j4xq66gdwnz94wm68xzc88gbaigfxhc035whijl43yxkf9mc14y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -57711,6 +58224,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    qt-pro-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "qt-pro-mode";
+        version = "20170604.1141";
+        src = fetchFromGitHub {
+          owner = "EricCrosson";
+          repo = "qt-pro-mode";
+          rev = "66601441cc728a609765b149ee0d7dcfb74dc8bf";
+          sha256 = "0azx8a7kwgn5byijgwar2rib9xv2p9w7w3yyb5bk19g3id2f8gdw";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e9af710be77ccde8ffa5f22168d2c8a06b73dd6a/recipes/qt-pro-mode";
+          sha256 = "1k3ph9bqvvg6i6n623qrwdpsffs8w9rv9nihmlggb4w30dwqc9nf";
+          name = "qt-pro-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/qt-pro-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     quack = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "quack";
@@ -57966,12 +58500,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20170424.1130";
+        version = "20170607.737";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "471c46fa9eb9de2e0b0056814caae824986f0915";
-          sha256 = "11s25kxh0909pq00xmpyv2lhafxhz4p40hivz884rkpi0gfvggg1";
+          rev = "02fe949875a7db935693af7d20109d29521b4276";
+          sha256 = "0aqv9j36abmhd82fd443khaj3i4mww5xs4f9p3d65glg07wm2j7q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -58239,12 +58773,12 @@
     ranger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ranger";
-        version = "20170315.2037";
+        version = "20170522.2331";
         src = fetchFromGitHub {
           owner = "ralesi";
           repo = "ranger.el";
-          rev = "e0429a06d55b3f11b369da61aa9043bb2843fa12";
-          sha256 = "171r9iljbp0pz7lvqsrnhdnir0bq2ynmhlb1ikf4k3i02w95i4v6";
+          rev = "e371cdc2d6065099fe7c68583597b1d0abea792b";
+          sha256 = "1c0jlykxkl46qimr60crac4j7nvzr0jixjiv4m6zzk93pn12y3g1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0207e754f424823fb48e9c065c3ed9112a0c445b/recipes/ranger";
@@ -58491,12 +59025,12 @@
     rdf-prefix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rdf-prefix";
-        version = "20170304.508";
+        version = "20170514.859";
         src = fetchFromGitHub {
           owner = "simenheg";
           repo = "rdf-prefix";
-          rev = "d7e61535aaf89e643673b27c79b4a84ddb530288";
-          sha256 = "1in1xp559g8hlxa9i2algwlgc069m8afjad6laxbyjqc61srzw6i";
+          rev = "35129521d5b6035e5dd75d5b3481ce4971f46034";
+          sha256 = "1iy9385n8a2b7ph4wdf8p92n81slirsxxckrc3khbk5zrpp62z5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f083bd629697038ea6391c7a4eeedc909a5231/recipes/rdf-prefix";
@@ -58638,12 +59172,12 @@
     realgud = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, load-relative, loc-changes, melpaBuild, test-simple }:
     melpaBuild {
         pname = "realgud";
-        version = "20170218.740";
+        version = "20170603.1430";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-dbgr";
-          rev = "2328ede5bbe6f20c69c0696e9f6ed4692ca4b4f0";
-          sha256 = "04fa6sbw7hwwmrs0s94l1bdb4gw9q5xs3y26ngqqx0y6a211pb6q";
+          rev = "3d0fcb80eb017ee2277440d688bf366af3bcdf6f";
+          sha256 = "1i71z36hk46w50c9p4b078rqlh4bvwb3dcylhfcwnp4b8j02f31p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud";
@@ -58980,8 +59514,8 @@
         src = fetchFromGitHub {
           owner = "RedPRL";
           repo = "sml-redprl";
-          rev = "608b896b58c6e1c7fec8c6e97202fc303a731a8b";
-          sha256 = "1x1d4gq2j8lanzpnqhx8aarwzd2mpprhkrz6j9w1s94g2p210ssg";
+          rev = "e0d467cfc50546d88f286383ea8ab54aa36cd5a9";
+          sha256 = "1lyj4h2qpl88hwxfrk2f1vr729bdyr5vvm8ra8p73rcz40zwdamr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl";
@@ -59602,12 +60136,12 @@
     restart-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "restart-emacs";
-        version = "20170413.2305";
+        version = "20170609.905";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "restart-emacs";
-          rev = "dc25f00c3cab1c97db2ca4733e7e7e7805ae68f2";
-          sha256 = "1rx5mj7lpxpmkbpbwb78garhl118d0kpbwvdwfh3f3j1rmzyiblx";
+          rev = "e6ac81464cce37b7ae3aea38dcf2720cc2750d31";
+          sha256 = "19fh4hsnxb7jc0zhgrg01hn8vbcirjxny5w29gcq7xiighwrbap7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9faeb6d910d686cbcafe7d12e0bcf62a85689bd/recipes/restart-emacs";
@@ -59623,12 +60157,12 @@
     restclient = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "restclient";
-        version = "20160801.707";
+        version = "20170516.137";
         src = fetchFromGitHub {
           owner = "pashky";
           repo = "restclient.el";
-          rev = "87c4f25155abef1ee8678e2137c1d8b3b2154ff5";
-          sha256 = "18ym81hmcj83qsw96y6amb84wxjk63a9fgij6hbkq7d6vp970x5g";
+          rev = "07a3888bb36d0e29608142ebe743b4362b800f40";
+          sha256 = "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/59303304fe1f724596245556dd90f6afffba425d/recipes/restclient";
@@ -59648,8 +60182,8 @@
         src = fetchFromGitHub {
           owner = "pashky";
           repo = "restclient.el";
-          rev = "87c4f25155abef1ee8678e2137c1d8b3b2154ff5";
-          sha256 = "18ym81hmcj83qsw96y6amb84wxjk63a9fgij6hbkq7d6vp970x5g";
+          rev = "07a3888bb36d0e29608142ebe743b4362b800f40";
+          sha256 = "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/59303304fe1f724596245556dd90f6afffba425d/recipes/restclient-helm";
@@ -59726,12 +60260,12 @@
     reverse-im = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "reverse-im";
-        version = "20170209.556";
+        version = "20170611.2334";
         src = fetchFromGitHub {
           owner = "a13";
           repo = "reverse-im.el";
-          rev = "47033e0597675a45d2b6852682e392e848a51af8";
-          sha256 = "0kd55p8hl7mhcbsqxhqqyfkzq31cnk4aaqzrka681dk6d1xzk8z5";
+          rev = "341e1d7955d9b25778a0e28921abc4d31704ec3b";
+          sha256 = "1mcggccv75v9xrd1i1x2csjnk432ws2h93bh5y4wm3sp3ky8lg6d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f282ebbed8ad01b63b0e708ab273db51bf65fdbb/recipes/reverse-im";
@@ -59850,12 +60384,12 @@
     rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, seq }:
     melpaBuild {
         pname = "rg";
-        version = "20170506.2235";
+        version = "20170603.1202";
         src = fetchFromGitHub {
           owner = "dajva";
           repo = "rg.el";
-          rev = "261ed756377285f0f8941b7a33866ef538465d74";
-          sha256 = "1fs367w5695v8kvwka1w9kykgpq3qp1209cxkxs096rlkxhbdvv5";
+          rev = "fa63228680add9b30735fec571a3eea572345914";
+          sha256 = "0bh23avfdcadfx2awkbd0mld54g6ir0bg1szbwi8m0w9pwa4w4mk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
@@ -59976,12 +60510,12 @@
     ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ripgrep";
-        version = "20170211.857";
+        version = "20170602.152";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "ripgrep.el";
-          rev = "73595f1364f2117db49e1e4a49290bd6d430e345";
-          sha256 = "1a5rdpmvsgsjlc9sywism9pq7jd6n9qbcdsvpbfkq1npwhpifkbj";
+          rev = "5af6a0b2ee8a639cf857724ce4328f1f0955c99e";
+          sha256 = "05jkj7c9ha09gp74j7k4bhcxq8ypxz922ghwv5bjpxg4czn5s0w9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e8d789818876e959a1a59690f1dd7d4efa6d608b/recipes/ripgrep";
@@ -60036,22 +60570,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    robe = callPackage ({ fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }:
+    robe = callPackage ({ emacs, fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }:
     melpaBuild {
         pname = "robe";
-        version = "20170428.553";
+        version = "20170611.1755";
         src = fetchFromGitHub {
           owner = "dgutov";
           repo = "robe";
-          rev = "336dea660fc382de413ca4b7755232ec2abb3602";
-          sha256 = "0945c0qnyr289qzy2pxsn2v4z0gxzjs3ln859h387dl451c99l8q";
+          rev = "9305fa042c40a32a2fcf60f935c0796dc67b5c55";
+          sha256 = "0jx3pnz9m9bxlga867qdb6midz82mfl4wzn9dsfihkl399hbj46j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/673f920d02fe761bc080b73db7d37dbf5b6d86d8/recipes/robe";
           sha256 = "19py2lwi7maya90kh1mgwqb16j72f7gm05dwla6xrzq1aks18wrk";
           name = "robe";
         };
-        packageRequires = [ inf-ruby ];
+        packageRequires = [ emacs inf-ruby ];
         meta = {
           homepage = "https://melpa.org/#/robe";
           license = lib.licenses.free;
@@ -60186,12 +60720,12 @@
     rpn-calc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "rpn-calc";
-        version = "20170508.100";
+        version = "20170522.1842";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "rpn-calc";
-          rev = "ae4bf0dd8a922ea41b228fac81dee2c10b11982a";
-          sha256 = "03kvrvafwm7czg8jb4r9wggrabczdd809wr2g62z1wqjiz94fxnp";
+          rev = "66fcb64dbfddfc23823356b6213215bd7ab5efc6";
+          sha256 = "1lgabs97x6h4yrgwln8hsxi47wgl46jzhf162wa1almdbqbp9100";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/47d5b3c931cdbc2351e01d15e2b98c78081c9506/recipes/rpn-calc";
@@ -60232,8 +60766,8 @@
         src = fetchFromGitHub {
           owner = "pezra";
           repo = "rspec-mode";
-          rev = "fe336636a57955b927b5994c8c738e21cacdc800";
-          sha256 = "07qjp6bb5rkcpbda7gb8g0zr2mr6cwplaspwc4ckidfcd8vzdn7b";
+          rev = "1f468e443e7f2d8419eec29e42074edc400f8c0c";
+          sha256 = "03wv1k3ppvdk2776bkbz8bhxw5n7h4b8zm3b2j2j6x7hrxfza5h4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd83e61b10da20198de990aa081b47d3b0b44d43/recipes/rspec-mode";
@@ -60249,12 +60783,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "20170509.2255";
+        version = "20170527.450";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "2abdfb2adf24b881cdd04e904ecb341bb51e8cb6";
-          sha256 = "11f9sd8w7qqhfd6mxbihlc6mdki4lqyk4dwbi3v91k9hbxb9hlq2";
+          rev = "d6af2ad09c99f9c58900665e874dcf97a545c0fa";
+          sha256 = "12p22b9q4rkl7jswg12gqc8751sinzgj8h75jjzrggd0vfsg439a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -60315,8 +60849,8 @@
         version = "20161115.2259";
         src = fetchsvn {
           url = "https://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "58657";
-          sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
+          rev = "59070";
+          sha256 = "18fkx4a8jarznczv3h36663dqprwh6pyf76s3f210cqqy8c5y5yi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ruby-additional";
@@ -60396,8 +60930,8 @@
         version = "20150424.752";
         src = fetchsvn {
           url = "https://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "58657";
-          sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
+          rev = "59070";
+          sha256 = "18fkx4a8jarznczv3h36663dqprwh6pyf76s3f210cqqy8c5y5yi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/ruby-electric";
@@ -60539,12 +61073,12 @@
     ruby-test-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pcre2el, ruby-mode ? null }:
     melpaBuild {
         pname = "ruby-test-mode";
-        version = "20160930.9";
+        version = "20170515.1008";
         src = fetchFromGitHub {
           owner = "r0man";
           repo = "ruby-test-mode";
-          rev = "0924e9d17e0a9b7c5c1a4e878367be47f58a396c";
-          sha256 = "0hlzkwll6di13hja3hm3nzmcjkwgciq9bziz837cr49agagz3b55";
+          rev = "740ff1a7c81eb8380fd0f0cdb7c32238acf13dd1";
+          sha256 = "1a7lhx7ibh9rrxdamxwd107npnmsf9sxbksvy9rm8l3rnm8yjnvy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ruby-test-mode";
@@ -60644,12 +61178,12 @@
     rust-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rust-mode";
-        version = "20170411.2043";
+        version = "20170606.457";
         src = fetchFromGitHub {
           owner = "rust-lang";
           repo = "rust-mode";
-          rev = "dae5af71ebf4b5c6797ef057e8a0ebf655bcdbfb";
-          sha256 = "0s01pzlq0lqzbxqj0x2x4lr3l1rsvnd8h2kskgli6y2m8nv97qc6";
+          rev = "ac6a45e6091c0d542b696b6e13551be7e333264a";
+          sha256 = "0hba3djxzgpk13xcfz51s0qlv9415q8701pkw9qq974fxqpcrawl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode";
@@ -60833,12 +61367,12 @@
     salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
     melpaBuild {
         pname = "salt-mode";
-        version = "20170313.725";
+        version = "20170611.420";
         src = fetchFromGitHub {
           owner = "glynnforrest";
           repo = "salt-mode";
-          rev = "e14ed8f2ce0ab7a783c4341879ec8c003e2b5c81";
-          sha256 = "19gw35qv13f2r4wif5fgqfhrph2r320n81faxx8980zds28x2q0x";
+          rev = "bfcfa72093974f36635413a845e7a5df7c5ea974";
+          sha256 = "1x974csw8xyd90xf8ns5h6c0s9fszy02hdmcdax6ywi8vxksmjsy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
@@ -61022,12 +61556,12 @@
     sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sbt-mode";
-        version = "20170508.1";
+        version = "20170530.355";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-sbt-mode";
-          rev = "1ab82c187c49440b08fc468957fa10b79ac603b8";
-          sha256 = "1pwi6i5q7fzvx8ychg2i0ndn2czhrl8fr86695vh99wmy7shvw6i";
+          rev = "736da7f466aad2b64c846ece258082c6aac647ae";
+          sha256 = "0idj4p3d36yp0irp1yfbihq8mf17jc7facz5qy6kx7zj0wdx4fjw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@@ -61047,8 +61581,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "ec1c3fd61152f119cb6bd7efeef4816bea8f8e65";
-          sha256 = "00lvh1ix9xs9844mp1yz1gfwx8wi53jzgy4wrg8vgwwbd5mrkdvw";
+          rev = "0b7aaa108710b2f197cbcb32fdb3ae12ff121747";
+          sha256 = "1yp382s4jxbyn646mv245gm5c2h1n734r8qzrspimipr79mrbklk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -61085,12 +61619,12 @@
     scala-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "scala-mode";
-        version = "20170323.502";
+        version = "20170611.806";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-scala-mode";
-          rev = "970d88eeff82df635ee12336ab1eb185585f30c6";
-          sha256 = "0wfv20dyb13v7fbfsvy0k5dajvmyyhn80l6xyx6kppiv3qmy9s90";
+          rev = "6f49104c182ec1cc8b30314dc92d02f4752106cf";
+          sha256 = "0ahhhsg095rixiy9j49854mmrkd92vvmqnms0f6msrl4jgdf6vpw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode";
@@ -61169,11 +61703,11 @@
     schrute = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "schrute";
-        version = "20161124.1227";
+        version = "20170521.1140";
         src = fetchgit {
           url = "https://bitbucket.org/shackra/dwight-k.-schrute";
-          rev = "08ab6565fa94f3a8016163fe6f7be1932af1156b";
-          sha256 = "0l1k6wjjr569lk5k8ydwq13041kn889g20qbzf79qj1ws96rim4m";
+          rev = "59faa6c4232ae183cea93237301acad8c0763997";
+          sha256 = "1w5l1vf4cn4psrxgnq5n6j3zw644s70inpa17vsvng3sk5r8crcb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/505fc4d26049d4e2973a54b24117ccaf4f2fb7e7/recipes/schrute";
@@ -61273,16 +61807,16 @@
     scratch = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "scratch";
-        version = "20120830.1105";
+        version = "20170523.2046";
         src = fetchFromGitHub {
-          owner = "cbbrowne";
+          owner = "ieure";
           repo = "scratch-el";
-          rev = "b377e5642aa0d0ddc9dbb2003d2055bc013e6426";
-          sha256 = "1nr6yqmxz6jqjkfj249yz88480shlsnmri0d322pkz88d4nkr0hq";
+          rev = "3363e861cf7c135873ccf273f759d72dd0bb5854";
+          sha256 = "0k4y7kqd7izaqpa0xmp7ag84vpnrgz5mi6cgh5ap1vspxg3pycz4";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/scratch";
-          sha256 = "1g4jm54n5k0pkspbd9636hcmxi1p3lkgayiwavlgs0sg2s6vc9l9";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b46813f928eadfa08a1d4bf94ceeb96dbc2a7c72/recipes/scratch";
+          sha256 = "1an30pr64fz13s6lghlcb36b7hn3961vv0yipfp9s140ccygdvh7";
           name = "scratch";
         };
         packageRequires = [];
@@ -61378,12 +61912,12 @@
     scratch-pop = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popwin }:
     melpaBuild {
         pname = "scratch-pop";
-        version = "20150820.139";
+        version = "20170510.758";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "scratch-pop";
-          rev = "2c9648a669ce8e3a9e35e8e1e3c808531d20c549";
-          sha256 = "1yvmfiv1s83r0jcxzbxyrx3b263d73lbap6agansmrhkxp914xr1";
+          rev = "7f4172c792b10bd38898dd8963cf0ade91921869";
+          sha256 = "0mwjq7z0cpaqhqygzhfcpfqyx8376jsc1g2874np6ff49389bj4d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/420fb3408b64f1a3e42316262016728c483bf0c1/recipes/scratch-pop";
@@ -62065,16 +62599,16 @@
     sexy-monochrome-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sexy-monochrome-theme";
-        version = "20170324.510";
+        version = "20170611.859";
         src = fetchFromGitHub {
-          owner = "nuncostans";
+          owner = "voloyev";
           repo = "sexy-monochrome-theme";
-          rev = "c221231bb8a0d60413d710efe6226683326d57b0";
-          sha256 = "0zjy6d4fqg08dwbn1y360514pzzj3nrg3wzm656n7sg90mffh22i";
+          rev = "8def559784c9f3ebaad179caaff58a9c6afc83a5";
+          sha256 = "043pplyjdvqz45q1vlnkh8j8a4fhiw4km3b2xb06bycgs3ysb42h";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/9a09ffb7d271773f6cfa7c7eeaba45a717a5bdca/recipes/sexy-monochrome-theme";
-          sha256 = "1qmbb2aaa1lc18l9kk42iq466hy2mg7565b0gb7hdvfqsi05d8dg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/dfd5ae9a93e036d11899c7adffdf6b63c2b21381/recipes/sexy-monochrome-theme";
+          sha256 = "0rlx4029zxrnzzqspn8zrp3q6w0n46q24qk7za46hvxdsmgdpxbq";
           name = "sexy-monochrome-theme";
         };
         packageRequires = [];
@@ -62483,12 +63017,12 @@
     shm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shm";
-        version = "20170126.420";
+        version = "20170523.238";
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "structured-haskell-mode";
-          rev = "3b81e8739abe187fa378701152370d31bf44b331";
-          sha256 = "1p9yb105yjzhhl2aj2hpqb4275m0liagn43r49ily8syvaj15r4m";
+          rev = "bd08a0b2297667e2ac7896e3b480033ae5721d4d";
+          sha256 = "14rl739z19ns31h9fj48sx9ppca4g4mqkc7ccpacagwwf55m259c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68a2fddb7e000487f022b3827a7de9808ae73e2a/recipes/shm";
@@ -62625,6 +63159,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    shr-tag-pre-highlight = callPackage ({ emacs, fetchFromGitHub, fetchurl, language-detection, lib, melpaBuild }:
+    melpaBuild {
+        pname = "shr-tag-pre-highlight";
+        version = "20170525.902";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "shr-tag-pre-highlight.el";
+          rev = "bc1bff471cf4adcd86d87b8c045623aff3b20889";
+          sha256 = "1lyam12wilvv8ir3x0ylyfinjh9g65aq6ia1s314fr0gc8hjk5z6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7be3c139bee02e8bd9a9830026cbfdd17629ac4d/recipes/shr-tag-pre-highlight";
+          sha256 = "1v8fqx8bd5504r2mflq6x8xs3k0py3bgsnadz3bjs68yhaxacj3v";
+          name = "shr-tag-pre-highlight";
+        };
+        packageRequires = [ emacs language-detection ];
+        meta = {
+          homepage = "https://melpa.org/#/shr-tag-pre-highlight";
+          license = lib.licenses.free;
+        };
+      }) {};
     shrink-whitespace = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shrink-whitespace";
@@ -62667,6 +63222,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "shx";
+        version = "20170610.1147";
+        src = fetchFromGitHub {
+          owner = "riscy";
+          repo = "shx-for-emacs";
+          rev = "8b7de952da37f1c04fa1bdf8f54c1cfb6a7c2a8f";
+          sha256 = "176rhjyh9f3scbwjkw8h64dbamfcczwjpwv3dpylmjaqzwmfsal3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
+          sha256 = "0h5ldglx4y85lm0pfilasnch2k82mlr7rb20qvarzwd41hb1az1k";
+          name = "shx";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/shx";
+          license = lib.licenses.free;
+        };
+      }) {};
     sibilant-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sibilant-mode";
@@ -62963,12 +63539,12 @@
     simpleclip = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "simpleclip";
-        version = "20150804.1010";
+        version = "20170603.1542";
         src = fetchFromGitHub {
           owner = "rolandwalker";
           repo = "simpleclip";
-          rev = "7079086ec09a148fcc9146ba9bd10e12fb011861";
-          sha256 = "09286h2q9dqghgfj9a4cniz6djw7867vcy3ixs7cn4wghvhyxm8s";
+          rev = "7deff873b79910496b4baf647cdb8dd5de63465a";
+          sha256 = "12f853vm18y22sd22wmwqyzp5f5vmb67i33iiaw6mqqcp6qwbyqz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7c921e27d6aafc1b82d37f6beb8407840034377a/recipes/simpleclip";
@@ -63173,12 +63749,12 @@
     slack = callPackage ({ alert, circe, emojify, fetchFromGitHub, fetchurl, lib, melpaBuild, oauth2, request, websocket }:
     melpaBuild {
         pname = "slack";
-        version = "20170504.629";
+        version = "20170610.841";
         src = fetchFromGitHub {
           owner = "yuya373";
           repo = "emacs-slack";
-          rev = "5bd003364f0de8737cedfacb0766da0dd6e3496f";
-          sha256 = "12cwpra9jgixab54pd7pb7g073b5gbhmsjbhfnnk38yqlgdrzisc";
+          rev = "b020352573a14e452a5c8a18bbd0ab23539a52cc";
+          sha256 = "1nqax756ya008glr1qffqa222hcz45grjwfnncsq48k1nj5b0dpf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f0258cc41de809b67811a5dde3d475c429df0695/recipes/slack";
@@ -63236,12 +63812,12 @@
     slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
     melpaBuild {
         pname = "slime";
-        version = "20170502.914";
+        version = "20170511.1221";
         src = fetchFromGitHub {
           owner = "slime";
           repo = "slime";
-          rev = "743d9ff1a05957559476ef333042f57aedb534a2";
-          sha256 = "1ydfzz2a5vqv5ikx96x2g4ki3mxljv5c82d07rv04bs5lxlk7iaf";
+          rev = "7ccaa81b4266d478ed92003fba097756afc6ae19";
+          sha256 = "1l4idfy98qh7c3vaxiv91irhw14nz8h2mvfs3g7j4abv51102kx5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -63422,6 +63998,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    slstats = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "slstats";
+        version = "20170602.304";
+        src = fetchFromGitHub {
+          owner = "davep";
+          repo = "slstats.el";
+          rev = "07f515f835c92b6be538d2f39dda31ed281f1054";
+          sha256 = "12fzcfw4fxf6g0zadzcr8mx46a8x8969shpcmkn0f8ixn014w7ax";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fe7c8c241cc6920bbedb6711db63ea28ed633327/recipes/slstats";
+          sha256 = "0z5y2fmb3v16g5gf87c9gll04wbjp3d1cf7gm5cxi4w3y1kw4r7q";
+          name = "slstats";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/slstats";
+          license = lib.licenses.free;
+        };
+      }) {};
     sly = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sly";
@@ -63429,8 +64026,8 @@
         src = fetchFromGitHub {
           owner = "capitaomorte";
           repo = "sly";
-          rev = "35ccf713384477b9e314ffef69f762ce2a6a94e9";
-          sha256 = "0j1z536ydcdmg16xx0nzd2cj9cpi8l8lhwb8ig0b9nl3lv12cb4d";
+          rev = "95519c4ef41988205bb642e534bf2bd2463b6170";
+          sha256 = "1bvmmpk4xd954i6dmxjcqayd6apzabg732yhcmjyg633d8hmmiwr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly";
@@ -63926,12 +64523,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20170430.844";
+        version = "20170606.725";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "f493fdba6af036497e0f0a204c7f7388888bf6b3";
-          sha256 = "03f2p29i0zv0dl4s24pyr93ckh9iams6hlvdd7dmdc6v96sc83w0";
+          rev = "3bc7f1d38a0b5800e62a612e16fe42d9b0c0e11e";
+          sha256 = "1xghvmwx66mns3kzk1jw2g08553qqa50h1sq1jg5n2apjl4gprdh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -64447,6 +65044,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    solaire-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "solaire-mode";
+        version = "20170610.442";
+        src = fetchFromGitHub {
+          owner = "hlissner";
+          repo = "emacs-solaire-mode";
+          rev = "70e3b9cc171d4d9171c652c6d255bf03dcd0ad9a";
+          sha256 = "15plb1gh7wz558008653v1xskz0bby477vvs7d7a752vrd8s6jcr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/52c69070eef3003eb53e1436c538779c74670ce6/recipes/solaire-mode";
+          sha256 = "0pvgip12xl16rwz4wqmqjd8nhh3a299aknfsghazmxigamlmlsl5";
+          name = "solaire-mode";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/solaire-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     solarized-theme = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solarized-theme";
@@ -64576,12 +65194,12 @@
     sotclojure = callPackage ({ cider, clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, sotlisp }:
     melpaBuild {
         pname = "sotclojure";
-        version = "20160421.1811";
+        version = "20170512.612";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "speed-of-thought-clojure";
-          rev = "8d879ef41c004726cca3c27a81b7543cc273c19b";
-          sha256 = "13yn2yadkpmykaly3l3xsq1bhm4sxyk8k1px555y11qi0mfdcjhh";
+          rev = "84e2be5939c33d44f9518aea60cfccff4d6c9707";
+          sha256 = "1jz3lscjq8xfkrx464a1s8vyggnh5sjl8jvq8dvx0w7blny2jvz8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2ccef8af91eada4449d9cd4bda6bd28272722e/recipes/sotclojure";
@@ -64814,12 +65432,12 @@
     spaceline = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, s }:
     melpaBuild {
         pname = "spaceline";
-        version = "20170102.59";
+        version = "20170530.434";
         src = fetchFromGitHub {
           owner = "TheBB";
           repo = "spaceline";
-          rev = "75cc751c3da252bd84f33b12daf11655a9f98fa6";
-          sha256 = "1jn3qjxjhbgjixxny1n68ha80c2zqmfrj24ws7ni4zia264phxs0";
+          rev = "d86fc0353cbf1a95df261e40ec5b7292b0d557f3";
+          sha256 = "1pj1rdfm2dxri6v2c1m8slpabdmbgqqr0cp23s5w4s39g0mmphvg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/46e4c876aeeb0bb0d0e81dcbb8363a5db9c3ff61/recipes/spaceline";
@@ -64832,22 +65450,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spaceline }:
+    spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }:
     melpaBuild {
         pname = "spaceline-all-the-icons";
-        version = "20170506.408";
+        version = "20170605.838";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "spaceline-all-the-icons.el";
-          rev = "481329d1d1c4c505a91b7f2ac231f77a19e2c74d";
-          sha256 = "15snhm5rq0n31g9hk5gzimhjclfll67vi7avhrhd9z9x6dvq0sp4";
+          rev = "bc611779a7a3c10b7367bc8c985923d26ee91443";
+          sha256 = "1slnzb26fkmj01hakzbaarlmf2ng4d1zkimgb93axx0svxh03qc7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons";
           sha256 = "1h6clkr2f29k2vw0jcrmnfbjpphaxm7s3zai6pn6qag32bgm3jq6";
           name = "spaceline-all-the-icons";
         };
-        packageRequires = [ all-the-icons emacs spaceline ];
+        packageRequires = [ all-the-icons emacs memoize spaceline ];
         meta = {
           homepage = "https://melpa.org/#/spaceline-all-the-icons";
           license = lib.licenses.free;
@@ -64856,12 +65474,12 @@
     spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "spacemacs-theme";
-        version = "20170305.506";
+        version = "20170611.1307";
         src = fetchFromGitHub {
           owner = "nashamri";
           repo = "spacemacs-theme";
-          rev = "9358c37ee9c90a3d13a43afcd6917fea8eef144b";
-          sha256 = "1k711ppzkd9c5ial8cs0aazsi0zig6r9acmbhr0h9zizbrsw5sl1";
+          rev = "a7e76aeb0a62f986e0469183728407c7bcbf4993";
+          sha256 = "17gbrijf62qdk5s02lish5nf6l8mfqrkly98hpkwzz3js4xkykkb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme";
@@ -65084,12 +65702,12 @@
     sphinx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sphinx-mode";
-        version = "20160911.558";
+        version = "20170607.1436";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "sphinx-mode";
-          rev = "7db516b8b985cf209b6430b032cd0457af83b72b";
-          sha256 = "0a3vgkp65hpc1a5h79yl0pc02lr6w299wd2fs9cgn8nvbdrip5ij";
+          rev = "0a9fcd60639f1f4235b4747e8449b9f48651705f";
+          sha256 = "05kn45gh4l1wrj06qb3qzphx8mfqn3zqb8v73awhn5p7a1asb8kr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sphinx-mode";
@@ -65460,12 +66078,12 @@
     sqlup-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sqlup-mode";
-        version = "20170502.1505";
+        version = "20170610.837";
         src = fetchFromGitHub {
           owner = "Trevoke";
           repo = "sqlup-mode.el";
-          rev = "d34d4c5c8fe052dbf29baacb6014ad4af70218b5";
-          sha256 = "1abh60xlxhhj7lky6kyr8316gj9xvbwzvcbchkih41s9xm06yg8g";
+          rev = "04970977b4abb4d44301651618bbf1cdb0b263dd";
+          sha256 = "14s66xrabj269z7f94iynsla96bka7zac011psrbcfyy4m8mlamz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/sqlup-mode";
@@ -65586,12 +66204,12 @@
     ssh-config-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-config-mode";
-        version = "20170506.2330";
+        version = "20170603.251";
         src = fetchFromGitHub {
           owner = "jhgorrell";
           repo = "ssh-config-mode-el";
-          rev = "2d47d28a527d2e5a6aa350ef5f50e0c05378ad35";
-          sha256 = "0x8153ps266b359ll15w792qzqzpqs0jllc006jd59n71frdi8zv";
+          rev = "ba47dd11c5be684595ffa62dbdfdc616ce3eb9d6";
+          sha256 = "011n7vyhrawmymkhmr28isk5zvdljj9bhynmfr6v0mi2h7kn79p3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/750b16ee631b4c2014f2ebf767609bab4b8ee421/recipes/ssh-config-mode";
@@ -65607,12 +66225,12 @@
     ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "20170506.932";
+        version = "20170520.26";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "6d1c10c2b5bb8a1a1f30ab3850970c731ff54086";
-          sha256 = "09bmvgvkhn3cg8lwav77zvsfp5kr3vh6b1mg7cay7jw4m6cjscx4";
+          rev = "5e86b22d14e34207bf9c0888ac5fe2e782dcf5cb";
+          sha256 = "0pirqgvvl7dyhfk5c3hk419mb67qhmgz1qvp124aprdwhnmjd153";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy";
@@ -65712,12 +66330,12 @@
     standoff-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "standoff-mode";
-        version = "20170214.1713";
+        version = "20170609.134";
         src = fetchFromGitHub {
           owner = "lueck";
           repo = "standoff-mode";
-          rev = "cecb6bb0bbb3692ab9179376d88d14327965a43b";
-          sha256 = "01fdv5v8hlckqdsjq5m4cvghq7mvcwh4mqv49mh2dlahs5m055dk";
+          rev = "b194fde6bf31ddc77409275e134aacba27e88043";
+          sha256 = "0l48dij62d5cvw7kry0739i8zixkbmj80ghhixb30l6g0wg8k48g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/98858a45f72c28eec552b119a66479ea99b60f93/recipes/standoff-mode";
@@ -66125,11 +66743,11 @@
     stupid-indent-mode = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "stupid-indent-mode";
-        version = "20130816.1354";
+        version = "20170525.417";
         src = fetchgit {
           url = "https://gist.github.com/5487564.git";
-          rev = "e26ff5a2c4a582c6c1940bbcd204cfeed8e65222";
-          sha256 = "0sw7r4sbg0vmm7gqisjdp1wansn9k64djz3p83fwmyq3qkj90ar4";
+          rev = "3295e7de5e2cfddc3bf0e462e852bf58972f5d70";
+          sha256 = "00js2jkzvmvh1gbraijknv48y86pqyk9zv264a5n3l4sw5q6kcvk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68cd648bde8028a39849f7beae8deae78bfb877b/recipes/stupid-indent-mode";
@@ -66250,12 +66868,12 @@
     sublime-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sublime-themes";
-        version = "20160111.122";
+        version = "20170606.1144";
         src = fetchFromGitHub {
           owner = "owainlewis";
           repo = "emacs-color-themes";
-          rev = "4648b68e96bfde26d6e4af9f919971eef2768e5f";
-          sha256 = "0q9p974xvswr2sijz1rs858x9sdx0rb00lkhj5cd90abn33lb260";
+          rev = "60ee40af82eb55b79d5ed4026f1911326311603f";
+          sha256 = "17fcqvavgyl9cmv1hwcid2bw513vhawlsmac1w2adiz567594i6h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/648d250c7d341b31581c839f77c1084ac29d3163/recipes/sublime-themes";
@@ -66353,12 +66971,12 @@
     sudo-edit = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sudo-edit";
-        version = "20170201.916";
+        version = "20170605.1710";
         src = fetchFromGitHub {
           owner = "nflath";
           repo = "sudo-edit";
-          rev = "615f6c073e42d433e79ae5a63210e2e04357a4c8";
-          sha256 = "0k3ldywy1g6672hhasqmj1rvzrs0cmd3nzxkb688vw6mhzxfzld4";
+          rev = "57d49eafd53868d3c86b20fa51e1889e621872c0";
+          sha256 = "1gxyy1z8qq610g2x0zzlccqq33gd54wwl1akhnw5xg4mvwhjvidf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3b08d4bbdb23b988db5ed7cb5a2a925b7c2e242e/recipes/sudo-edit";
@@ -66416,12 +67034,12 @@
     suggest = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, loop, melpaBuild, s }:
     melpaBuild {
         pname = "suggest";
-        version = "20170326.321";
+        version = "20170525.1254";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "suggest.el";
-          rev = "2f8e52d9d34535899292799778fc1242342b64d9";
-          sha256 = "18vpr0k3pd4cvmxaxhvl8abz78fpni8vk3mws89grjbb3fc4b17i";
+          rev = "13611ca0e4dfb8e6e4a314142368bfa7f0de5b9b";
+          sha256 = "0svlf2kgdbhwaygydvwvhinafiwv3qrgyn5wkfpcnz1km30g92hf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9fd27e812549587dc2ec26bb58974177ff263ff/recipes/suggest";
@@ -66519,12 +67137,12 @@
     suomalainen-kalenteri = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "suomalainen-kalenteri";
-        version = "20151129.304";
+        version = "20170528.801";
         src = fetchFromGitHub {
           owner = "tlikonen";
           repo = "suomalainen-kalenteri";
-          rev = "f5907236ce4da372325fce8b3ce429defa5b0f5a";
-          sha256 = "1f16ds671mp8jwkkhvpbdqkk3jji96q9ipjlr8ij9vglp2arvslg";
+          rev = "d380321ce7b7a5650847a7866bd98226af51d4b4";
+          sha256 = "1fcyh26zd7rpp0519kswgr9ps67flwwypw2ic3nwgjdhxb41kmzs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/181adf1b16253481674663fd28b195172231b7da/recipes/suomalainen-kalenteri";
@@ -66790,12 +67408,12 @@
     swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "swiper";
-        version = "20170410.24";
+        version = "20170609.938";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "f565f76dfb3a31becc32c807916c011cde6c4e64";
-          sha256 = "1dl39b4c7jij0gxdri2li6nkm7x73ljhbk0n1zwi6lw4xd7dix6p";
+          rev = "752ba81f0db3be0568072b3d9a5db458bb647a3c";
+          sha256 = "0wzhil3c6g9g7k4dq3l6rsyy9vy3rdnq3igqgw9xzgq6i06a1878";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -66853,12 +67471,12 @@
     switch-window = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "switch-window";
-        version = "20170501.1626";
+        version = "20170522.2042";
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "switch-window";
-          rev = "07105313cf4c86267ecfc0ad160971475d185c67";
-          sha256 = "0nsi4ikidl42y8cfxk313zkgnl6fq470vy1fliikqp14b6h8k0c3";
+          rev = "8d37f5660666516ab6c9e6ec1da748ea1669ed4b";
+          sha256 = "19bszzslzz8rprch0z3h6xa6pjhrwik7j53i4kj33w306d58gi3f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d2204e3b53ade1e400e143ac219f3c7ab63a1e9/recipes/switch-window";
@@ -66916,12 +67534,12 @@
     sx = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, let-alist, lib, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "sx";
-        version = "20161222.1205";
+        version = "20170521.1832";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "sx.el";
-          rev = "de73e993930f910862698727b5c0d93a1f656deb";
-          sha256 = "03dah9rn6ray0c65rkqcmak77b1hgyi2fc1nqgb5vfgf65jk7z7c";
+          rev = "8f1e3346286cfa5a5299ef192cc5aca3f37a7745";
+          sha256 = "1ans6l0rv71w2vq0v4137jr0jhgzhkk62l7cq6b5m83v4ld9gr09";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f16958a09820233fbe2abe403561fd9a012d0046/recipes/sx";
@@ -66937,12 +67555,12 @@
     symbol-overlay = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "symbol-overlay";
-        version = "20170502.157";
+        version = "20170604.2240";
         src = fetchFromGitHub {
           owner = "wolray";
           repo = "symbol-overlay";
-          rev = "b4659bf6b10e37032603de1dfdb6a707ca5a224c";
-          sha256 = "028sklksa57dyyzg2mgxh010vrm9rvkbmbvd00cyawbpj7i7d5lq";
+          rev = "3eb0864b65f9fe0e7c98fae7e9bcfd6330c471a0";
+          sha256 = "178ny3cbxm2hvmh0f49hvi2m15r72f2by3k076d4rzawab0gnp1p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a468ebe1a3e5a35ef40c59a62befbf8960bd7b/recipes/symbol-overlay";
@@ -67124,12 +67742,12 @@
     syntactic-close = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "syntactic-close";
-        version = "20170418.3";
+        version = "20170510.2348";
         src = fetchFromGitHub {
           owner = "emacs-berlin";
           repo = "syntactic-close";
-          rev = "d9f01e66d495db42142b845c6da5fa3d7692bf29";
-          sha256 = "0630v7h84fjw28j3lpwmwhfz3r6f7phiqccy7454vs0yxjyz0bp5";
+          rev = "83f6a212637175c8cfb1132eb40cdd4c3343040a";
+          sha256 = "0r5zff8fb0gid84f62l88lfh1hp8nkgf9cldnhmmv3icrhc2r0kc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2c15c0c8ee37a1de042a974c6daddbfa7f33f1d/recipes/syntactic-close";
@@ -67567,8 +68185,8 @@
         src = fetchFromGitHub {
           owner = "phillord";
           repo = "tawny-owl";
-          rev = "c2ed2499796b91c31f249211717e18f475334404";
-          sha256 = "0q34k4mnd7hkgm9p0q7b8x8j5p3dllm5xxhjbadm6mlygr6wx3bj";
+          rev = "37d65c003224b88108d035732bfa729b2a14e8ab";
+          sha256 = "1dva713chyv3y4d689a81zpmrk22spvx56lkdmbvq5hfp467kayq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ea9a114ff739f7d6f5d4c3167f5635ddf79bf60c/recipes/tawny-mode";
@@ -67731,12 +68349,12 @@
     telephone-line = callPackage ({ cl-generic, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "telephone-line";
-        version = "20170501.2058";
+        version = "20170611.1115";
         src = fetchFromGitHub {
           owner = "dbordak";
           repo = "telephone-line";
-          rev = "d0428bbd5c308b7c249359be8c854fe80a2905a8";
-          sha256 = "1zr4c63jmjd4lmbrp975c92wh9nn7861dkf5q7mjsglfdf0zp1wj";
+          rev = "743614f372598597282efd29a18e624d5ef80bc1";
+          sha256 = "0jl4kdmid2jy5gys9q1r58x41q4srh7hinhzr3q1f6f47lpcpvkf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9c998b70365fb0a210c3b9639db84034c7d45097/recipes/telephone-line";
@@ -67987,8 +68605,8 @@
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "terminal-here";
-          rev = "86b3fb5616be1a0a90e21a9b2cade25c62243b5d";
-          sha256 = "11cp9r282syyxqx4ihx3h75lac1xg32hhwssjib29p3ph48mq8si";
+          rev = "26e7c8d180dcc62d8802762ba738eb2ee02fd16c";
+          sha256 = "06hqqjj8fl32mxiws6jqnii6cnbds2686y2hfv7v83rj6fy31vgc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f8df6f7e23476eb52e7fdfbf9de277d3b44db978/recipes/terminal-here";
@@ -68008,8 +68626,8 @@
         src = fetchFromGitHub {
           owner = "ternjs";
           repo = "tern";
-          rev = "a1cf72d9e2ed32ac3c75583cd9db75c5f981382d";
-          sha256 = "08njp03bcihb28sx0n5ngp8xsbc9pdsvc18h0k4c3vybvv3km88n";
+          rev = "a4db15583ea15cd7b62c706ea42a38bff9b418fb";
+          sha256 = "150snv08wv8fyzp3qif6yvfy1b24rrbdc50vzlz640rmcd6qhk59";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern";
@@ -68025,12 +68643,12 @@
     tern-auto-complete = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tern }:
     melpaBuild {
         pname = "tern-auto-complete";
-        version = "20160906.1204";
+        version = "20170521.1235";
         src = fetchFromGitHub {
           owner = "ternjs";
           repo = "tern";
-          rev = "a1cf72d9e2ed32ac3c75583cd9db75c5f981382d";
-          sha256 = "08njp03bcihb28sx0n5ngp8xsbc9pdsvc18h0k4c3vybvv3km88n";
+          rev = "a4db15583ea15cd7b62c706ea42a38bff9b418fb";
+          sha256 = "150snv08wv8fyzp3qif6yvfy1b24rrbdc50vzlz640rmcd6qhk59";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern-auto-complete";
@@ -68172,12 +68790,12 @@
     test-simple = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "test-simple";
-        version = "20170117.411";
+        version = "20170527.832";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-test-simple";
-          rev = "604942d36021a8b14877a0a640234a09c79e0927";
-          sha256 = "1ydbhd1xkwhd5zmas06rw7v5vzcmvri8gla3pyf2rcf2li5sz247";
+          rev = "b3b69f52207d3a8111421ad7ab9ed82abbe85316";
+          sha256 = "0n400nmz3iyp50sdd4gz0bmfn1sfq5p6a69yv4zd09ypa9gkndws";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a4b76e053faee299f5b770a0e41aa615bf5fbf10/recipes/test-simple";
@@ -68256,12 +68874,12 @@
     textx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "textx-mode";
-        version = "20170329.339";
+        version = "20170516.211";
         src = fetchFromGitHub {
           owner = "novakboskov";
           repo = "textx-mode";
-          rev = "cd47daf9737479ff06e2fa43fbb45ada2d7386e8";
-          sha256 = "165m6p18nzpqvdvx2a6hf94blsa2r947wdf1x6jicqflfpki45cx";
+          rev = "72f9f0c5855b382024f0da8f56833c22a70a5cb3";
+          sha256 = "1lr9v7dk0pnmpvdvs4m5d9yvxlii0xzr8b3akknm25gvbw1y1q8k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dada0378af342e0798c418032a8dcc7dfd80d600/recipes/textx-mode";
@@ -68459,12 +69077,12 @@
     thinks = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "thinks";
-        version = "20170418.854";
+        version = "20170607.144";
         src = fetchFromGitHub {
           owner = "davep";
           repo = "thinks.el";
-          rev = "f5a339b21cd5044f7b66beafab7c2d822c36f9e5";
-          sha256 = "1qjwzr9q98da25rf8hjgancb0k2kgr8xllhb4lhnqc8jsc4qnn5v";
+          rev = "7bdc418ff946d0cc9ea4cc73d38b3c71ffaa838d";
+          sha256 = "0wf3nikpnn0yivlmp6plyaiydm56mp3f91lljb1kay64nqgnfq65";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/439957cabf379651dc243219a83c3c96bae6f8cf/recipes/thinks";
@@ -68526,8 +69144,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "224c334e50a553504385dd001dadf31f7346b30a";
-          sha256 = "0xhpal5a8kap5ngn6p22i6ww1ha1d1yg44a47jfkgfbwx1fmykmj";
+          rev = "b8ee72de5bf9318d50846852082325d0f932682b";
+          sha256 = "0gaiy81zvhx6d7yfnxy0hlpb8q5crg312xhqxbx8lgw0m702k6a3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -68584,12 +69202,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20170509.1134";
+        version = "20170609.753";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "5f52ed822a80d140a3dc1ce993d75d301c24bf78";
-          sha256 = "15h1fvm17bw9mjx1pvasr99cmjqhlfhy9m6a9ws0r1il7fkwhnl1";
+          rev = "dda031ba33e1c61674c1c17861abef6b5c37fe28";
+          sha256 = "17r7vjpcj4wxq8zxvm5bzm8xg0y29ybgff608s8hq6vkbj5sflm2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -68927,12 +69545,12 @@
     toc-org = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "toc-org";
-        version = "20170404.15";
+        version = "20170518.451";
         src = fetchFromGitHub {
           owner = "snosov1";
           repo = "toc-org";
-          rev = "d30b57f16d158fa859b0626f5350520f3ee86f44";
-          sha256 = "0q0wshcxn60c87lml2fxrhikrj7zay48ijrwj334yzwp26dvm422";
+          rev = "5a8a3f9b3a1440eb207a031685b7f4d77ef05b76";
+          sha256 = "0cwc7l8vf6x62s7727a6zr099zxgbbgnqkb2y60js6bys2mxqv99";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1305d88eca984a66039444da1ea64f29f1950206/recipes/toc-org";
@@ -69340,12 +69958,12 @@
     traad = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, request, request-deferred, virtualenvwrapper }:
     melpaBuild {
         pname = "traad";
-        version = "20170302.613";
+        version = "20170528.2302";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-traad";
-          rev = "6d797f124fd4e037df7727d7696328a95748b9af";
-          sha256 = "1r3s7qjlf943h3wqc5plw0la0p54xmxzdj3iwaz9lymfxx6n3h72";
+          rev = "4b84b8b4cf43e1167b3d7fcc51eb7a16b62c26f1";
+          sha256 = "0mpx2wlw7fhqmgvya3vq7yfjqpab10wjbgpxyyd2ki15nwc4c0xd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2b3eb31c077fcaff94b74b757c1ce17650333943/recipes/traad";
@@ -69371,8 +69989,8 @@
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "1e90e5a89d07bd1584e990c35f5a9d564334a1ae";
-          sha256 = "13pv21bk4khq97a7km7gpj8rmwkmcb1y1nk72w35b9kipxv76vg2";
+          rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
+          sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
@@ -69574,6 +70192,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pfuture, s }:
+    melpaBuild {
+        pname = "treemacs";
+        version = "20170607.1239";
+        src = fetchFromGitHub {
+          owner = "Alexander-Miller";
+          repo = "treemacs";
+          rev = "d5878b0ed6da2a561aa795b31848e31e7c696197";
+          sha256 = "04d7l0v1s5fxcnr4iqdpb1908bayysga3z0sbcx7ia39kmcnp4l3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs";
+          sha256 = "1sg3m9l9l1xww6an2210bghlby5cljw2jxh7q0w8cwmcga7rr4jh";
+          name = "treemacs";
+        };
+        packageRequires = [ ace-window cl-lib dash emacs f pfuture s ];
+        meta = {
+          homepage = "https://melpa.org/#/treemacs";
+          license = lib.licenses.free;
+        };
+      }) {};
+    treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
+    melpaBuild {
+        pname = "treemacs-evil";
+        version = "20170604.315";
+        src = fetchFromGitHub {
+          owner = "Alexander-Miller";
+          repo = "treemacs";
+          rev = "d5878b0ed6da2a561aa795b31848e31e7c696197";
+          sha256 = "04d7l0v1s5fxcnr4iqdpb1908bayysga3z0sbcx7ia39kmcnp4l3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
+          sha256 = "146j4l2g40dhrv8nyfymxkajn19gvlkmirwv9ndvkvl3yy175vg3";
+          name = "treemacs-evil";
+        };
+        packageRequires = [ evil treemacs ];
+        meta = {
+          homepage = "https://melpa.org/#/treemacs-evil";
+          license = lib.licenses.free;
+        };
+      }) {};
     trident-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, skewer-mode, slime }:
     melpaBuild {
         pname = "trident-mode";
@@ -69764,12 +70424,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20170508.930";
+        version = "20170531.557";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "d1a7ce84c51a3dc5639ebb643bd7557a55c91f76";
-          sha256 = "056hdzh1kgy33s7pnqn59jwhrs5fqh8rzsxq4h3spadyyga33k36";
+          rev = "79bca7dc9254da190d821b504da4946df8c3d548";
+          sha256 = "02zjjq3nmmawmialhj95bz032a3ycyvzl5sgp7g37l7q3l0s63bc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -69848,12 +70508,12 @@
     turing-machine = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "turing-machine";
-        version = "20170505.804";
+        version = "20170512.1438";
         src = fetchFromGitHub {
           owner = "therockmandolinist";
           repo = "turing-machine";
-          rev = "41e367e54fbeff572f599f2f321ffc863601484e";
-          sha256 = "0qlm7y3pm8sfy36a8jc3cr955hqsmypzshbgxfnmcmz7wl96dplh";
+          rev = "4b5901a13b38028b05ce19cecc78bcd2f708f97d";
+          sha256 = "1avsqqpsbzlm0wi6fc5lgnmhps5wcr6gp05d4hw51sd5r0vx00dk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a003b40a52a92b3ab4d1ffc003f570d4fa6bfbde/recipes/turing-machine";
@@ -70037,12 +70697,12 @@
     typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typescript-mode";
-        version = "20170424.2231";
+        version = "20170530.953";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "typescript.el";
-          rev = "e0b4a6cb31750314e827bbc57de9a35558b34fd9";
-          sha256 = "0z9s1aacalc17inc6rxxmyp8ffwy4as0va96rwfmhq3lmhcbbclf";
+          rev = "9ad892fb2274decb637d12d81a8640d2c6cf11d3";
+          sha256 = "0ynnh3ac6zblcg2d0nf8fwdfmp5ymzjqncl64xa43m4lw24p6xng";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode";
@@ -70098,12 +70758,12 @@
     typit = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, mmt }:
     melpaBuild {
         pname = "typit";
-        version = "20170501.1427";
+        version = "20170519.51";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "typit";
-          rev = "96e3fda8c5db51ca511973f0e7a530eae26c752b";
-          sha256 = "17dv7qh1b93wvqw650asc6r0d6dx8kxwa2xkybza57vnrgr4mjaf";
+          rev = "a4e3147dedac5535bdc8b06aca00f34f14f26e35";
+          sha256 = "0hbnwrhxj9wwjvxsk372ffgjqfkb3ljxhgi5h7wps2r15dxfvf3w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d17d019155e19c156f123dcd702f18cfba488701/recipes/typit";
@@ -70243,12 +70903,12 @@
     ujelly-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ujelly-theme";
-        version = "20170506.941";
+        version = "20170607.206";
         src = fetchFromGitHub {
           owner = "marktran";
           repo = "color-theme-ujelly";
-          rev = "148a173441e7371a01382446d683bfb251f00cc7";
-          sha256 = "05bp1szqrbqh4hvd4gmhk9hfmki0xhib7z762bd4jabh6k68kap7";
+          rev = "e3a343991c0175092f27665fce9474e240f3f1f7";
+          sha256 = "0wmyym7aj0wr80ya1wif1ywmsy4pln4khyzcnfhd0xrp62pya2cv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/ujelly-theme";
@@ -70837,12 +71497,12 @@
     use-package = callPackage ({ bind-key, diminish, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "use-package";
-        version = "20170509.1157";
+        version = "20170524.2245";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "54ce52604477c237b663a02d49be9d6d307d49bd";
-          sha256 = "1rpyfbh0zp6a013nva2b1czis10mr8vzv52qlhgcfm78m48bvhya";
+          rev = "726eea13a3a4d75d630aac29d6b71d74d9dc69e3";
+          sha256 = "1r75ysdz6cj97vn46lj4g2a3hsab377f667a8bfs17rz007nddv4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3f9b52790e2a0bd579c24004873df5384e2ba549/recipes/use-package";
@@ -70883,8 +71543,8 @@
         src = fetchFromGitHub {
           owner = "diml";
           repo = "utop";
-          rev = "ea49d8e947e1cd5deeec813e78eba92ff5c6ff3b";
-          sha256 = "17x6bbflqicwk489mkwsqqkb97nriqbgv5shp8p87p7ykkpiw21d";
+          rev = "06460235d6f6ffd82dd2d973c2ad1004a4a2619b";
+          sha256 = "19ffqy52r52c7kjpb54flfilgnfkmxa7pkq5w0mw6xiaw3qvha2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@@ -71236,12 +71896,12 @@
     vdiff = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }:
     melpaBuild {
         pname = "vdiff";
-        version = "20170320.1805";
+        version = "20170525.1231";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-vdiff";
-          rev = "f11c7c2eeef33a0b75fe4e025818e7e672c57397";
-          sha256 = "1shkjk38piwrsn78bcy557zvm68xznlk4kg5l2fgiwfmmzdnvj13";
+          rev = "66ae1ac324d9ec7ef87abee38f260734f036cf3d";
+          sha256 = "0d8zam8p6qyzjr99n0jpmjav429qkjgg59gidmhgf0cbx2pyvy8s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e90f19c8fa4b0d267d269b76f117995e812e899c/recipes/vdiff";
@@ -71254,15 +71914,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    vdiff-magit = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, vdiff }:
+    melpaBuild {
+        pname = "vdiff-magit";
+        version = "20170519.1407";
+        src = fetchFromGitHub {
+          owner = "justbur";
+          repo = "emacs-vdiff-magit";
+          rev = "1ccf0a8be5aad18648fd59c775a8dd6070398b74";
+          sha256 = "1skcrpfgz2c9s9r2xvwanrvyczcqjgmjrwjm188d55l4pn8ylr83";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2159275fabde8ec8b297f6635546b1314d519b8b/recipes/vdiff-magit";
+          sha256 = "1vjc1r5xfdg9bmscgppx1fps1w5bd0zpp6ab5z5dxlg2zx2vdldw";
+          name = "vdiff-magit";
+        };
+        packageRequires = [ emacs magit vdiff ];
+        meta = {
+          homepage = "https://melpa.org/#/vdiff-magit";
+          license = lib.licenses.free;
+        };
+      }) {};
     vdirel = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, org-vcard, seq }:
     melpaBuild {
         pname = "vdirel";
-        version = "20161009.224";
+        version = "20170605.43";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "vdirel";
-          rev = "1f071902d4e2aea49e7e96a327e09712565cb39c";
-          sha256 = "0qkb7wx1qaa85g0dwmkyh4r65fg1j441f0b4hgg7qjq1yxrlkkhb";
+          rev = "a1e6ea3ed5faaf70667c62bc5591dc810331cb1a";
+          sha256 = "1z8q3akm0hq7z7nqclra1wv7a6m0cbskhnd3ca4v9wf9dajiwnsb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/72b5ea3f4444c3de73d986a28e1d12bf47c40246/recipes/vdirel";
@@ -71530,12 +72211,12 @@
     vimish-fold = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "vimish-fold";
-        version = "20161231.1600";
+        version = "20170606.539";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "vimish-fold";
-          rev = "1eb00dc2d803df411d7b2eae1c775eecc6512728";
-          sha256 = "1shxvnlpb3hw3pa7883nmpzjy2q6cyww3r8x4yx3h315nvxwxfkq";
+          rev = "527a1d9b9e031713c29f12d1a82f1fdac50c5610";
+          sha256 = "1k8m7b0h3qb5w0wvvjz8047xz71ljfj7kj4z5sv26rhsh5bsdb2s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4862b0a3d43f073e645803cbbf11d973a4b51d5/recipes/vimish-fold";
@@ -71885,12 +72566,12 @@
     vue-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode, ssass-mode, vue-html-mode }:
     melpaBuild {
         pname = "vue-mode";
-        version = "20170403.2159";
+        version = "20170514.2341";
         src = fetchFromGitHub {
           owner = "CodeFalling";
           repo = "vue-mode";
-          rev = "95ca5d13f55b7863fe187865c8c4f6e378af11a1";
-          sha256 = "18dxqfkgg2ii6ys6vsi2y7jx26rk3pwh1z3wnqpw225x2jzfz7rv";
+          rev = "35d803b19a302e7206d1a54db47b6dcbb674ce88";
+          sha256 = "1j7qvj653gf7dwimwl26zvz5ki04bp7vlkwcxqkc9fshcjm5py1q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2e5e0a9fff332aeec09f6d3d758e2b67dfdf8397/recipes/vue-mode";
@@ -72028,12 +72709,12 @@
     wakatime-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "wakatime-mode";
-        version = "20170324.2348";
+        version = "20170517.2053";
         src = fetchFromGitHub {
           owner = "wakatime";
           repo = "wakatime-mode";
-          rev = "7172a92df66a69537c849182c22404715ddd9bfe";
-          sha256 = "0scayq5vwxsilm90zbma8lc6fvmm6w7p3gfyphcvvsm93rx5601r";
+          rev = "b1eae15f38a367017e519c10837c44650631b154";
+          sha256 = "0l2nwjz978lamlikipljw143j40bnli7rzf9rixsia9iby4krl25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a46036a0e53afbebacafd3bc9545c99af79ccfcc/recipes/wakatime-mode";
@@ -72070,12 +72751,12 @@
     wandbox = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s }:
     melpaBuild {
         pname = "wandbox";
-        version = "20170425.1502";
+        version = "20170603.531";
         src = fetchFromGitHub {
           owner = "kosh04";
           repo = "emacs-wandbox";
-          rev = "c82a71e880cb701281dd96a9772bdad37a6eacf2";
-          sha256 = "0hdpy4rf0406615mx5w235dkz71v24qmr2ci5rlqmfv53si0gynj";
+          rev = "e002fe41f2cd9b4ce2b1dc80b83301176e9117f1";
+          sha256 = "0fnbj3k21lisgs94pf8z13cdymmclgpn994xq3xly4gq6l8k0an5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/wandbox";
@@ -72322,12 +73003,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20170510.1127";
+        version = "20170603.632";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "2ed2b26348326e3bf814fff6f3bca8440b4b7416";
-          sha256 = "18j0j5wq3ria0bllf6nfw97j4am1h2x51gxfn42hgdp027jdfn3j";
+          rev = "290f0ecb43dc6a636e45f55cf95c0d8fbda3fdc2";
+          sha256 = "00i697brchwdz3hviq2khhxcih7zi90dym1s5m9vk5azi2qly8ys";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -72424,22 +73105,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, request }:
+    webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "webpaste";
-        version = "20170510.1052";
+        version = "20170611.345";
         src = fetchFromGitHub {
           owner = "etu";
           repo = "webpaste.el";
-          rev = "f0a36e24cab482e3f33a9a70103f600b478f9c79";
-          sha256 = "0kb2485sb6p9sfj1fh9dkw7vhss8pp3l95sys1h25rklinjb8hkq";
+          rev = "90a96d21fc3c7edc7c339b343462696bfc6d21ff";
+          sha256 = "0q2fdxdlyfggrlgyfbq63n5k7qfjyr08cjy0k4i74sjphdss1bcl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste";
           sha256 = "1pqqapslb5wxfrf1ykrj5jxcl43pix17lawgdqrqkv5fyxbhmfpm";
           name = "webpaste";
         };
-        packageRequires = [ cl-lib emacs json request ];
+        packageRequires = [ cl-lib emacs request ];
         meta = {
           homepage = "https://melpa.org/#/webpaste";
           license = lib.licenses.free;
@@ -72448,12 +73129,12 @@
     websocket = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "websocket";
-        version = "20161113.1736";
+        version = "20170610.2117";
         src = fetchFromGitHub {
           owner = "ahyatt";
           repo = "emacs-websocket";
-          rev = "fbd9e2263d2d7168aae31d4f8bde38f511e9d2ec";
-          sha256 = "04kg6njw5frp9xafjyqff57m0a2r15r7c57mnb6dw6lgazxlscgb";
+          rev = "ccbe93ac8b5858a85686b83642fbd6e828a47deb";
+          sha256 = "18aw5pmvz91gv9wlmna1i5sli6z3f6dqk0bc4wkc15zbsi1dmdlw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket";
@@ -72557,8 +73238,8 @@
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-wgrep";
-          rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8";
-          sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz";
+          rev = "1cdd7c136f1e7565bb13d2df69be3dc77b83698d";
+          sha256 = "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep";
@@ -72578,8 +73259,8 @@
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-wgrep";
-          rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8";
-          sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz";
+          rev = "1cdd7c136f1e7565bb13d2df69be3dc77b83698d";
+          sha256 = "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep-ack";
@@ -72599,8 +73280,8 @@
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-wgrep";
-          rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8";
-          sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz";
+          rev = "1cdd7c136f1e7565bb13d2df69be3dc77b83698d";
+          sha256 = "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2c50b704343c4cac5e2a62a67e284ba6d8e15f8a/recipes/wgrep-ag";
@@ -72616,12 +73297,12 @@
     wgrep-helm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, wgrep }:
     melpaBuild {
         pname = "wgrep-helm";
-        version = "20140528.1427";
+        version = "20170510.1539";
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-wgrep";
-          rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8";
-          sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz";
+          rev = "1cdd7c136f1e7565bb13d2df69be3dc77b83698d";
+          sha256 = "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep-helm";
@@ -72641,8 +73322,8 @@
         src = fetchFromGitHub {
           owner = "mhayashi1120";
           repo = "Emacs-wgrep";
-          rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8";
-          sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz";
+          rev = "1cdd7c136f1e7565bb13d2df69be3dc77b83698d";
+          sha256 = "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c39faef3b9c2e1867cd48341d9878b714dbed4eb/recipes/wgrep-pt";
@@ -72679,12 +73360,12 @@
     which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "which-key";
-        version = "20170501.544";
+        version = "20170530.526";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-which-key";
-          rev = "9d2ba1bcba289fb81f92b797022b238c6b21f82e";
-          sha256 = "01hfp4arbzfklhrmv0va7h8g8ykzgr52qqp2kgn8cim937wdwy6w";
+          rev = "3144b4c1fc774b63fc2350a0171e8ef01ab63298";
+          sha256 = "1fyg4b5ngf4k30x9rb5n62w2y9awc1lasrszxp9bg6ydmigncans";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -72784,12 +73465,12 @@
     whizzml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "whizzml-mode";
-        version = "20161115.1720";
+        version = "20170525.818";
         src = fetchFromGitHub {
           owner = "whizzml";
           repo = "whizzml-mode";
-          rev = "b5804004fb35c603468054cf179f4dd6936c8882";
-          sha256 = "0x0cxwifqb8pv6j55iwxy7hdk0cvjz0zygayi494y4nhabcyp3kf";
+          rev = "92986cbb260642c129b049950036b2b6698a8bd9";
+          sha256 = "01mxjyan8bbjxl055f8zbsydsn01iszk3qi3668aa6i1m3vsz60h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/11f26b15c326c3b8541bac510579b32493916042/recipes/whizzml-mode";
@@ -73302,12 +73983,12 @@
     with-editor = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "with-editor";
-        version = "20170417.1458";
+        version = "20170517.1242";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "with-editor";
-          rev = "eb0083125eb69033d53374742fd4af7a850a97fb";
-          sha256 = "0i0cw68vv8w01jwlxvs4zjh2b72msjq358x3cv074mzv1ma3y3v1";
+          rev = "3385ffdc6faed5a283e26a7ebf89825c700dd395";
+          sha256 = "1kznr0zv1y6lwsllpksqjzq2f4bc5a99lg19fmifn7w0dhv6fn0m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
@@ -73638,12 +74319,12 @@
     writeroom-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, visual-fill-column }:
     melpaBuild {
         pname = "writeroom-mode";
-        version = "20170502.1252";
+        version = "20170528.639";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "writeroom-mode";
-          rev = "9ccb0512b0dc5da103d857ab4c9b187f3c800f8f";
-          sha256 = "0izs7h0wkzkq6071v1ic5gbxq5d4l63fs39cr2iz565qkrmda8v1";
+          rev = "d3252f54c8f9f37a19d6a21fb2291c3da7a7121a";
+          sha256 = "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode";
@@ -73827,12 +74508,12 @@
     xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-css-mode";
-        version = "20170312.151";
+        version = "20170517.1634";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-css-mode";
-          rev = "b710877056cc91641aff82d26af01db728131563";
-          sha256 = "0hmnbbdf2rsw24dspfbbdr0b0f4wlrrkw9pzc73dcn8y0pafavyg";
+          rev = "a5a19ee45b54eff7eeccd81b65ba42a0e9c7ba4c";
+          sha256 = "1x3vwqpbz06xg2wazg7skgsvgq36cs0445nrk2ahzvqknxh638vr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57c2e2112c4eb50ee6ebddef9c3d219cc5ced804/recipes/xah-css-mode";
@@ -73848,12 +74529,12 @@
     xah-elisp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-elisp-mode";
-        version = "20170127.1616";
+        version = "20170511.2126";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-elisp-mode";
-          rev = "c32bae59a8d8daf97769b1c57b70ef9fb8b2570c";
-          sha256 = "1gs6h8csy8yz3f6gvqn3lx3i6xdqrddfhg54m4g8c5yxz0202yyg";
+          rev = "7cd242de67d9567c343d5f530134759c2a8115d2";
+          sha256 = "10z2c1hbprgi2hil72g4w109namgns4mibgd4v8j9wggphjy8v6y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2e996dd5b0061371662490e0b21d3c5bb506550/recipes/xah-elisp-mode";
@@ -73890,12 +74571,12 @@
     xah-fly-keys = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-fly-keys";
-        version = "20170510.31";
+        version = "20170531.554";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-fly-keys";
-          rev = "db24e037b4d24b848cfceb4be058d973dcb9b569";
-          sha256 = "053yn6i0hcmyz6h8nfknhw4qrsdgz9jiblqxc7v5i81a6ng93mjk";
+          rev = "4d871873024520168572babd174adc203776c71c";
+          sha256 = "0xiyh9qam40c2by0qp26x8ki090z2yv0319qrn5d4lsz69ivnpy0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc1683be70d1388efa3ce00adc40510e595aef2b/recipes/xah-fly-keys";
@@ -73911,12 +74592,12 @@
     xah-get-thing = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-get-thing";
-        version = "20170303.1530";
+        version = "20170527.1806";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-get-thing-or-selection";
-          rev = "1eef698b7be06fa49347798089ca1e2ed8484da5";
-          sha256 = "0cysykwnwpy43mnx9fjiqk1r004ac6c7h92zhki8858bcgjnwzzk";
+          rev = "5adaf02b8a7464ffb81ae185edb48902a4c3a4d4";
+          sha256 = "16cxk55haln36m57pszxbbyx2h0dzdxagsj2zvm6i2nn0jhyy4v7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9e8dc32a5317f0ff0e72fa87220243dd742eb1ef/recipes/xah-get-thing";
@@ -73932,12 +74613,12 @@
     xah-lookup = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-lookup";
-        version = "20170227.1044";
+        version = "20170517.1459";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "lookup-word-on-internet";
-          rev = "4843663678db42827d12f2514f8ad4e2f4abcfb9";
-          sha256 = "1hr4m5lrwhx1jf8zlwpx60w9528vq49j0q8kzydlsb895nivnn3s";
+          rev = "3872d3273b472202052dfd63a7d8e388f9517830";
+          sha256 = "0krmxp55gbmbxmzkj293v7i9c9lfxji47g0cmfjiyhzzamz1kdgw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e6609a846a3c7781e0f03730b79bbf8d0355a9/recipes/xah-lookup";
@@ -74016,12 +74697,12 @@
     xahk-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xahk-mode";
-        version = "20161218.2311";
+        version = "20170523.1946";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xahk-mode.el";
-          rev = "24aa00cd0a8c47f7d8906379eeccbeca22c1a50b";
-          sha256 = "1npa30kp5jaqn7qmsca0a3ch0428l4n8w0hix0bvlfwr5s4zksfy";
+          rev = "538b891a1565d109d079185b56332cd28dd846a7";
+          sha256 = "1rm3sih1rciszs7m9d29r7vkgs8q2kwpn8sdwadlycgjmk9c38s1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3d6422756b435f59ead15fa7e8081f5c88b2e93f/recipes/xahk-mode";
@@ -74268,12 +74949,12 @@
     xquery-tool = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xquery-tool";
-        version = "20160823.902";
+        version = "20170605.126";
         src = fetchFromGitHub {
           owner = "paddymcall";
           repo = "xquery-tool.el";
-          rev = "b81b5862e8541aca5231840eb176afad7ab55cf3";
-          sha256 = "0dv3gl9djs9sbsg5mhdfnnv61ir9xccqijh7i2b82gq2j3lqhibm";
+          rev = "0d1e2960c48701b83be5255d56324f65a6ee182e";
+          sha256 = "0x6927x18nimh9rgnkl8dyc6r437a03byzscgg053lbg0cf2mqp1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc71e5ea4a0ecb006f62617f5b6caadc9b3c77b2/recipes/xquery-tool";
@@ -74289,12 +74970,12 @@
     xref-js2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "xref-js2";
-        version = "20160803.116";
+        version = "20170530.126";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "xref-js2";
-          rev = "031def02271fdbe2e0ab30515c7291a239fea4e6";
-          sha256 = "1i3gsv7npf6lg7hakky6yxn96aqjdlridj74l0vhj55j2w7ia6f8";
+          rev = "d5f93605405989529c2f66b542def6c32429b927";
+          sha256 = "1vzsw257xkqwlgfj8d5hnrirjhxzzs9d8ms40ihb2zwsxn70im53";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b5dab444ead98210b4ab3a6f9a61d013aed6d5b7/recipes/xref-js2";
@@ -74538,6 +75219,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    yahtzee = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "yahtzee";
+        version = "20170608.836";
+        src = fetchFromGitHub {
+          owner = "drdv";
+          repo = "yahtzee";
+          rev = "0a4c06ce68868133498e0ce1ab5efdf296fa4862";
+          sha256 = "12vmgn118bwrrjpp1a1s47zk1q80gx7pakjhll03vpsyw08yvg13";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/200169fdabce0ae3a2ecb6f4f3255c15ec3ed094/recipes/yahtzee";
+          sha256 = "1fnywiami9mszagmms27dmak6chcichdi7q70x5c6aimc4jb98jk";
+          name = "yahtzee";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/yahtzee";
+          license = lib.licenses.free;
+        };
+      }) {};
     yalinum = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yalinum";
@@ -74643,22 +75345,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    yankpad = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    yankpad = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yankpad";
-        version = "20170220.55";
+        version = "20170607.819";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "yankpad";
-          rev = "0f2af3671f5f3b879a2c9a3f521f1d4066889d58";
-          sha256 = "0qx98klmc40064si47s7ivvyx3vzki1skyjkxszi6gl8g5k0i1dl";
+          rev = "70e755fcf58e37092de2c335355eab93d5f1fb44";
+          sha256 = "1ijd3vpym573p96dh81pw9rzlmman7dvamhvnf0jqp8mmy4g4bml";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64746d10f9e0158621a7c4dc41dc2eca6ad573c/recipes/yankpad";
           sha256 = "1w5r9zk33cjgsmk45znfg32ym06nyqj5q3knr59jmn1fafx7a3z4";
           name = "yankpad";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/yankpad";
           license = lib.licenses.free;
@@ -74686,12 +75388,12 @@
     yapfify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yapfify";
-        version = "20170504.2218";
+        version = "20170519.115";
         src = fetchFromGitHub {
           owner = "JorisE";
           repo = "yapfify";
-          rev = "6bc89053a100f09f0568f67f3d47a3f94c392df2";
-          sha256 = "0mg94x6kx6wsql0r12pasb84dhq23gpzgk3n8i09w4qyjajhf20y";
+          rev = "492eb038b35f49b1012fb843d880bccc40f2260b";
+          sha256 = "1jj1j525xlwhylsysay52f4rdrwz3r72ghx4iggkxqiqbv919ia4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/060c32d8e9fdc56fe702d265a935d74d76082f86/recipes/yapfify";
@@ -74791,12 +75493,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20170418.351";
+        version = "20170605.1940";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "8797a31337895fe5fb29727c5ef289168a856a1b";
-          sha256 = "0qvr7gbvjhh4n7j5hqj424v8np17x2kdcs1nx49p2zg9hm6y04ap";
+          rev = "e8ed276e2cba90126f694a90df28b5f5eca66376";
+          sha256 = "0ripg5bvj4hj0y7qb35fdfg38fkqsvcxa977d24wbswmgcj08bjs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
@@ -74832,11 +75534,11 @@
       }) {};
     yatex = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "yatex";
-        version = "20170503.1833";
+        version = "20170603.725";
         src = fetchhg {
           url = "https://www.yatex.org/hgrepos/yatex/";
-          rev = "428584533eab";
-          sha256 = "1nrvlziqfsyvsk09ynpww99z4vb8zv8h2jxsslvx1nm1shyn2ckh";
+          rev = "c996fbcc2e79";
+          sha256 = "1ibj0dhpgxa143azr07wkmz86fip247cbk2s5fwj4nrj96z6cw9y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex";
@@ -74894,12 +75596,12 @@
     ycmd = callPackage ({ cl-lib ? null, dash, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, request, request-deferred, s }:
     melpaBuild {
         pname = "ycmd";
-        version = "20170509.2303";
+        version = "20170515.2255";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "05f0409fb7902daf49b4cd329e5c9ef569d77689";
-          sha256 = "0mp05xsphbidjgskp2pnv2x54z95dzmvfwdddpgmysmc99sz305y";
+          rev = "29aba538be5e44da81ad76a6078bb65c1c5e1aa6";
+          sha256 = "0fpccpiwwsxg0asdzg0m5hlwdv6jyr7khywnd1rb6kvr8m2qm0hf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd";
@@ -75092,12 +75794,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "20170430.758";
+        version = "20170511.1337";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "a035b214d6862289f8e0b1bf9fc737222da6b4a3";
-          sha256 = "0wkcgm9n56ws8frw7zsdhvibzr5xmzg4in8bbfw3rr8na9ggvhh3";
+          rev = "2f31ef9a954ec08202668a8d1b004db5a05831a2";
+          sha256 = "0g4vgdzpbp0l734ajd1r9lj6qylljxaazk139lhzzyvmqd5dwaf9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -75154,12 +75856,12 @@
     zerodark-theme = callPackage ({ all-the-icons, fetchFromGitHub, fetchurl, flycheck, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "zerodark-theme";
-        version = "20170505.439";
+        version = "20170607.1301";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "zerodark-theme";
-          rev = "60615d101769694038b17a2c75bb31c26f36a042";
-          sha256 = "09fpyhprmavv1fa97wa7lf182nhiw0797rh73xbhf7xhn1c22gbj";
+          rev = "ab406749083a41e5ca7fe518949a09853f23e5d5";
+          sha256 = "0kanprhczqx14gn87wjwi9x4fg6dn7i64awbwsls4r5nkqf4ykn0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/72ef967a9bea2e100ae17aad1a88db95820f4f6a/recipes/zerodark-theme";
@@ -75363,10 +76065,10 @@
       }) {};
     zones = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "zones";
-        version = "20170309.1440";
+        version = "20170605.1046";
         src = fetchurl {
-          url = "https://www.emacswiki.org/emacs/download/zones.el?revision=28";
-          sha256 = "1mgfv9q4mwng0cqni13kmsridbfqsw66z5cgynlrvagga6v94bq0";
+          url = "https://www.emacswiki.org/emacs/download/zones.el?revision=30";
+          sha256 = "05my99nn7pj5alswfhd11kkyibivqh65bhjfalbfv7flfmvg6pcz";
           name = "zones.el";
         };
         recipeFile = fetchurl {
@@ -75550,11 +76252,11 @@
     zpresent = callPackage ({ dash, emacs, fetchhg, fetchurl, lib, melpaBuild, org-parser }:
     melpaBuild {
         pname = "zpresent";
-        version = "20170420.2233";
+        version = "20170608.2201";
         src = fetchhg {
           url = "https://bitbucket.com/zck/zpresent.el";
-          rev = "f3a17c2b58c0";
-          sha256 = "1ra92piwxv5knlc79pj4n4dv895bdz5nv4pf8zd0k1rirn6qj6sa";
+          rev = "66d2f665daa1";
+          sha256 = "1fgggwivp405qm0nvbqk8vrnprimg336mcv3am37yavi9da48fi8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae38ad54490fa650c832fb7d22e2c73b0fb060/recipes/zpresent";
@@ -75633,12 +76335,12 @@
     zzz-to-char = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zzz-to-char";
-        version = "20161231.1557";
+        version = "20170519.335";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "zzz-to-char";
-          rev = "aaa854efb6b9e4451e97dfe90d37f368ff868b9e";
-          sha256 = "1k66wsbgb7fqb5mbani0lzffy3yf0801rlgxwbkj34ciblz6a197";
+          rev = "b62414b155fe2e09d91b70059a909d1403d89acf";
+          sha256 = "07a086s3fpncr4plkmr89vghn7xwji9k69m64ri7i1vhnnl6q4zj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7063cbc1f1501ce81552d7ef1d42d1309f547c42/recipes/zzz-to-char";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 8ac454a5047..f156494b83f 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -212,12 +212,12 @@
     ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }:
     melpaBuild {
         pname = "ac-clang";
-        version = "1.9.0";
+        version = "1.9.2";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "ac-clang";
-          rev = "c4aab21df64011916039e18094e189533018e115";
-          sha256 = "1ac8rw0r4x1plrwy6xwswy5mj5h1r975y8wvx01g2j8an41xhlms";
+          rev = "8fdfbbebf096017ab45cedcff2c43a0a5d8b9686";
+          sha256 = "0ik1hh8qs5yjb034zc93fyd6la84mgp6y5gzvpz6rfbjfxy6vf3y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang";
@@ -587,6 +587,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
+    melpaBuild {
+        pname = "ac-rtags";
+        version = "2.10";
+        src = fetchFromGitHub {
+          owner = "Andersbakken";
+          repo = "rtags";
+          rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
+          sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
+          sha256 = "1w9v32di9135mm598c4506gxf0xr5jyz8dyd9dhga5d60q7g9641";
+          name = "ac-rtags";
+        };
+        packageRequires = [ auto-complete rtags ];
+        meta = {
+          homepage = "https://melpa.org/#/ac-rtags";
+          license = lib.licenses.free;
+        };
+      }) {};
     ac-slime = callPackage ({ auto-complete, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }:
     melpaBuild {
         pname = "ac-slime";
@@ -779,12 +800,12 @@
     ace-popup-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-popup-menu";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ace-popup-menu";
-          rev = "3e771b470b0c633d7633dceec054fc05beac81f0";
-          sha256 = "1qiiivkwa95bhyym8ly7fnwwglc9dcifkyr314bsq8m4rp1mgry4";
+          rev = "e7cc8bace9dda5c9fbe545c6fbd41c12679c3d7d";
+          sha256 = "1khqh5b9c7ass3q2gc04ayc8idanabkyfpaqvfnag063x16fv40c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/53742e2242101c4b3b3901f5c74e24facf62c7d6/recipes/ace-popup-menu";
@@ -863,12 +884,12 @@
     add-hooks = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "add-hooks";
-        version = "2.2.0";
+        version = "3.0.0";
         src = fetchFromGitHub {
           owner = "nickmccurdy";
           repo = "add-hooks";
-          rev = "fa88bfc17c01f526a156a45ad00fa66cc0909805";
-          sha256 = "0jq9gywg6zvlv8rmvw5vv3228y0k4pk1bczygiwfmav13g0dnb1k";
+          rev = "9b1bdb91c59ea9c2cc0aba48262c49069273d856";
+          sha256 = "1jzgyfcr6m64q79qibnbqa41sbpivslwk2hygbk9yp46l5vgj1hc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/901f846aef46d512dc0a1770bab7f07c0ae330cd/recipes/add-hooks";
@@ -884,12 +905,12 @@
     add-node-modules-path = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "add-node-modules-path";
-        version = "1.0.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "codesuki";
           repo = "add-node-modules-path";
-          rev = "9ed240e05dcb9628ba380151b54b02688be5e78e";
-          sha256 = "0avv3ypdpscchq9n1lxs0ba0fc52zjyv7dbv54s7sclqxx4mi63k";
+          rev = "8eef7fa6765af1716fc21db08f19f3d3e9b68998";
+          sha256 = "1dm2gdhs9zy5jqhbqipdgzfj24mrzxz064ax9l2dg0lqylk1dc0q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63e99d8fc0678d7b1831cae8940e9e6547780861/recipes/add-node-modules-path";
@@ -1157,12 +1178,12 @@
     all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild, memoize }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "2.6.2";
+        version = "2.6.4";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "f21e1004e0e115a73e503b92e8a4faf656fa413a";
-          sha256 = "022pk57dszg253bk7q5p0sp91ihc7dnyvky49b73gwcm77jgrjzd";
+          rev = "7134b7467a7061b57c8cda3503e9644d4ed92a2a";
+          sha256 = "0xwj8wyj0ywpy4rcqxz15hkr8jnffn7nrp5fnq56j360v8858q8x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
@@ -1645,22 +1666,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    apib-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
+    apib-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "apib-mode";
-        version = "0.6";
+        version = "0.7";
         src = fetchFromGitHub {
           owner = "w-vi";
           repo = "apib-mode";
-          rev = "18aebab7cd61b9d296b7d5d2de0c828e2058c906";
-          sha256 = "0sj948j4s26sxxandjzjjzmjqma7vf86msyyi23gsljy1q28vwlf";
+          rev = "6cc7c6f21b8e415b1718bb6a07ab2182e9e9dde6";
+          sha256 = "1717f78kaqkmbhfwb9kzsv5wi2zabcbwb4wh1jklhcaalvmk3z7d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ebb04f975d8226a76260895399c937d6a1940/recipes/apib-mode";
           sha256 = "0y3n0xmyc4gkypq07v4sp0i6291qaj2m13zkg6mxp61zm669v2fb";
           name = "apib-mode";
         };
-        packageRequires = [ emacs markdown-mode ];
+        packageRequires = [ markdown-mode ];
         meta = {
           homepage = "https://melpa.org/#/apib-mode";
           license = lib.licenses.free;
@@ -2320,12 +2341,12 @@
     avy-menu = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avy-menu";
-        version = "0.1.0";
+        version = "0.1.1";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "avy-menu";
-          rev = "9b8c6be09487dd3e804a10761266c4f22923eb9c";
-          sha256 = "1564yv9330vjymw3xnikc2lz20f65n40fbl8m1zs1gp4nlgzkk38";
+          rev = "71b71e64900d0637e17013781042e086e9bf56e7";
+          sha256 = "1mxrq2fpx3qa9vy121wnv02r43sb7djc2j8z7c2vh8x56h8bpial";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0b4cfb30c405d44803b36ebcaccef0cf87fe2d/recipes/avy-menu";
@@ -3250,12 +3271,12 @@
     buttercup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "buttercup";
-        version = "1.6";
+        version = "1.7";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "emacs-buttercup";
-          rev = "c95b95fe8d93eeed510c281990842718a21e53b3";
-          sha256 = "077hxzichvr406m9grdxjf31k0l33g6wh9zdvx73f7crsmzxhkzy";
+          rev = "d8dc80da12cc1e71fcf54b0f4deb8d229bc97beb";
+          sha256 = "0zsf2qk41i1ay6h85d1ppj5qnzdrb9n09bzj9s9hk7ysag1rlqj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup";
@@ -3667,6 +3688,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ceylon-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ceylon-mode";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "lucaswerkmeister";
+          repo = "ceylon-mode";
+          rev = "00f790b3ed5ec48e2461e20a4d466ba45c634e13";
+          sha256 = "08zk6aspy59gv3989zxz0ibxxwkbjasa83ilpzvpcwszrzq8x640";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/09cd1a2ccf33b209a470780a66d54e1b1d597a86/recipes/ceylon-mode";
+          sha256 = "0dgqmmb8qmvzn557h0fw1mx4y0p96870l8f8glizkk3fifg7wgq4";
+          name = "ceylon-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ceylon-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     cfengine-code-style = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cfengine-code-style";
@@ -3712,12 +3754,12 @@
     char-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "char-menu";
-        version = "0.1.0";
+        version = "0.1.1";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "char-menu";
-          rev = "5bdd7e880f89f27dbabe11def0fd31225b7f1c0a";
-          sha256 = "0vb03k10i8vwy5wv65xl15kcsh9zz4y2xhpgndih87ssckdnhhlw";
+          rev = "f4d8bf8fa6787e2aaca2ccda5223646541d7a4b2";
+          sha256 = "0zyi1ha17jk3zz7nirasrrx43j3jkrsfz7ypbc4mk44w7hsvx2hj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f6676747e853045b3b19e7fc9524c793c6a08303/recipes/char-menu";
@@ -3751,6 +3793,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    chatwork = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "chatwork";
+        version = "0.3";
+        src = fetchFromGitHub {
+          owner = "ataka";
+          repo = "chatwork";
+          rev = "fea231d479f06bf40dbfcf45de143eecc9ed744c";
+          sha256 = "163xr18lm4awfgh4lcp7pr04jirpvlk8w1g4445zbxbpjfvv268z";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/77ae72e62b8771e890525c063522e7091ca8f674/recipes/chatwork";
+          sha256 = "0p71swcpfqbx2zmp5nh57f0m30cn68g3019005wa5x4fg7dx746p";
+          name = "chatwork";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/chatwork";
+          license = lib.licenses.free;
+        };
+      }) {};
+    cheat-sh = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "cheat-sh";
+        version = "1.3";
+        src = fetchFromGitHub {
+          owner = "davep";
+          repo = "cheat-sh.el";
+          rev = "760cff945839a8397d44ac95aeec94cc28a51691";
+          sha256 = "10rr4bnhq2rjd6bx2r0d3cxa7ixk4la58agg5a83y3z52a673rqv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ebac62fb3828d81e30145b9948d60e781e20eda2/recipes/cheat-sh";
+          sha256 = "0f6wqyh3c3ap0l6khikqlw8sqqi6fsl468gn157faza4x63j9z80";
+          name = "cheat-sh";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/cheat-sh";
+          license = lib.licenses.free;
+        };
+      }) {};
     checkbox = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "checkbox";
@@ -3964,12 +4048,12 @@
     circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "circe";
-        version = "2.4";
+        version = "2.5";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "87f2d8604e41c6caf68cff3fcf61b1f4d4e8a961";
-          sha256 = "19mjzws9hiqhaa8v0wxa369m3qzam2axvhcqcrggdjjsr7hyhvwr";
+          rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
+          sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
@@ -4108,15 +4192,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    clj-refactor = callPackage ({ cider, dash, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, yasnippet }:
+    clj-refactor = callPackage ({ cider, clojure-mode, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, seq, yasnippet }:
     melpaBuild {
         pname = "clj-refactor";
-        version = "2.2.0";
+        version = "2.3.1";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clj-refactor.el";
-          rev = "531a09fda51c9043efe18fd1f288be21ced3f3d1";
-          sha256 = "0qjj40h8ryrs02rj73hkyhcjxdz926qxgvnjidav3sw2ggn8vdl3";
+          rev = "9005de31ed05122d3db9f503fbc69722abf3634b";
+          sha256 = "1pvxwvx36fl971j9dfhfk33sqg70nsw57brsi6kgphq7dgzmv7dk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor";
@@ -4125,7 +4209,7 @@
         };
         packageRequires = [
           cider
-          dash
+          clojure-mode
           edn
           emacs
           hydra
@@ -4133,6 +4217,7 @@
           multiple-cursors
           paredit
           s
+          seq
           yasnippet
         ];
         meta = {
@@ -4374,12 +4459,12 @@
     cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cmake-mode";
-        version = "3.8.1";
+        version = "3.9.0pre2";
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "8bd6af0d6386d1e0b26ff594b7d42621d67b5985";
-          sha256 = "10rij858aq3hdkdpackhmpmqj3zlfahc3jbfjffk2yicnwmnkb6s";
+          rev = "010b50fda71feaff3abec4d13910f4a4bd1f13b0";
+          sha256 = "0b77hm5l18fbzphg3wcdzrblbhh65wx7c1b98driky1634kn9j10";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -4605,12 +4690,12 @@
     common-lisp-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "common-lisp-snippets";
-        version = "0.1.1";
+        version = "0.1.2";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "common-lisp-snippets";
-          rev = "3b2b50fda8b1526d45a74e3d30f560d6b6bbb284";
-          sha256 = "1cc9ak9193m92g6l4mrfxbkkmvljl3c51d0xzdidwww978q3x6ad";
+          rev = "fc5c2683952328927a6d1c1f2694b85ddf7e9053";
+          sha256 = "1835kg05794p1wdi7fsmpzlnnqy79dgfnfrxjfjj2j1gzcwmynsw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/48d0166ccd3dcdd3df4719349778c6c5ab6872ca/recipes/common-lisp-snippets";
@@ -4878,12 +4963,12 @@
     company-irony = callPackage ({ cl-lib ? null, company, emacs, fetchFromGitHub, fetchurl, irony, lib, melpaBuild }:
     melpaBuild {
         pname = "company-irony";
-        version = "0.1.1";
+        version = "1.0.0";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "company-irony";
-          rev = "c09f66c26bdd0dda007559a5c9bccfca0bd49ccd";
-          sha256 = "17zi0xx8p2diwy1wgrhl6j8p57alwz24rjpz4apyyrqjk09ippq4";
+          rev = "cebd82506c59d21a9c436bd8e8a33dfa8be84955";
+          sha256 = "09mzxyvp07qwdhxagyiggpccxsklkbhjg730q6wbqd13g1mlkryj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/company-irony";
@@ -5070,43 +5155,43 @@
           license = lib.licenses.free;
         };
       }) {};
-    company-rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "company-rtags";
-        version = "2.9";
+        version = "2.10";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936";
-          sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv";
+          rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
+          sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
           sha256 = "0dicxbp3xn02pflrpfndj7hs494prvz64llsk1xpc2z23kfarp6f";
           name = "company-rtags";
         };
-        packageRequires = [];
+        packageRequires = [ company emacs rtags ];
         meta = {
           homepage = "https://melpa.org/#/company-rtags";
           license = lib.licenses.free;
         };
       }) {};
-    company-shell = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    company-shell = callPackage ({ cl-lib ? null, company, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-shell";
-        version = "1.0";
+        version = "1.2.1";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "company-shell";
-          rev = "40599df46a7e4b7b1ef5ad6e23764dda8510bbf4";
-          sha256 = "1qnlqwifrlbzcsi1lf1s7c32v6szpi5n6ngmj2lmdyic2b3pv1id";
+          rev = "acdbf8cba6ad9831d81a77bab7bbfd50f19edd86";
+          sha256 = "1dk927da7g4a39sva9bda978bx6hpiz5kf341fj8sb7xhryvh5r2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bbaa05d158f3806b9f79a2c826763166dbee56ca/recipes/company-shell";
           sha256 = "0my9jghf3s4idkgrpki8mj1lm5ichfvznb09lfwf07fjhg0q1apz";
           name = "company-shell";
         };
-        packageRequires = [ cl-lib company dash ];
+        packageRequires = [ cl-lib company dash emacs ];
         meta = {
           homepage = "https://melpa.org/#/company-shell";
           license = lib.licenses.free;
@@ -5262,12 +5347,12 @@
     concurrent = callPackage ({ deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "concurrent";
-        version = "0.5.0";
+        version = "0.5.1";
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-deferred";
-          rev = "9668749635472a63e7a9282e2124325405199b79";
-          sha256 = "1ch5br9alvwcpijl9g8w5ypjrah29alpfpk4hjw23rwzyq5p4izq";
+          rev = "d012a1ab50edcc2c44e3e49006f054dbff47cb6c";
+          sha256 = "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc29a8d518ce7a584277089bd4654f52ac0f358/recipes/concurrent";
@@ -5367,12 +5452,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "0.0.5";
+        version = "0.0.6";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
-          sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
+          rev = "fba9fe57a310a71c5aac90a26434df4c08214833";
+          sha256 = "1qh3qxy8p23nz0zh8iavggjhp0mn10finq3zl3i0a3vkxxrvgh76";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -5826,6 +5911,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    cubicaltt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "cubicaltt";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "mortberg";
+          repo = "cubicaltt";
+          rev = "3257eadf70826fb3ef060c46f85b7a4d60464b1d";
+          sha256 = "1c5nfzsj4bi2rk3d3r2iw03kkpc5dg9p3q3xzj7cxfg2wmg1xaxk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt";
+          sha256 = "1wgy6965cnw201wx4a2pn71sa40mh2712y0d0470klr156krj0n9";
+          name = "cubicaltt";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/cubicaltt";
+          license = lib.licenses.free;
+        };
+      }) {};
     cuda-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cuda-mode";
@@ -5850,12 +5956,12 @@
     cyberpunk-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cyberpunk-theme";
-        version = "1.18";
+        version = "1.19";
         src = fetchFromGitHub {
           owner = "n3mo";
           repo = "cyberpunk-theme.el";
-          rev = "bec963abce7a208ec192a8349ed0b8e1ac3b3041";
-          sha256 = "1adbws88113lfm5ljahms12aji1swip732l7pamxwibfywhgpn2f";
+          rev = "8c3cc39bcff5def0d476c080b5248436da7f990f";
+          sha256 = "1npwrw3pgdmvqhihcqcfi2yrs178iiip5fcj8zhpp6cr9yqsvvgi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4c632d1e501d48dab54432ab111ce589aa229125/recipes/cyberpunk-theme";
@@ -5871,12 +5977,12 @@
     cyphejor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cyphejor";
-        version = "0.1.1";
+        version = "0.1.2";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "cyphejor";
-          rev = "9e1cdaaaf86f3acae074e40d96de008115d81ef9";
-          sha256 = "04add8i0g4x5kzi1yd49i5viq9i2f5r5gzq33k05q6rimsp2ga02";
+          rev = "d7842388a1872b165489624a1a68f536de97e28d";
+          sha256 = "1gi7rp0vf3iahljzjhs3rj9c0rvfcfs93hr8a3hl0ch3h9qq8ng2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ad7cacfa39d8f85e26372ef21898663aebb68e43/recipes/cyphejor";
@@ -5972,7 +6078,6 @@
           homepage = "https://melpa.org/#/darcula-theme";
           license = lib.licenses.free;
         };
-      }) {};
     darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
@@ -5994,6 +6099,7 @@
           license = lib.licenses.free;
         };
       }) {};
+      }) {};
     dart-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "dart-mode";
@@ -6228,12 +6334,12 @@
     deferred = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "deferred";
-        version = "0.5.0";
+        version = "0.5.1";
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-deferred";
-          rev = "9668749635472a63e7a9282e2124325405199b79";
-          sha256 = "1ch5br9alvwcpijl9g8w5ypjrah29alpfpk4hjw23rwzyq5p4izq";
+          rev = "d012a1ab50edcc2c44e3e49006f054dbff47cb6c";
+          sha256 = "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/deferred";
@@ -7097,13 +7203,13 @@
         version = "1.2.5";
         src = fetchFromGitHub {
           owner = "hlissner";
-          repo = "emacs-doom-theme";
+          repo = "emacs-doom-themes";
           rev = "d04875c9c7ce21d5f51dfc541a5d03efddac7728";
           sha256 = "0lfldrsfldrnw9g59dnsmyyp7j3v3kqv0d39h4kzs9dhm5v9dpbr";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/73fd9f3c2352ea1af49166c2fe586d0410614081/recipes/doom-themes";
-          sha256 = "1ckr8rv1i101kynnx666lm7qa73jf9i5lppgwmhlc76lisg07cik";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
+          sha256 = "0plqhis9ki3ck1pbv4hiqk4x428fps8qsfx72mamdayyx2nncdrs";
           name = "doom-themes";
         };
         packageRequires = [ all-the-icons cl-lib emacs ];
@@ -7307,8 +7413,8 @@
         version = "0.7";
         src = fetchhg {
           url = "https://bitbucket.com/harsman/dyalog-mode";
-          rev = "2c70af4813fc";
-          sha256 = "0brhk5q0jdb3p9nlsfk2bjixqymy4lmrqha138idpx47ka7cjsvn";
+          rev = "56fa34ea25d4";
+          sha256 = "1hk7i557m0m42zdg59z278cylglnp49dr8wa3zbdwzk2xzdg0m00";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode";
@@ -7492,12 +7598,12 @@
     easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-hugo";
-        version = "0.6.6";
+        version = "0.9.9";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "5ea62c254c61fcad89d1620ce40b6fda65586d65";
-          sha256 = "0p961msrkqxc99rkjdy79x1pdns4dfbvdmv8yl0zi4ib3b07qar1";
+          rev = "451a37fb2e1f36d85a85973d4c41c7a249263f62";
+          sha256 = "1s89qs13bnyqmsm7rfzk69hvnh170v2hpbh5adjiicwg3my05dis";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@@ -7576,12 +7682,12 @@
     ebal = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ebal";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ebal";
-          rev = "4d2ffa7ffbdfd6ee8a39a268e7c7c0de0905df6b";
-          sha256 = "0ysym38xaqyx1wc7xd3fvjm62dmiq4727dnjvyxv7hs4czff1gcb";
+          rev = "2d274ee56d5a61152e846f9a759ebccd70dc8eb1";
+          sha256 = "15hygzw52w5c10hh3gq0hzs499h8zkn1ns80hb2q02cn9hyy962q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/629aa451162a0085488caad4052a56366b7ce392/recipes/ebal";
@@ -7618,12 +7724,12 @@
     ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, seq }:
     melpaBuild {
         pname = "ebib";
-        version = "2.10.2";
+        version = "2.11.3";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "ebib";
-          rev = "558097220099505994b7e9a2ea9e1208da6c5668";
-          sha256 = "1v9x69jzsfl7kh5nnbax218xykylz6ib0f73f9yrsjbmgap3fvva";
+          rev = "ee28c043492a550c68ca2f465042cd51ef150b9e";
+          sha256 = "0jzw313hn7srr9mhwygl56iibx0wxra4php6pk9isbl338cw3gv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib";
@@ -7849,12 +7955,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "0.7.9";
+        version = "0.7.10";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "b86a4b3a696328faaa37a808abeed54561d19385";
-          sha256 = "0ak5rw3y9cqggyclf9qddqrg9kzl50r5ynk9f99xjmsn2mpw6dwj";
+          rev = "1543835ce00412c3cd34a61497af5f68ead250a6";
+          sha256 = "1c516972gx1rvlixdl6mgknx6vx1m4hbzbz3x43pzlg0mn31yn01";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -7991,22 +8097,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    ein = callPackage ({ cl-generic, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }:
+    ein = callPackage ({ cl-generic, dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "0.12.2";
+        version = "0.12.7";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "0ede9e7ef64017039748b8f47de4df834b0443ed";
-          sha256 = "03fm7lhfzrhn4dddlhqx6v1dqfgz6rj352y0znnfdaskzychw1sa";
+          rev = "334bb4600051d96d5eb82655e6e2c2ef926e701e";
+          sha256 = "07h3za6cwznmgwm5854yyc3paidbjlpwsj71ii7qlga7j00b7ak2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
           sha256 = "14blq1cbrp00rq0ilk7z9qppqfj0r4n3jidw3abcpchvh5ln086r";
           name = "ein";
         };
-        packageRequires = [ cl-generic request websocket ];
+        packageRequires = [ cl-generic dash deferred request websocket ];
         meta = {
           homepage = "https://melpa.org/#/ein";
           license = lib.licenses.free;
@@ -8519,12 +8625,12 @@
     elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "1.15.0";
+        version = "1.15.1";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "574605dce756e878457164817e6d63d915008a84";
-          sha256 = "1q8ll1sxdvxgd6mqwz55bv2zwxgz2rqlzyk2xksnh9sna4bhr6xv";
+          rev = "55ee3d57872c87cb640abd5d63ac1887f9e8dc5d";
+          sha256 = "0866l17sqq2p7bla2krg10y70wgsxf158kashcgschfr0h2f7r1i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -9465,12 +9571,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20.0pre1";
+        version = "20.0pre2";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "4f03eba5294f1c1bc922b07f1267e6b0099fd4b5";
-          sha256 = "0ryi6r4ahh5dsl04nqgqhzymzm9krxr0kf4r3v3xg1yzw6d4g2a8";
+          rev = "d106c5fffb3832fffbdf99cca905390fe15d489f";
+          sha256 = "14hgl356fjkbx056fqhjif4kjs05ih08r9mi9qj58k0hxpva2l8c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -9734,6 +9840,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    eslint-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "eslint-fix";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "codesuki";
+          repo = "eslint-fix";
+          rev = "be90d1e78b1dfd43b6b3b1c06868539e2ac27d3a";
+          sha256 = "1l7pm0ywjby0giilyn6qsz1zh54sgmvmii7y9jhrva13c5kgg9an";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eslint-fix";
+          sha256 = "0ry271jlv95nhdqx6qxmvkpa10lpwkg1q6asnliviwplq2mxw2da";
+          name = "eslint-fix";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/eslint-fix";
+          license = lib.licenses.free;
+        };
+      }) {};
     eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eslintd-fix";
@@ -10369,14 +10496,14 @@
         pname = "evil-org";
         version = "0.1.1";
         src = fetchFromGitHub {
-          owner = "edwtjo";
+          owner = "Somelauw";
           repo = "evil-org-mode";
           rev = "2d7c58dbeca0d4ac7b4eab5f47b77946951f27e9";
           sha256 = "09l0ph9rc941kr718zq0dw27fq6l7rb0h2003ihw7q0a5yr8fpk7";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/evil-org";
-          sha256 = "1306pf5ws7acdanypn3c0r4yh5wxdf0knl6j3hhs4ys9zszd79bw";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1768558ed0a0249421437b66fe45018dd768e637/recipes/evil-org";
+          sha256 = "18glpsnpxap4dvnvkl59h9pnwlp20libsfbbkmvrbzsvbdyspg6z";
           name = "evil-org";
         };
         packageRequires = [ evil org ];
@@ -10432,14 +10559,14 @@
         pname = "evil-search-highlight-persist";
         version = "1.8";
         src = fetchFromGitHub {
-          owner = "juanjux";
+          owner = "naclander";
           repo = "evil-search-highlight-persist";
           rev = "0e2b3d4e3dec5f38ae95f62519eb2736f73c0b85";
           sha256 = "1jfi2k9dm0cc9bx8klppm965ydhdw17a2n664199vhxrap6g27yk";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/91361f95852910968b395423e16377c70189fc55/recipes/evil-search-highlight-persist";
-          sha256 = "0iia136js364iygi1mydyzwvizhic6w5z9pbwmhva4654pq8dzqy";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f2e91974ddb219c88229782b70ade7e14f20c0b5/recipes/evil-search-highlight-persist";
+          sha256 = "08l8ymrp9vkpwprq9gp4562yvcnd4hfc3z7n4n5lz7h6ffv3zym3";
           name = "evil-search-highlight-persist";
         };
         packageRequires = [ highlight ];
@@ -10516,14 +10643,14 @@
         pname = "evil-surround";
         version = "1.0.0";
         src = fetchFromGitHub {
-          owner = "timcharper";
+          owner = "emacs-evil";
           repo = "evil-surround";
           rev = "7a0358ce3eb9ed01744170fa8a1e12d98f8b8839";
           sha256 = "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/da8b46729f3bd9aa74c4f0ee2a9dc60804aa661c/recipes/evil-surround";
-          sha256 = "1bcjxw0yrk2bqj5ihl5r2c4id0m9wbnj7fpd0wwmw9444xvwp8ag";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2c9dc47a4c837c44429a74fd998fe468c00639f2/recipes/evil-surround";
+          sha256 = "0aphv5zinb0lzdx22qbzcr7fn6jbpkdczar7py3df6mzxw5wvcm1";
           name = "evil-surround";
         };
         packageRequires = [ evil ];
@@ -10828,12 +10955,12 @@
     exwm-x = callPackage ({ cl-lib ? null, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper, switch-window }:
     melpaBuild {
         pname = "exwm-x";
-        version = "0.7.1";
+        version = "1.0";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "exwm-x";
-          rev = "503051b19858ede766c4987f65e7c375d0200e3b";
-          sha256 = "0m0fhi5pxq43kyl4shqz199x6mnwyxjk62z338vlmd6g8izlg5j7";
+          rev = "47952c09e74fc0da3135e7ba0d4fef0eb88f98dc";
+          sha256 = "14mf388iygirlv7j5db2x5avn70b54mm34kd3y851n6i6yzgz7jw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x";
@@ -11164,12 +11291,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "5.3.0";
+        version = "5.3.2";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "9416c3db483dc86530a204f5ae1b587c5c3c8cec";
-          sha256 = "16mwa3si70z2q8g859vbc0al3h8mjig8z6m3l7a0lrx373mp205j";
+          rev = "99801cd730d579ed3b05d084ad254b6a73b259aa";
+          sha256 = "0pqg6iib5ns6k5is0bv8riwficadi64dinzdjibk94h8i7cmp54h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -11311,12 +11438,12 @@
     fix-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fix-input";
-        version = "0.1.0";
+        version = "0.1.1";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "fix-input";
-          rev = "728ae9258ebe790a69cf332407cba2f8c0be7d81";
-          sha256 = "16rd23ygh76fs4i7rni94k8gwa9n360h40qmhm65snp31kqnpr1p";
+          rev = "a70edfa7880ff9b082f358607d2a9ad6a8dcc8f3";
+          sha256 = "121m0h0nwxr27f9d2llbgl63ni1makcg66lnvg24wx07wggf0n8z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d31f907997d1d07ec794a4f09824f43818f035c/recipes/fix-input";
@@ -11353,12 +11480,12 @@
     fix-word = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fix-word";
-        version = "0.1.1";
+        version = "0.1.2";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "fix-word";
-          rev = "256a87d4b871ead0975fa0e7f76a1ecbaa074582";
-          sha256 = "1hj5jp4vbkcmnc8l2hqsvjc76f7c9zcsq8znwcwv2nv9xj9hlbkr";
+          rev = "91552cbceac8e2b7c23036f044fc84f5c6f8e338";
+          sha256 = "1pilsd3hkryyl4sd6s4nvmraszkdmcn3qdqi939yjgzp4lz3q412";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/22636390e8a15c09293a1506a901286dd72e565f/recipes/fix-word";
@@ -11966,22 +12093,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    flycheck-rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "flycheck-rtags";
-        version = "2.9";
+        version = "2.10";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936";
-          sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv";
+          rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
+          sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
           sha256 = "00v6shfs7piqapmyqyi0fk3182rcfa3p8wr2cm5vqlrana13kbw4";
           name = "flycheck-rtags";
         };
-        packageRequires = [];
+        packageRequires = [ emacs flycheck rtags ];
         meta = {
           homepage = "https://melpa.org/#/flycheck-rtags";
           license = lib.licenses.free;
@@ -12599,12 +12726,12 @@
     flyspell-popup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "flyspell-popup";
-        version = "0.2";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "flyspell-popup";
-          rev = "a3890c9272c0cfa1e2cde6526f7d6280ad4af00c";
-          sha256 = "1rk7fsill0salrhb4anbf698nd21nxj8pni35brbmv64nj9fhfic";
+          rev = "29311849bfd253b9b689bf331860b4c4d3bd4dde";
+          sha256 = "0x7jilwb0fgzsr7ma59sgd0d4122cl0hwzr28vi3z5s8wdab7nc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/186d00724137c055b521a5f5c54acf71c4b16c32/recipes/flyspell-popup";
@@ -12956,12 +13083,12 @@
     fsharp-mode = callPackage ({ company, company-quickhelp, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, pos-tip, s }:
     melpaBuild {
         pname = "fsharp-mode";
-        version = "1.9.6";
+        version = "1.9.7";
         src = fetchFromGitHub {
           owner = "rneatherway";
           repo = "emacs-fsharp-mode-bin";
-          rev = "c2acdaaf36176d36ccadfe73c2593362ef930ebd";
-          sha256 = "00am42hl5icvbw5d7kpbdcl9sr8flsgl1pqmcxqpcz30yw6f4pr2";
+          rev = "1020b6ccb5bf7d3eccd9e84b7ab293c87528265e";
+          sha256 = "0qbhl4yzn5q156w1gyapj430sxj4iyzgdwh2f5zyl8q791vad9k3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dc45611e2b629d8bc5f74555368f964420b79541/recipes/fsharp-mode";
@@ -12993,8 +13120,8 @@
           sha256 = "0manmkd66355g1fw2q1q96ispd0vxf842i8dcr6g592abrz5lhi7";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/fstar-mode";
-          sha256 = "1cjwai0qf48m18dsa0r9sh4qlgvdzg5ajfbmxxc2vqzcl5ygrxjx";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c58ace42342c3d3ff5a56d86a16206f2ecb45f77/recipes/fstar-mode";
+          sha256 = "1kwa6gqh91265vpp4gcady2brkizfkfjj0gnya9lar6x7rn4gj7s";
           name = "fstar-mode";
         };
         packageRequires = [ dash emacs ];
@@ -13256,12 +13383,12 @@
     geben-helm-projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, geben, helm-projectile, lib, melpaBuild }:
     melpaBuild {
         pname = "geben-helm-projectile";
-        version = "0.0.3";
+        version = "0.0.4";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "geben-helm-projectile";
-          rev = "14db489efcb20c5aa9102288c94cec3c5a87c35d";
-          sha256 = "1nd1jhy393vkn2g65zhygxkpgna0l8gkndxr8jb6qjkkapk58k8l";
+          rev = "31ce0faca5dcc71924884f03fd5a7a25d00ccd9b";
+          sha256 = "0a1srhwfbgkvndjfi9irg5s6snlxyqrw1vwyqg1sn8aqnbpgib04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7d28c45304a69e6ca78b3d00df2563171c027ee/recipes/geben-helm-projectile";
@@ -13484,15 +13611,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    ghub-plus = callPackage ({ apiwrap, emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ghub-plus";
+        version = "0.1.4";
+        src = fetchFromGitHub {
+          owner = "vermiculus";
+          repo = "ghub-plus";
+          rev = "44a5558eb299adee1463b7120c23b26b1d914ea8";
+          sha256 = "0fn5rb7ba4p39if68alvxv321918pki010vfylpp6jk98kzzh487";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+";
+          sha256 = "0xx7nwmjx3f7z6z164x1lb9arbb3m3d16mpn92v66w572rhbr34n";
+          name = "ghub-plus";
+        };
+        packageRequires = [ apiwrap emacs ghub ];
+        meta = {
+          homepage = "https://melpa.org/#/ghub+";
+          license = lib.licenses.free;
+        };
+      }) {};
     gist = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, melpaBuild }:
     melpaBuild {
         pname = "gist";
-        version = "1.3.1";
+        version = "1.4.0";
         src = fetchFromGitHub {
           owner = "defunkt";
           repo = "gist.el";
-          rev = "144280f5353bceb902d5278fa64078337e99fa4d";
-          sha256 = "0q3ps5f6mr9hyf6nq1wshcm1z6a5yhskqd7dbbwq5dm78552z6z8";
+          rev = "a03f142455e8b39f77fbd57ee1c1e44478c1f9e2";
+          sha256 = "1xisjaxr54zrxzxj8cp8f90kzphd5v3j56d14534fm5r1f5343vp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gist";
@@ -13736,22 +13884,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    git-link = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    git-link = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-link";
-        version = "0.4.5";
+        version = "0.5.1";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "git-link";
-          rev = "efd2a9a40b07e93cd5030d8b409d380c77fca88b";
-          sha256 = "0yhk4r5fdlmiw7n0cpdbjqcsm2vkm37qwwvkb7xz9046mkdag6gy";
+          rev = "472af75eca7aba42a1934f408c4bda55e34c9dcf";
+          sha256 = "0xgvwg2zxb9akk3kxxcz5cvgw4zkbqx5p4b5in01z5aj4lqmjw6s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1385443585e628e3d4efb3badb7611e9d653e0c9/recipes/git-link";
           sha256 = "1vqabnmdw8pxd84c15ghh1rnglwb5i4zxicvpkg1ci8xalayn1c7";
           name = "git-link";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/git-link";
           license = lib.licenses.free;
@@ -13967,6 +14115,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    github-notifier = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "github-notifier";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "github-notifier.el";
+          rev = "f8d011ebef9f626a94a27b5576c8ed06e6ff8987";
+          sha256 = "0glkn36fs93y2n1583k8v958qfhl212hbdk3cpkq432hj08wzjnr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c09f4e7e8a84a241881d214e8359f8a50ab14ddf/recipes/github-notifier";
+          sha256 = "1jqc2wx1pvkca8syj97ds32404szm0wn12b7zpa98265sg3n64nw";
+          name = "github-notifier";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/github-notifier";
+          license = lib.licenses.free;
+        };
+      }) {};
     github-search = callPackage ({ fetchFromGitHub, fetchurl, gh, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "github-search";
@@ -15574,12 +15743,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "2.7.0";
+        version = "2.7.1";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "bdc6711656954562ed721545ac22ee3a507110a3";
-          sha256 = "1zx41nwfpzc0zrzi3bm6pmja0rl1jl3brbybiww4f4kqh34d0ddj";
+          rev = "05a297dda6fe9dc42e04220275b0bf2a37b56582";
+          sha256 = "04l3sjvy5y7ph9h02y4jlasd98bihqn19ngpf2yhc0k5mdhkww1s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -15886,15 +16055,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-company = callPackage ({ company, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-company";
+        version = "0.2.0";
+        src = fetchFromGitHub {
+          owner = "Sodel-the-Vociferous";
+          repo = "helm-company";
+          rev = "ae4e1a05455f5eaf07e61b8627934ea1df4eb048";
+          sha256 = "05lfqdg5pzwji3j5w1l892qab9nffd3if8ha0545gbxfn94lnx90";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8acf7420f2ac8a36474594bc34316f187b43d771/recipes/helm-company";
+          sha256 = "1wl1mzm1h9ig351y77yascdv4z0cka1gayi8cnnlayk763is7q34";
+          name = "helm-company";
+        };
+        packageRequires = [ company helm ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-company";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "2.7.0";
+        version = "2.7.1";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "bdc6711656954562ed721545ac22ee3a507110a3";
-          sha256 = "1zx41nwfpzc0zrzi3bm6pmja0rl1jl3brbybiww4f4kqh34d0ddj";
+          rev = "05a297dda6fe9dc42e04220275b0bf2a37b56582";
+          sha256 = "04l3sjvy5y7ph9h02y4jlasd98bihqn19ngpf2yhc0k5mdhkww1s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -15973,12 +16163,12 @@
     helm-dired-history = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-dired-history";
-        version = "1.2";
+        version = "1.3";
         src = fetchFromGitHub {
           owner = "jixiuf";
           repo = "helm-dired-history";
-          rev = "9480383b6ccede6f7c200fbd50aaeb2898b3a008";
-          sha256 = "0cfq06lray7hpnhkwnhjq18izyk2w0m4cxqg0m5nyidiwc4qssqa";
+          rev = "281523f9fc46cf00fafd670ba5cd16552a607212";
+          sha256 = "1bqavj5ljr350dckyf39i9plkb0rbhyd17ka94n2g6daapgpq0x6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-dired-history";
@@ -15994,12 +16184,12 @@
     helm-emms = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-emms";
-        version = "1.0";
+        version = "1.3";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-emms";
-          rev = "ed3da37e86ea5dabc15da708335b1e439ae0777d";
-          sha256 = "0330s07b41nw9q32xhjdl7yw83p8ikj6b2qkir3y0jyx16gk10dl";
+          rev = "d7da090af0f63b92c5d735197992c732adbeef3d";
+          sha256 = "0fs0i33di3liyx1f55xpg5nmac1b750n37g3pkxw2mil7fx7dz32";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/db836b671705607f6cd9bce8229884b1f29b4a76/recipes/helm-emms";
@@ -16852,6 +17042,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
+    melpaBuild {
+        pname = "helm-rtags";
+        version = "2.10";
+        src = fetchFromGitHub {
+          owner = "Andersbakken";
+          repo = "rtags";
+          rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
+          sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
+          sha256 = "1vv6wnniplyls344qzgcf1ivv25c8qilax6sbhvsf46lvrwnr48n";
+          name = "helm-rtags";
+        };
+        packageRequires = [ helm rtags ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-rtags";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-rubygems-org = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-rubygems-org";
@@ -17149,12 +17360,12 @@
     hierarchy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hierarchy";
-        version = "0.4.0";
+        version = "0.6.0";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "hierarchy";
-          rev = "ca919a4c71c187e1fbbad7e814aac1cf662ec51a";
-          sha256 = "0rrrj44ml2ymvxmg8igpn2irdhihv3djy5dfm6p6499cm64mawai";
+          rev = "a6a01cd4688fc9264fd36c279c0249f16704132b";
+          sha256 = "0b6g9j76zd5wdqg4xkw34a6sijf8jsdvnnr7hbix7zf8cxrr2gqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7aea238a2d14e9f58c0474251984b6c617b6854d/recipes/hierarchy";
@@ -18448,6 +18659,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    importmagic = callPackage ({ emacs, epc, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "importmagic";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "anachronic";
+          repo = "importmagic.el";
+          rev = "135e049d763ceb4cabd0bab068c4c71452459065";
+          sha256 = "1fzd3m0zwgyh3qmkhzcvgsgbnjv8nzy30brsbsa081djj5d2dagq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/importmagic";
+          sha256 = "1kpmgpll0zz3zlr3q863v1fq6wmwdwx7mn676x0r7g4iy1bdslmv";
+          name = "importmagic";
+        };
+        packageRequires = [ emacs epc f ];
+        meta = {
+          homepage = "https://melpa.org/#/importmagic";
+          license = lib.licenses.free;
+        };
+      }) {};
     indent-guide = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "indent-guide";
@@ -18493,12 +18725,12 @@
     inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-clojure";
-        version = "2.0.0";
+        version = "2.0.1";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "inf-clojure";
-          rev = "c797a5aea3d2126b19c48ed99aefe3ebddd5f304";
-          sha256 = "1m8bkh8mwl1zbvpgllrghpqr5m86lkwxn3jl3i0qd60arwy51iiy";
+          rev = "956b22e7941d71216799ca4e8d5244e94fad9558";
+          sha256 = "1wakfwmb43na3g2yqign764kwi791x7ikzmf76pkdpky70a5dkhz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure";
@@ -18514,12 +18746,12 @@
     inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-ruby";
-        version = "2.5.0";
+        version = "2.5.1";
         src = fetchFromGitHub {
           owner = "nonsequitur";
           repo = "inf-ruby";
-          rev = "54eb6bf6d68d71bdac63fcb2042d8e1c554b427f";
-          sha256 = "0yqcl2r8kwdl99704vm8qsdzziidznp0gpyr29ipya7fl24nkfxr";
+          rev = "81adadf0f98122b655d0c2bee9c8074d2b6a3ee2";
+          sha256 = "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby";
@@ -18849,12 +19081,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "0.2.1";
+        version = "1.0.0";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "250ed1e03359fe5b29070da13cd55abc6deb0cda";
-          sha256 = "168bnirfqpgiqmrjs52ixzqzq074y9szvxi6bml9zbxi8dcmafaq";
+          rev = "2424f57a3c0d320946c7ad32b44d296a91104201";
+          sha256 = "13lg7ra4g3nbg96vbwk1giw2pjhqarpd72qi21x57w3lc44fwqld";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -18933,12 +19165,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "0.2.2";
+        version = "0.2.3";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "906c31b679a4a676fe593a9620fbfc3707afb616";
-          sha256 = "1sxz8cyr9i4nk5vrvf6qag8i7yrgqnxyhkilrqrmdyf6vw1vxgag";
+          rev = "2d93b1b0ec1705e449f2e0f43073aacc8f1e3242";
+          sha256 = "0lrnd5r9ycy2qqggqd0sr6b2w7s28yfm15pgyh0r0rjdxky4a5vm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -19035,6 +19267,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
+    melpaBuild {
+        pname = "ivy-rtags";
+        version = "2.10";
+        src = fetchFromGitHub {
+          owner = "Andersbakken";
+          repo = "rtags";
+          rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
+          sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
+          sha256 = "18f0jak643dd8lmx701wgk95miajabd8190ls35831slr28lqxsq";
+          name = "ivy-rtags";
+        };
+        packageRequires = [ ivy rtags ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-rtags";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
     melpaBuild {
         pname = "ivy-youtube";
@@ -20128,12 +20381,12 @@
     kubernetes = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "kubernetes";
-        version = "0.11.0";
+        version = "0.11.3";
         src = fetchFromGitHub {
           owner = "chrisbarrett";
           repo = "kubernetes-el";
-          rev = "1b70b632f0e8aa851c2a54f8b19881b4657b541d";
-          sha256 = "044864d12h7ddv42b8kmnppm2ccmxl1nzarbvgkszxgmg7f6c14z";
+          rev = "560b65baef1c4f2bedffd8e767774b55dfc35594";
+          sha256 = "0n9msgawac0jbid671nfr8c5z1zw89wnfw021igxaqwqrl3438rw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/16850227ea48f6f38102b9cdf80e0758766a24d2/recipes/kubernetes";
@@ -20149,12 +20402,12 @@
     kubernetes-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, kubernetes, lib, melpaBuild }:
     melpaBuild {
         pname = "kubernetes-evil";
-        version = "0.11.0";
+        version = "0.11.3";
         src = fetchFromGitHub {
           owner = "chrisbarrett";
           repo = "kubernetes-el";
-          rev = "1b70b632f0e8aa851c2a54f8b19881b4657b541d";
-          sha256 = "044864d12h7ddv42b8kmnppm2ccmxl1nzarbvgkszxgmg7f6c14z";
+          rev = "560b65baef1c4f2bedffd8e767774b55dfc35594";
+          sha256 = "0n9msgawac0jbid671nfr8c5z1zw89wnfw021igxaqwqrl3438rw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/16850227ea48f6f38102b9cdf80e0758766a24d2/recipes/kubernetes-evil";
@@ -20422,12 +20675,12 @@
     lfe-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lfe-mode";
-        version = "1.2.1";
+        version = "1.3";
         src = fetchFromGitHub {
           owner = "rvirding";
           repo = "lfe";
-          rev = "d722d3662b191b61310dc9bba78f9a77f512b742";
-          sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz";
+          rev = "af14b1439097850ffa39935419ed83f5bcaa6d09";
+          sha256 = "0pgwi0h0d34353m39jin8dxw4yykgfcg90k6pc4qkjyrg40hh4l6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c44bdb00707c9ef90160e0a44f7148b480635132/recipes/lfe-mode";
@@ -20744,12 +20997,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "2.15.0";
+        version = "2.16.0";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "f5603fb6bcfbae1e6950da7f91c3a15cf5250bb1";
-          sha256 = "1zzk3rc86xrkys3rcqiz61mnp00jkvb05f8p21av52h19axm4nn8";
+          rev = "96f22fe5892775b8a9a081898e1a4f00fbb8a674";
+          sha256 = "005g84acwjns587lawgms63b9840xswpqj0ccgdaqj6g9p0ynmqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -21483,22 +21736,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    markdown-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "markdown-mode";
-        version = "2.1";
+        version = "2.2";
         src = fetchFromGitHub {
           owner = "jrblevin";
           repo = "markdown-mode";
-          rev = "c6eb56eff31f7961c9a00a5d18eaf939c2c40b7d";
-          sha256 = "098lf4n4rpx00sm07sy8dwp683a4sb7x0p15mrfp268apir3kkxb";
+          rev = "e9bb47d8d87ae8205ed935a3b485e12c12e43aa9";
+          sha256 = "1lccxj18zhhhrc87dzm8fd4989pgkvbfkrlp53bjbrzzkh9bd6vs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
           sha256 = "0gfb3hp87kpcrvxax3m5hsaclwwk1qmxc73cg26smzd1kjfwgz14";
           name = "markdown-mode";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/markdown-mode";
           license = lib.licenses.free;
@@ -21640,12 +21893,12 @@
     mastodon = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mastodon";
-        version = "0.6.2";
+        version = "0.7.0";
         src = fetchFromGitHub {
           owner = "jdenen";
           repo = "mastodon.el";
-          rev = "ac10d7a647aa77aa933076a523a48ec0a283dd15";
-          sha256 = "1cy11qlms6499vjphnx5yxpknvs1a90q67ibrijhwyhsy9gi798l";
+          rev = "a9e595142eee69fe84f0ab06f7fde76cef27cdac";
+          sha256 = "1wgx8i6ww9w99f0f62p7v626bb6pvdg04hnhqyjgsmb99wzwlpk7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/809d963b69b154325faaf61e54ca87b94c1c9a90/recipes/mastodon";
@@ -21829,12 +22082,12 @@
     meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "meghanada";
-        version = "0.7.5";
+        version = "0.7.12";
         src = fetchFromGitHub {
           owner = "mopemope";
           repo = "meghanada-emacs";
-          rev = "54be7c38ceeb7de4bd926a577f9920e174534b37";
-          sha256 = "0apqxpkngyygfdj1wnqs5fl87bfbb4m5vis9cv8q3fcq92yhjqa1";
+          rev = "31c68839bd1de8e79fe7bce6bdeade4bacdbc737";
+          sha256 = "1hm8w04d0cyy21dnciblz4gg15k5axfvaxx788hfz2pmbp435yni";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@@ -21931,27 +22184,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    metafmt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "metafmt";
-        version = "0.0.3";
-        src = fetchFromGitHub {
-          owner = "lvillani";
-          repo = "metafmt";
-          rev = "bd20fc67d0affd48c1199315b7da06a7182e7d76";
-          sha256 = "0n4nv1s25z70xfy3bl1wy467abz3agj4qmpx4rwdwzbarnqp9ps3";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a53f740fb7a58cd6339b301d0de8c543b61f6a5/recipes/metafmt";
-          sha256 = "1ca102al7r3k2g92b4jkqv53crnmxy3z7cz31w1rprf41s69mn75";
-          name = "metafmt";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/metafmt";
-          license = lib.licenses.free;
-        };
-      }) {};
     metaweblog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }:
     melpaBuild {
         pname = "metaweblog";
@@ -22353,12 +22585,12 @@
     modalka = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "modalka";
-        version = "0.1.4";
+        version = "0.1.5";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "modalka";
-          rev = "95627e660768c7ab7af4d8ad35c2bc0c4fa7195b";
-          sha256 = "0yf5lwd95j55dkrkplsgnynq37ww0g97vw517j9q7spn7dqnq5f6";
+          rev = "1259afa084f58d143d133aac56a6c0c10bc460f2";
+          sha256 = "0ggj8q92sb6wp3hs1vhpmy56id0p3i9zwnw24g2v7xa7w8ac9s7l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fa0a02da851a603b81e183f461da55bf4c71f0e9/recipes/modalka";
@@ -22542,12 +22774,12 @@
     move-dup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "move-dup";
-        version = "0.2.1";
+        version = "1.0.0";
         src = fetchFromGitHub {
           owner = "wyuenho";
           repo = "move-dup";
-          rev = "4df67072eebac69d6be7619335b03f56f9960235";
-          sha256 = "01mdy7sps0xryz5gfpl083rv7ixkxs2rkz5yaqjlam2rypdcsyy2";
+          rev = "dae61de7aa5e2bf56a7bab1fa36fa3a39520a3c0";
+          sha256 = "1mrrxx2slxi1qgf483nnxv3y8scfsc844sfnzn4b7hjpfpali0r8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3ea1f7f015a366192492981ff75672fc363c6c18/recipes/move-dup";
@@ -22584,12 +22816,12 @@
     mowedline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mowedline";
-        version = "3.1.0";
+        version = "3.2.0";
         src = fetchFromGitHub {
           owner = "retroj";
           repo = "mowedline";
-          rev = "67ca629b4bc3063ea19a7fccc693432a4eb10021";
-          sha256 = "0i06ms5m7qhv2m1mmgzqh73j9wz3nxygz65p6vsnicxas09w70rd";
+          rev = "832e81b7f90f6c2e753f89737c0b57a260544424";
+          sha256 = "1ll0ywrzpc5ignddgri8xakf93q1rg8zf7h23hfv8jiiwv3240w5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/86f7df6b8df3398ef476c0ed31722b03f16b2fec/recipes/mowedline";
@@ -22689,12 +22921,12 @@
     msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "msvc";
-        version = "1.3.0";
+        version = "1.3.5";
         src = fetchFromGitHub {
           owner = "yaruopooner";
           repo = "msvc";
-          rev = "71c38323187c98b32250b89088768599bb216ddb";
-          sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg";
+          rev = "bb9af3aee0e82d6a78a49a9af61ce47fab32d577";
+          sha256 = "1vxgdc19jiamymrazikdikdrhw5vmzanzr326s3rx7sbc2nb7lrk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc";
@@ -23214,12 +23446,12 @@
     neon-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "neon-mode";
-        version = "1.0.2";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "neon-mode";
-          rev = "370212fa9ffcba3ff542a154d17ccf5be1066c4c";
-          sha256 = "13a760jidh00czl05c0pnpbxzr7smrkf5ms9kd3h1cq613ffapby";
+          rev = "0822d6f42ef497e28e320a2fa924b8496bcac3df";
+          sha256 = "134i42cjyy33bdqprhk7ziy8iz8y3j6bw0vw5x8izmf9y1hnwyyh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c6b2a4898bf21413c4d9e6714af129bbb0a23e1a/recipes/neon-mode";
@@ -23256,12 +23488,12 @@
     nginx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nginx-mode";
-        version = "1.1.7";
+        version = "1.1.9";
         src = fetchFromGitHub {
           owner = "ajc";
           repo = "nginx-mode";
-          rev = "b58708d15a6659577945c0aa3a63983eebff2e67";
-          sha256 = "0y2wwgvm3495h6hms425gzgi3qx2wn33xq6b7clrvj4amfy29qix";
+          rev = "a2bab83c2eb233d57d76b236e7c141c2ccc97005";
+          sha256 = "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a6da3640b72496e2b32e6ed21aa39df87af9f7f3/recipes/nginx-mode";
@@ -23484,11 +23716,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "0.24.1";
+        version = "0.24.2";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "e64fdf889d0f78543557f5b72ebca1571caf497e";
-          sha256 = "0vappcyidhzka2za6zqlcygn90a1xm9xrhpr9gvdp258m8qhz6d1";
+          rev = "2e86a4da55c29e0751d950839cdcbe40234ca8ba";
+          sha256 = "1g75k365cdl0670bs38bvf391hsiv7rwxbmwz53x03fyz4gl58by";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -23711,6 +23943,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-blockdiag = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ob-blockdiag";
+        version = "20170501.112";
+        src = fetchFromGitHub {
+          owner = "corpix";
+          repo = "ob-blockdiag.el";
+          rev = "e6532af46dcea8e79f3ad3cb2863cbbe516efbf6";
+          sha256 = "059jcl1qpfxwsykbj1sf7r1fpg7wix4fbdhhghrhbhgf5w165hsv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/261b77a3fd07644d1c250b16857de70cc1bbf478/recipes/ob-blockdiag";
+          sha256 = "1lmawbgrlp6qd7p664jcl98y1xd2yqw9np6j52bh9i6s3cz6628g";
+          name = "ob-blockdiag";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ob-blockdiag";
+          license = lib.licenses.free;
+        };
+      }) {};
     ob-http = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ob-http";
@@ -23837,6 +24090,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-uart = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ob-uart";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "andrmuel";
+          repo = "ob-uart";
+          rev = "90daeac90a9e75c20cdcf71234c67b812110c50e";
+          sha256 = "1syxxq411izmyfrhlywasax7n5c3yjy487mvfdjzjg8csmmk0m9v";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5334f1a48b8ea6b7a660db27910769093c76113d/recipes/ob-uart";
+          sha256 = "1dkbyk8da0zw784dgwi8njnz304s54341dyfzvlb0lhcn41dmkz7";
+          name = "ob-uart";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ob-uart";
+          license = lib.licenses.free;
+        };
+      }) {};
     obfusurl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "obfusurl";
@@ -24071,16 +24345,16 @@
     omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
     melpaBuild {
         pname = "omnisharp";
-        version = "3.9";
+        version = "4.0";
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "59aa5ac1957b4875e13f52885255293608a960f4";
-          sha256 = "1jjhksrp3ljl4pqkclyvdwbj0dzn1alnxdz42f4xmlx4kn93w8bs";
+          rev = "7ca20bb808dd51adbd83e0c18885c4300548d032";
+          sha256 = "0p4adjpa3l6aaz7kd3474aagzfzrnra7mijw4l0himba9ldrh590";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/68bdb7e0100e120b95e9416398127d83530a221d/recipes/omnisharp";
-          sha256 = "0dwya22y92k7x2s223az1g8hmrpfmk1sgwbr9z47raaa8kd52iad";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
+          sha256 = "0gh0wwdpdx2cjf95pcagj52inf7mrmiq7x8p0x5c7lvl4pfzhh87";
           name = "omnisharp";
         };
         packageRequires = [
@@ -24295,8 +24569,8 @@
         src = fetchFromGitHub {
           owner = "diadochos";
           repo = "org-babel-eval-in-repl";
-          rev = "38d02b8e2412381f6498c29511d1981a88b7d7f4";
-          sha256 = "0fwmcignkglx73spk3cv7acap15yrn0c0npr4ikfc9prs6svaah6";
+          rev = "bfa72c582ac1531ad42aba23e2b1267ab68e31f6";
+          sha256 = "1jm56zxa99s163jv02vhfrshmykvld7girq7gmj1x60g3wjzhn5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-babel-eval-in-repl";
@@ -24874,15 +25148,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, s }:
+    org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, pdf-tools, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "0.9.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "b6c6ae209d31caf71b158d6357780d74f6d08f19";
-          sha256 = "18zzzh5aifbdbd2lw69fn7scvhalgxhzfz3f3cscjjkvzhkkya8j";
+          rev = "785765d575ef4c28581f6790e9814d75eaeec4ab";
+          sha256 = "18f5fppipandbirhhs5jlrk4gl7jxyrswfwr36859433x2wkfj70";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -24898,6 +25172,7 @@
           hydra
           ivy
           key-chord
+          pdf-tools
           s
         ];
         meta = {
@@ -25181,12 +25456,12 @@
     org2blog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, metaweblog, org, xml-rpc }:
     melpaBuild {
         pname = "org2blog";
-        version = "0.9.2";
+        version = "0.9.3";
         src = fetchFromGitHub {
           owner = "punchagan";
           repo = "org2blog";
-          rev = "ad389ae994d269a57e56fbea68df7e6fe5c2ff55";
-          sha256 = "0av1477jn3s4s5kymd7sbb0av437vb5mnfc6rpfgzwji7b8mfr7l";
+          rev = "9313bbce85cda3150a797d05c223ad6df79c275c";
+          sha256 = "1facdvgqwvv8pv96wx5hdh5x8q9yjwvxa07i69125fgw2sgrckk8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org2blog";
@@ -26623,6 +26898,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    php-cs-fixer = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "php-cs-fixer";
+        version = "1.0beta4";
+        src = fetchFromGitHub {
+          owner = "OVYA";
+          repo = "php-cs-fixer";
+          rev = "ca2c075a22ad156c336d2aa093fb6394c9f6c112";
+          sha256 = "1axjfsfasg7xyq5ax2bx7rh2mgf8caw5bh858hhp1gk9xvi21qhx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a3631c4b81c1784995ae9e74d832e301d79214e2/recipes/php-cs-fixer";
+          sha256 = "1xvz6v1fwngi2rizrx5sf0wrs4cy8rb13467r26k8hb7z8h1rqmf";
+          name = "php-cs-fixer";
+        };
+        packageRequires = [ cl-lib ];
+        meta = {
+          homepage = "https://melpa.org/#/php-cs-fixer";
+          license = lib.licenses.free;
+        };
+      }) {};
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
@@ -27065,12 +27361,12 @@
     ponylang-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ponylang-mode";
-        version = "0.0.8";
+        version = "0.0.9";
         src = fetchFromGitHub {
           owner = "SeanTAllen";
           repo = "ponylang-mode";
-          rev = "bdc549e2658f4662f462e0c233b4825c761288cd";
-          sha256 = "0v55bdj3vhf260addgsim6q4rwfzyvhqswxan4qqcq6acgi1liw4";
+          rev = "38786ba7f9f5709d511e27b85028b2dc6aff532d";
+          sha256 = "0cr22scxk3y2qdlhhfvwf4fkk2ql1c0r73fxzhw64dhwm4q01pih";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7d51adec3c6519d6ffe9b3f7f8a86b4dbc2c9817/recipes/ponylang-mode";
@@ -27505,12 +27801,12 @@
     projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }:
     melpaBuild {
         pname = "projectile-rails";
-        version = "0.14.0";
+        version = "0.15.0";
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "fb28fc8710b614e9ab535788ee58f9a9070561f1";
-          sha256 = "0v7ddlk8mzqa8gvxrrcvd15klap5m31df8vn14z99s3ybj3zk0yb";
+          rev = "19e3dc1236377de86147df8f3635fbbfe7558b2e";
+          sha256 = "0n61npfg7hvybakn4nvsqyv2gmrwvf0jqwrh0nwzg9xg5hkbfmir";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -27652,12 +27948,12 @@
     protobuf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "protobuf-mode";
-        version = "3.3.0";
+        version = "3.3.1";
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "a6189acd18b00611c1dc7042299ad75486f08a1a";
-          sha256 = "1258yz9flyyaswh3izv227kwnhwcxn4nwavdz9iznqmh24qmi59w";
+          rev = "49a56da93ff3ab7d9a2252639344ad28db8cdff6";
+          sha256 = "0rq8q7viyy2nfmk2b0pik4amdndi6z51fww3m0p8a7l4yfkn14wb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -27733,22 +28029,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    psysh = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    psysh = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "psysh";
-        version = "0.0.3";
+        version = "0.0.4";
         src = fetchFromGitHub {
           owner = "zonuexe";
           repo = "psysh.el";
-          rev = "6932f03447c3d821e4c03e99f1630928f0979452";
-          sha256 = "00dssrdsdvwdg6a6fwl3wv0y94axcd4jb3b3ndd1p3bcr56fxq49";
+          rev = "f72d6fe41af2d9566d41b167cda66e97efdf8cfa";
+          sha256 = "0hr8nlxcqfas9wl5ahz9hmvpa8b6k35n4f7iv9dx6zwf5q48q7y7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b3131d9a0ad359f15bc3550868a12f02476449a/recipes/psysh";
           sha256 = "0ygnfmfx1ifppg6j3vfz10srbcpr5ird2bhw6pvydijxkyd75vy5";
           name = "psysh";
         };
-        packageRequires = [];
+        packageRequires = [ emacs f s ];
         meta = {
           homepage = "https://melpa.org/#/psysh";
           license = lib.licenses.free;
@@ -28513,12 +28809,12 @@
     rdf-prefix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rdf-prefix";
-        version = "1.7";
+        version = "1.8";
         src = fetchFromGitHub {
           owner = "simenheg";
           repo = "rdf-prefix";
-          rev = "d7e61535aaf89e643673b27c79b4a84ddb530288";
-          sha256 = "1in1xp559g8hlxa9i2algwlgc069m8afjad6laxbyjqc61srzw6i";
+          rev = "35129521d5b6035e5dd75d5b3481ce4971f46034";
+          sha256 = "1iy9385n8a2b7ph4wdf8p92n81slirsxxckrc3khbk5zrpp62z5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f083bd629697038ea6391c7a4eeedc909a5231/recipes/rdf-prefix";
@@ -29203,22 +29499,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    robe = callPackage ({ fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }:
+    robe = callPackage ({ emacs, fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }:
     melpaBuild {
         pname = "robe";
-        version = "0.7.9";
+        version = "0.8.1";
         src = fetchFromGitHub {
           owner = "dgutov";
           repo = "robe";
-          rev = "7c56895b6c2fd5d6c9572182f5de10ebe5bfc977";
-          sha256 = "01xd3nc7bmf4r4d37x08rw2dlsg6gns8mraahi4rwkg6a9lwl44n";
+          rev = "22457d6855fb39b8aedf068556d0e2fbd2874d5b";
+          sha256 = "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/673f920d02fe761bc080b73db7d37dbf5b6d86d8/recipes/robe";
           sha256 = "19py2lwi7maya90kh1mgwqb16j72f7gm05dwla6xrzq1aks18wrk";
           name = "robe";
         };
-        packageRequires = [ inf-ruby ];
+        packageRequires = [ emacs inf-ruby ];
         meta = {
           homepage = "https://melpa.org/#/robe";
           license = lib.licenses.free;
@@ -29332,12 +29628,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "2.9";
+        version = "2.10";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "ffa21b5408a30a346815bc4db6e74e2c6562d936";
-          sha256 = "0828i5lcbspacydjnbrp3zhgbw2gggaaizzm0qqgmvry4cs79bxv";
+          rev = "3b3ace901f53827daef81d4c13658ec4feb318b4";
+          sha256 = "1lm0s1918zsnd4hmfzf3xfrd68ip2zjnr9ciyf4bwpd66y0zfrbk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -29777,8 +30073,8 @@
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-scala-mode";
-          rev = "970d88eeff82df635ee12336ab1eb185585f30c6";
-          sha256 = "0wfv20dyb13v7fbfsvy0k5dajvmyyhn80l6xyx6kppiv3qmy9s90";
+          rev = "6f49104c182ec1cc8b30314dc92d02f4752106cf";
+          sha256 = "0ahhhsg095rixiy9j49854mmrkd92vvmqnms0f6msrl4jgdf6vpw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode";
@@ -30088,14 +30384,14 @@
         pname = "sexy-monochrome-theme";
         version = "2.1";
         src = fetchFromGitHub {
-          owner = "nuncostans";
+          owner = "voloyev";
           repo = "sexy-monochrome-theme";
           rev = "d74cf7a50852c469ad13c634df74be2fcb3f3a96";
           sha256 = "14va3sy94vpkn4fc9g7gsxk3anl25jvp9a92c8ppndqzfisy7vgg";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/9a09ffb7d271773f6cfa7c7eeaba45a717a5bdca/recipes/sexy-monochrome-theme";
-          sha256 = "1qmbb2aaa1lc18l9kk42iq466hy2mg7565b0gb7hdvfqsi05d8dg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/dfd5ae9a93e036d11899c7adffdf6b63c2b21381/recipes/sexy-monochrome-theme";
+          sha256 = "0rlx4029zxrnzzqspn8zrp3q6w0n46q24qk7za46hvxdsmgdpxbq";
           name = "sexy-monochrome-theme";
         };
         packageRequires = [];
@@ -30293,6 +30589,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    shen-elisp = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "shen-elisp";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "deech";
+          repo = "shen-elisp";
+          rev = "ffe17dee05f75539cf5e4c59395e4c7400ececaa";
+          sha256 = "10dq3qj1q8i6f604zws97xrvjxwrdcjj3ygh6xpna00cvf40llc2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/shen-elisp";
+          sha256 = "045nawzyqaxd3g5f56fxfy680pl18x67w0wi28nrq4l4681w9xyq";
+          name = "shen-elisp";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/shen-elisp";
+          license = lib.licenses.free;
+        };
+      }) {};
     shift-number = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shift-number";
@@ -30377,6 +30694,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    shr-tag-pre-highlight = callPackage ({ emacs, fetchFromGitHub, fetchurl, language-detection, lib, melpaBuild }:
+    melpaBuild {
+        pname = "shr-tag-pre-highlight";
+        version = "1";
+        src = fetchFromGitHub {
+          owner = "xuchunyang";
+          repo = "shr-tag-pre-highlight.el";
+          rev = "bc1bff471cf4adcd86d87b8c045623aff3b20889";
+          sha256 = "1lyam12wilvv8ir3x0ylyfinjh9g65aq6ia1s314fr0gc8hjk5z6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7be3c139bee02e8bd9a9830026cbfdd17629ac4d/recipes/shr-tag-pre-highlight";
+          sha256 = "1v8fqx8bd5504r2mflq6x8xs3k0py3bgsnadz3bjs68yhaxacj3v";
+          name = "shr-tag-pre-highlight";
+        };
+        packageRequires = [ emacs language-detection ];
+        meta = {
+          homepage = "https://melpa.org/#/shr-tag-pre-highlight";
+          license = lib.licenses.free;
+        };
+      }) {};
     shrink-whitespace = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shrink-whitespace";
@@ -30419,6 +30757,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "shx";
+        version = "0.0.4";
+        src = fetchFromGitHub {
+          owner = "riscy";
+          repo = "shx-for-emacs";
+          rev = "8b7de952da37f1c04fa1bdf8f54c1cfb6a7c2a8f";
+          sha256 = "176rhjyh9f3scbwjkw8h64dbamfcczwjpwv3dpylmjaqzwmfsal3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
+          sha256 = "0h5ldglx4y85lm0pfilasnch2k82mlr7rb20qvarzwd41hb1az1k";
+          name = "shx";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/shx";
+          license = lib.licenses.free;
+        };
+      }) {};
     sift = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sift";
@@ -30485,12 +30844,12 @@
     simpleclip = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "simpleclip";
-        version = "1.0.0";
+        version = "1.0.2";
         src = fetchFromGitHub {
           owner = "rolandwalker";
           repo = "simpleclip";
-          rev = "eba19a21da2e4d1e11abdc158f72d6513afaa669";
-          sha256 = "0v0vmkix9f0hb2183irr6xra8mwi47g6rn843sas7jy2ycaqd91v";
+          rev = "7deff873b79910496b4baf647cdb8dd5de63465a";
+          sha256 = "12f853vm18y22sd22wmwqyzp5f5vmb67i33iiaw6mqqcp6qwbyqz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7c921e27d6aafc1b82d37f6beb8407840034377a/recipes/simpleclip";
@@ -30776,6 +31135,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    slstats = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "slstats";
+        version = "1.7";
+        src = fetchFromGitHub {
+          owner = "davep";
+          repo = "slstats.el";
+          rev = "a2f640f724fee7ecbd1cf28fc78297180cd959bc";
+          sha256 = "0gzpwcrmlbd7fphgyv6g04wjavd9i3vgn3y1fnh178iswmpsxj62";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fe7c8c241cc6920bbedb6711db63ea28ed633327/recipes/slstats";
+          sha256 = "0z5y2fmb3v16g5gf87c9gll04wbjp3d1cf7gm5cxi4w3y1kw4r7q";
+          name = "slstats";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/slstats";
+          license = lib.licenses.free;
+        };
+      }) {};
     sly = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sly";
@@ -31322,22 +31702,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spaceline }:
+    spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }:
     melpaBuild {
         pname = "spaceline-all-the-icons";
-        version = "1.1.1";
+        version = "1.3.3";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "spaceline-all-the-icons.el";
-          rev = "481329d1d1c4c505a91b7f2ac231f77a19e2c74d";
-          sha256 = "15snhm5rq0n31g9hk5gzimhjclfll67vi7avhrhd9z9x6dvq0sp4";
+          rev = "d5750c0aa40a66c6d76c74540587b8cbb0142350";
+          sha256 = "1rjb7jpbizafxixqrwzzxgbah0b8b8wsmqxzvqdv867i5w6682p2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons";
           sha256 = "1h6clkr2f29k2vw0jcrmnfbjpphaxm7s3zai6pn6qag32bgm3jq6";
           name = "spaceline-all-the-icons";
         };
-        packageRequires = [ all-the-icons emacs spaceline ];
+        packageRequires = [ all-the-icons emacs memoize spaceline ];
         meta = {
           homepage = "https://melpa.org/#/spaceline-all-the-icons";
           license = lib.licenses.free;
@@ -31577,12 +31957,12 @@
     sqlup-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sqlup-mode";
-        version = "0.7.1";
+        version = "0.8.0";
         src = fetchFromGitHub {
           owner = "Trevoke";
           repo = "sqlup-mode.el";
-          rev = "65e75ebc7d85a63e4e27900ba746623a8e4bfa95";
-          sha256 = "1yiz1k2dg010dypql5l9ahcl33nvqxl731wghv4jvp6bdxcf90g3";
+          rev = "04970977b4abb4d44301651618bbf1cdb0b263dd";
+          sha256 = "14s66xrabj269z7f94iynsla96bka7zac011psrbcfyy4m8mlamz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/sqlup-mode";
@@ -33001,12 +33381,12 @@
     textx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "textx-mode";
-        version = "0.0.1";
+        version = "0.0.2";
         src = fetchFromGitHub {
           owner = "novakboskov";
           repo = "textx-mode";
-          rev = "1f9ae651508176b4cb1ae9a03aec06049f333c61";
-          sha256 = "00hdnfa27rb9inqq4dn51v8jrbsl4scql0cngp6fxdaf93j1p5gk";
+          rev = "72f9f0c5855b382024f0da8f56833c22a70a5cb3";
+          sha256 = "1lr9v7dk0pnmpvdvs4m5d9yvxlii0xzr8b3akknm25gvbw1y1q8k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dada0378af342e0798c418032a8dcc7dfd80d600/recipes/textx-mode";
@@ -33064,12 +33444,12 @@
     thinks = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "thinks";
-        version = "1.11";
+        version = "1.12";
         src = fetchFromGitHub {
           owner = "davep";
           repo = "thinks.el";
-          rev = "f5a339b21cd5044f7b66beafab7c2d822c36f9e5";
-          sha256 = "1qjwzr9q98da25rf8hjgancb0k2kgr8xllhb4lhnqc8jsc4qnn5v";
+          rev = "7bdc418ff946d0cc9ea4cc73d38b3c71ffaa838d";
+          sha256 = "0wf3nikpnn0yivlmp6plyaiydm56mp3f91lljb1kay64nqgnfq65";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/439957cabf379651dc243219a83c3c96bae6f8cf/recipes/thinks";
@@ -33106,12 +33486,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "2.2.2";
+        version = "2.3.1";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "eabcad4dbebb705d4e366f90344ea543068d2dc4";
-          sha256 = "1ykxsr8q9gwx2d8b0v2xf4glchwg3ikcx60a5r4phw1nlwff8gg7";
+          rev = "669ce39bcd93ca6353d24a72a358272d7b0e2268";
+          sha256 = "1sbvkgrdf6s8bkg38rfyj677dq3x4pry84hv30dgqhll7h8ja72w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -33252,12 +33632,12 @@
     tracking = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tracking";
-        version = "2.4";
+        version = "2.5";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "87f2d8604e41c6caf68cff3fcf61b1f4d4e8a961";
-          sha256 = "19mjzws9hiqhaa8v0wxa369m3qzam2axvhcqcrggdjjsr7hyhvwr";
+          rev = "13c605e639194c3da0c2e685056fac685f8c76a0";
+          sha256 = "0n7v0g332ml1ang2fjc8rjbi8h1f4bqazcqi8dlfn99vvv8kcd21";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
@@ -33312,6 +33692,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pfuture, s }:
+    melpaBuild {
+        pname = "treemacs";
+        version = "1.7";
+        src = fetchFromGitHub {
+          owner = "Alexander-Miller";
+          repo = "treemacs";
+          rev = "d5878b0ed6da2a561aa795b31848e31e7c696197";
+          sha256 = "04d7l0v1s5fxcnr4iqdpb1908bayysga3z0sbcx7ia39kmcnp4l3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs";
+          sha256 = "1sg3m9l9l1xww6an2210bghlby5cljw2jxh7q0w8cwmcga7rr4jh";
+          name = "treemacs";
+        };
+        packageRequires = [ ace-window cl-lib dash emacs f pfuture s ];
+        meta = {
+          homepage = "https://melpa.org/#/treemacs";
+          license = lib.licenses.free;
+        };
+      }) {};
+    treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
+    melpaBuild {
+        pname = "treemacs-evil";
+        version = "1.7";
+        src = fetchFromGitHub {
+          owner = "Alexander-Miller";
+          repo = "treemacs";
+          rev = "d5878b0ed6da2a561aa795b31848e31e7c696197";
+          sha256 = "04d7l0v1s5fxcnr4iqdpb1908bayysga3z0sbcx7ia39kmcnp4l3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
+          sha256 = "146j4l2g40dhrv8nyfymxkajn19gvlkmirwv9ndvkvl3yy175vg3";
+          name = "treemacs-evil";
+        };
+        packageRequires = [ evil treemacs ];
+        meta = {
+          homepage = "https://melpa.org/#/treemacs-evil";
+          license = lib.licenses.free;
+        };
+      }) {};
     trr = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "trr";
@@ -33441,12 +33863,12 @@
     turing-machine = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "turing-machine";
-        version = "0.1.2";
+        version = "0.1.4";
         src = fetchFromGitHub {
           owner = "therockmandolinist";
           repo = "turing-machine";
-          rev = "41e367e54fbeff572f599f2f321ffc863601484e";
-          sha256 = "0qlm7y3pm8sfy36a8jc3cr955hqsmypzshbgxfnmcmz7wl96dplh";
+          rev = "41bfe79ecf8a44dcbaf308c33cbdf324f7c806ae";
+          sha256 = "04j4nw526mxlm4fd2a28p0pa2ss4b4vznjvpk0f0wlf61ymvy884";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a003b40a52a92b3ab4d1ffc003f570d4fa6bfbde/recipes/turing-machine";
@@ -33546,12 +33968,12 @@
     typit = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, mmt }:
     melpaBuild {
         pname = "typit";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "typit";
-          rev = "0e5b374830e85a32b51a4cc8206df8e494378cb2";
-          sha256 = "1jv5qmp3xs37py7d9aln4jn85j65h9pp5vb2dcmd8rlszhplsrng";
+          rev = "a4e3147dedac5535bdc8b06aca00f34f14f26e35";
+          sha256 = "0hbnwrhxj9wwjvxsk372ffgjqfkb3ljxhgi5h7wps2r15dxfvf3w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d17d019155e19c156f123dcd702f18cfba488701/recipes/typit";
@@ -33888,12 +34310,12 @@
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
-        version = "1.19.3";
+        version = "2.0.1";
         src = fetchFromGitHub {
           owner = "diml";
           repo = "utop";
-          rev = "ee81ce49bab31757837bed35a182d29cbd54dfcb";
-          sha256 = "1p2vjxw0y6py5hly6vjl4gxm171n9pr4rkimxd0rg3dl1npvn99z";
+          rev = "d658bd8f63ed6b23144fdba2ee3f2a6d77979c4f";
+          sha256 = "1x96zxkvfq8mshgi654vvklrr7dqvq9can89n4jrrb82pcn06k5j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@@ -34011,6 +34433,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    vdiff = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }:
+    melpaBuild {
+        pname = "vdiff";
+        version = "0.2.2";
+        src = fetchFromGitHub {
+          owner = "justbur";
+          repo = "emacs-vdiff";
+          rev = "f55acdbfcbb14e463d0850cfd041614c7002669e";
+          sha256 = "0dlhisvnlzkzlilg456lxi0m5wh4a8681n142684hmk8vaw3wx2k";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e90f19c8fa4b0d267d269b76f117995e812e899c/recipes/vdiff";
+          sha256 = "11gw0l63fssbiyhngqb7ykrp7m1vy55wlf27ybhh2dkwh1cpkr4l";
+          name = "vdiff";
+        };
+        packageRequires = [ emacs hydra ];
+        meta = {
+          homepage = "https://melpa.org/#/vdiff";
+          license = lib.licenses.free;
+        };
+      }) {};
+    vdiff-magit = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, vdiff }:
+    melpaBuild {
+        pname = "vdiff-magit";
+        version = "0.3.1";
+        src = fetchFromGitHub {
+          owner = "justbur";
+          repo = "emacs-vdiff-magit";
+          rev = "5e245b6a078860d3b0f58436efec8ff6b4f485db";
+          sha256 = "0rz06jh5ayg0w6a19w9jyyn6jw27ri3cydynflxygk9364zvj59p";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2159275fabde8ec8b297f6635546b1314d519b8b/recipes/vdiff-magit";
+          sha256 = "1vjc1r5xfdg9bmscgppx1fps1w5bd0zpp6ab5z5dxlg2zx2vdldw";
+          name = "vdiff-magit";
+        };
+        packageRequires = [ emacs magit vdiff ];
+        meta = {
+          homepage = "https://melpa.org/#/vdiff-magit";
+          license = lib.licenses.free;
+        };
+      }) {};
     vdirel = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, org-vcard, seq }:
     melpaBuild {
         pname = "vdirel";
@@ -34350,12 +34814,12 @@
     wandbox = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s }:
     melpaBuild {
         pname = "wandbox";
-        version = "0.6.3";
+        version = "0.6.4";
         src = fetchFromGitHub {
           owner = "kosh04";
           repo = "emacs-wandbox";
-          rev = "c82a71e880cb701281dd96a9772bdad37a6eacf2";
-          sha256 = "0hdpy4rf0406615mx5w235dkz71v24qmr2ci5rlqmfv53si0gynj";
+          rev = "e002fe41f2cd9b4ce2b1dc80b83301176e9117f1";
+          sha256 = "0fnbj3k21lisgs94pf8z13cdymmclgpn994xq3xly4gq6l8k0an5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/wandbox";
@@ -34494,22 +34958,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    web-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "14.1";
+        version = "15";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "44de4e0198051b52110d50d860db26ed770219f3";
-          sha256 = "0pbim6aw0w9z5bb0hl98bda1a19pjmfki6jr1mxcfi5yismk2863";
+          rev = "aef2a32f6e5e2fdb7f38a650b009a737c67959e2";
+          sha256 = "14x91pngh9i7r66inssc4jaqvzv2kb3bnbks5x2bhsidvls7s28r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
           sha256 = "1vyhyc5nf4yj2m63inpwmcqvlsihaqw8nn8xvfdg44nhl6vjz97i";
           name = "web-mode";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/web-mode";
           license = lib.licenses.free;
@@ -34536,27 +35000,48 @@
           license = lib.licenses.free;
         };
       }) {};
-    webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, request }:
+    webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "webpaste";
-        version = "1.3.0";
+        version = "1.5.0";
         src = fetchFromGitHub {
           owner = "etu";
           repo = "webpaste.el";
-          rev = "70e8fd064184632b0363572b74647c7250d6eb1b";
-          sha256 = "1zlc65c0wnp8wgnpn9f60bxm4p2g46h1s2dpqm6rrvb7yp0diml3";
+          rev = "77e6154ece15ffcc58db80dca48fe342376831aa";
+          sha256 = "0zj1hhz7m0fxaj03aqjfd6jhcg2khi87l6742miwkdxxggwhdijj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste";
           sha256 = "1pqqapslb5wxfrf1ykrj5jxcl43pix17lawgdqrqkv5fyxbhmfpm";
           name = "webpaste";
         };
-        packageRequires = [ cl-lib emacs json request ];
+        packageRequires = [ cl-lib emacs request ];
         meta = {
           homepage = "https://melpa.org/#/webpaste";
           license = lib.licenses.free;
         };
       }) {};
+    websocket = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "websocket";
+        version = "1.8";
+        src = fetchFromGitHub {
+          owner = "ahyatt";
+          repo = "emacs-websocket";
+          rev = "a9b8e74fa190024cd450ef4f832482e8438674fa";
+          sha256 = "0yi6g7wmjsgv0dmpyf8cpin0icw3ymb7vbr3f9s01xs2w6kp8p13";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket";
+          sha256 = "1v8jlpahp30lihz7mdznwl6pyrbsdbqznli2wb5gfblnlxil04lg";
+          name = "websocket";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/websocket";
+          license = lib.licenses.free;
+        };
+      }) {};
     weechat = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tracking }:
     melpaBuild {
         pname = "weechat";
@@ -34707,12 +35192,12 @@
     which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "which-key";
-        version = "2.0.1";
+        version = "3.0.1";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-which-key";
-          rev = "3c7ecc69d48258af66978a685aedcbc8d1ada512";
-          sha256 = "1q6v4bnw9sl6f138lxkqp979xpbgsb57gxj8a1k7clms16kkn5ci";
+          rev = "3ff303b50495d492cfac70cc9f7321971928bdb1";
+          sha256 = "1q0rg13lq31fqnkpkss61pfyx7ib7i4r1jbcavpjyr5gqcb08fzm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -34767,6 +35252,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    whizzml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "whizzml-mode";
+        version = "0.2.1";
+        src = fetchFromGitHub {
+          owner = "whizzml";
+          repo = "whizzml-mode";
+          rev = "662c60173cdb396fcb2386d7d7c774d26f16cd9f";
+          sha256 = "1nyl1whhi3zrzb5b4vkmqdaggnxrqmzmw1amf7hbw0mvx5mpy9pa";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/11f26b15c326c3b8541bac510579b32493916042/recipes/whizzml-mode";
+          sha256 = "0gas9xfpz5v9fbhjxhd4msihwz9w4a05l5icsaclxvh06f92wcyk";
+          name = "whizzml-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/whizzml-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     whole-line-or-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "whole-line-or-region";
@@ -35189,12 +35695,12 @@
     writeroom-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, visual-fill-column }:
     melpaBuild {
         pname = "writeroom-mode";
-        version = "3.6.1";
+        version = "3.7";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "writeroom-mode";
-          rev = "f853350da848d0814f822587ae310e52d895f523";
-          sha256 = "1al4ch96p0c8qf51pqv62nl3cwz05w8s2cgkxl01ff3l9y7qjsvz";
+          rev = "d3252f54c8f9f37a19d6a21fb2291c3da7a7121a";
+          sha256 = "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode";
@@ -35653,8 +36159,8 @@
         version = "1.78";
         src = fetchhg {
           url = "https://www.yatex.org/hgrepos/yatex/";
-          rev = "428584533eab";
-          sha256 = "1nrvlziqfsyvsk09ynpww99z4vb8zv8h2jxsslvx1nm1shyn2ckh";
+          rev = "c996fbcc2e79";
+          sha256 = "1ibj0dhpgxa143azr07wkmz86fip247cbk2s5fwj4nrj96z6cw9y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex";
@@ -35995,12 +36501,12 @@
     zzz-to-char = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zzz-to-char";
-        version = "0.1.1";
+        version = "0.1.2";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "zzz-to-char";
-          rev = "efbe99c9163602f23408abaea70ffe292632bf26";
-          sha256 = "0y0hhar3krkvbpb5y9k197mb0wfpz8cl6fmxazq8msjml7hkk339";
+          rev = "b62414b155fe2e09d91b70059a909d1403d89acf";
+          sha256 = "07a086s3fpncr4plkmr89vghn7xwji9k69m64ri7i1vhnnl6q4zj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7063cbc1f1501ce81552d7ef1d42d1309f547c42/recipes/zzz-to-char";
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index 83f5208e81e..31d116fa2cb 100644
--- a/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -1,10 +1,10 @@
 { callPackage }: {
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20170502";
+        version = "20170606";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20170502.tar";
-          sha256 = "1y5rdf6740z45v75y17yh3a1ivdk5fjrax3hyr11jydyicczk4h1";
+          url = "http://orgmode.org/elpa/org-20170606.tar";
+          sha256 = "11x6s30j6k0y3jfzcp16qyqn48mki9j18iblnpl5dr1bk8kyvd0x";
         };
         packageRequires = [];
         meta = {
@@ -14,10 +14,10 @@
       }) {};
     org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org-plus-contrib";
-        version = "20170502";
+        version = "20170606";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20170502.tar";
-          sha256 = "06pr3w11zpns66km27ql3w8qlk6bxaxqx3bmaiwrxykhbf74dib0";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20170606.tar";
+          sha256 = "0r6a5spzdbx6qdz5aziycmhjxm392v7iifv7mnln4s5lgnsswb1h";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch b/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch
new file mode 100644
index 00000000000..704e4b6c8c7
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch
@@ -0,0 +1,16 @@
+diff -r c7d8bfff4c0a bin/proofgeneral
+--- a/bin/proofgeneral	Sat Sep 27 02:25:15 2014 +0100
++++ b/bin/proofgeneral	Sat Sep 27 02:28:16 2014 +0100
+@@ -73,11 +73,7 @@
+ 
+ # Try to find Proof General directory
+ if [ -z "$PGHOME" ] || [ ! -d "$PGHOME" ]; then
+-    # default relative to this script, otherwise PGHOMEDEFAULT
+-    MYDIR="`readlink --canonicalize "$0" | sed -ne 's,/bin/proofgeneral$,,p'`"
+-    if [ -d "$MYDIR/generic" ]; then
+-	PGHOME="$MYDIR"
+-    elif [ -d "$PGHOMEDEFAULT" ]; then
++    if [ -d "$PGHOMEDEFAULT" ]; then
+ 	PGHOME="$PGHOMEDEFAULT"
+     else
+ 	echo "Cannot find the Proof General lisp files: Set PGHOME or use --pghome."
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index e919627ffe2..d599bc12315 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -1,17 +1,19 @@
 { lib, stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf
 , coreutils, gnugrep, which, git, python, unzip, p7zip
-, androidsdk, jdk
+, androidsdk, jdk, cmake, libxml2, zlib, python2, ncurses
 }:
 
 assert stdenv.isLinux;
 
+with stdenv.lib;
+
 let
   mkJetBrainsProduct = callPackage ./common.nix { };
 
   # Sorted alphabetically
 
   buildClion = { name, version, src, license, description, wmClass }:
-    (mkJetBrainsProduct rec {
+    lib.overrideDerivation (mkJetBrainsProduct rec {
       inherit name version src wmClass jdk;
       product = "CLion";
       meta = with stdenv.lib; {
@@ -21,9 +23,35 @@ let
           Enhancing productivity for every C and C++
           developer on Linux, OS X and Windows.
         '';
-        maintainers = with maintainers; [ edwtjo ];
+        maintainers = with maintainers; [ edwtjo mic92 ];
         platforms = platforms.linux;
       };
+    }) (attrs: {
+      postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
+        (
+          cd $out/clion-${version}
+          # bundled cmake does not find libc
+          rm -rf bin/cmake
+          ln -s ${cmake} bin/cmake
+
+          lldbLibPath=$out/clion-${version}/bin/lldb/lib
+          interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
+          ln -s ${ncurses.out}/lib/libncurses.so $lldbLibPath/libtinfo.so.5
+
+          patchelf --set-interpreter $interp \
+            --set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib ]}:$lldbLibPath" \
+            bin/lldb/bin/lldb-server
+          patchelf --set-interpreter $interp \
+            --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$lldbLibPath" \
+            bin/lldb/LLDBFrontend
+          patchelf \
+            --set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib python2 ]}:$lldbLibPath" \
+            bin/lldb/lib/liblldb.so
+
+          patchelf --set-interpreter $interp bin/gdb/bin/gdb
+          patchelf --set-interpreter $interp bin/gdb/bin/gdbserver
+        )
+      '';
     });
 
   buildDataGrip = { name, version, src, license, description, wmClass }:
@@ -185,12 +213,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2017.1.1";
+    version = "2017.1.3";
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1bh92gakxqrg65rfhg8984ca338ff0y17kdjkpr6rbh1i39npgcs";
+      sha256 = "045pkbbf4ypk9qkhldz08i7hbc6vaq68a8v9axnpndnvcrf0vf7g";
     };
     wmClass = "jetbrains-clion";
   };
@@ -209,12 +237,12 @@ in
 
   gogland = buildGogland rec {
     name = "gogland-${version}";
-    version = "171.4424.55";
+    version = "171.4694.35";
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0l5pn2wj541v1xc58bpipkl483zrhwjr37grkwiwx2j4iygrikq7";
+      sha256 = "0q2f8bi2i49j0xcpn824sihz2015jhn338cjaqy0jd988nxik6jk";
     };
     wmClass = "jetbrains-gogland";
   };
@@ -233,12 +261,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2017.1.3";
+    version = "2017.1.4";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0ag70z4cark69hzhvx5j75qa8dglwzfaqrzi8pim3asd161fwxrx";
+      sha256 = "1w1knq969dl8rxlkhr9mw8cr2vszn384acwhspimrd3zs9825r45";
     };
     wmClass = "jetbrains-idea-ce";
   };
@@ -269,12 +297,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2017.1.2";
+    version = "2017.1.4";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
-      sha256 = "03p5946j8m1v2ca21fz4cy4d90y6ksb8xcgd6ff7g15lg46hpjsm";
+      sha256 = "0byrsbsscpzb0syamzpavny879src5dlclnissa7173rh8hgkna4";
     };
     wmClass = "jetbrains-idea";
   };
@@ -305,24 +333,24 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2017.1.2";
+    version = "2017.1.3";
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "03c352lj6vnc7cs5ch8p12i4f95qadnibzbrxmxv5xqglpdrp7g9";
+      sha256 = "06sai589zli5xaggfk4g0j0grbw9mya9qlwabmxh9414qq3bzvbd";
     };
     wmClass = "jetbrains-pycharm-ce";
   };
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2017.1.2";
+    version = "2017.1.3";
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0jrrlrkwi6f70nqrrz2vv1wdjpwjbh2in1g658dsbr9gpmkdmy0q";
+      sha256 = "1wzgh83504px7q93h9xkarih2qjchiavgysy4di82q7377s6xd0c";
     };
     wmClass = "jetbrains-pycharm";
   };
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 9191d7a6653..c599666f4d5 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -9,16 +9,15 @@
 
 let
   pname = "kdevelop";
-  version = "5.0.4";
-  dirVersion = "5.0.4";
+  version = "5.1.1";
 
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz";
-    sha256 = "191142b2bdb14837c82721fdfeb15e852329f2c4c0d48fd479c57514c3235d55";
+    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
+    sha256 = "0a01a4ffb2f01802cf4945521a3149a8f82c21fa8a97935991f1854b7db5d754";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
index f2b4fc32fe4..d3680aff3d8 100644
--- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules, makeQtWrapper
+{ stdenv, fetchurl, fetchpatch, cmake, gettext, pkgconfig, extra-cmake-modules, makeQtWrapper
 , boost, subversion, apr, aprutil
 , qtscript, qtwebkit, grantlee, karchive, kconfig, kcoreaddons, kguiaddons, kiconthemes, ki18n
 , kitemmodels, kitemviews, kio, kparts, sonnet, kcmutils, knewstuff, knotifications
@@ -6,18 +6,25 @@
 
 let
   pname = "kdevplatform";
-  version = "5.0.4";
-  dirVersion = "5.0.4";
+  version = "5.1.1";
 
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   
   src = fetchurl {
-    url = "mirror://kde/stable/kdevelop/${dirVersion}/src/${name}.tar.xz";
-    sha256 = "01abfcd71383048d017fe989ccce0e7590010a3975bbe6e161f55ababe2ad471";
+    url = "mirror://kde/stable/kdevelop/${version}/src/${name}.tar.xz";
+    sha256 = "3159440512b1373c1a4b35f401ba1f81217de9578372b45137af141eeda6e726";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "kdevplatform-project-selection.patch";
+      url = "https://cgit.kde.org/kdevplatform.git/patch/?id=da4c0fdfcf21dc2a8f48a2b1402213a32effd47a";
+      sha256 = "16ws8l6dciy2civjnsaj03ml2bzvg4a9g7gd4iyx4hprw65zrcxm";
+    })
+  ];
+
   nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ];
 
   propagatedBuildInputs = [ ];
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 78d3953a96b..29e76f7d23a 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.8.3";
+  version = "2.8.4";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "0m8g1f1c09kjmy7w6dxq30yw373nsv1ylj7986xyv4a0jddybf32";
+    sha256 = "04bvmimrw40cbcnm3xm5l5lir0qy7cncfkmwrlzg8jiy1x7jdky7";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 8c9a725ddd6..98e9a47a760 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -2,7 +2,7 @@
 # default vimrc
 , vimrc ? fetchurl {
     name = "default-vimrc";
-    url = https://projects.archlinux.org/svntogit/packages.git/plain/trunk/archlinux.vim?h=packages/vim?id=68f6d131750aa778807119e03eed70286a17b1cb;
+    url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/archlinux.vim?id=68f6d131750aa778807119e03eed70286a17b1cb;
     sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c";
   }
 # apple frameworks
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 81aca06267b..50103de4d05 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,7 +2,7 @@
   makeWrapper, libXScrnSaver, libxkbfile }:
 
 let
-  version = "1.12.1";
+  version = "1.13.0";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "0i4zqxbq7bm2afzyny3a53sq1fghlz5an1z8fkqh5i3029s635h9";
-    "x86_64-linux" = "0kwmfiyb70if4svamnivbc9w65c14j3lrn5vysqkc4b8hlk4r75i";
-    "x86_64-darwin" = "1dgs4k4m885qzammhj0x9k6pd8rayxn61iq3fiazp0w8v5bhl4l5";
+    "i686-linux" = "069pv0w8yhsv50glpcxzypsjc7mxmrcrv25c75rnv43yiyamjvyi";
+    "x86_64-linux" = "0cjkkvd5rs82yji0kpnbvzgwz5qvh9x6bmjd51rrvjz84dbwhgzq";
+    "x86_64-darwin" = "1qbxv5drqrx9k835a6zj3kkbh4sga5r9y0gf9bq16g3gf0dd9bwq";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 2ee7f3bb160..7455736ed02 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -12,8 +12,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.4-6";
-    sha256 = "1nm0hjijwhcp6rzcn7zksp2820dxvj4lmblj7kzpzd3s1ds09q0y";
+    version = "7.0.5-7";
+    sha256 = "11k53193az0bvdhp4gz2g9p8fb6r5fr1h74dnfx6ijfnfj80hbgp";
     patches = [];
   };
 in
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 58a88e89681..052d424376d 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -12,8 +12,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.7-6";
-    sha256 = "17pc3xz8srb9g5a5gkk6q9sjiss77fgm0wxxfmb5qya4rqivjpzn";
+    version = "6.9.8-9";
+    sha256 = "0wr6wcmvaw62f6pkgnpqnjmp331wfwmds9wmqzr4zv53s9k1lkzn";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index 8c430435dd7..47004a02500 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -8,7 +8,7 @@ let
   inherit (python2Packages) pygtk wrapPython python;
 in stdenv.mkDerivation rec {
   name = "gimp-${version}";
-  version = "2.8.20";
+  version = "2.8.22";
 
   # This declarations for `gimp-with-plugins` wrapper,
   # (used for determining $out/lib/gimp/${majorVersion}/ paths)
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    sha256 = "939ca1df70be865c672ffd654f4e20f188121d01601c5c90237214101533c805";
+    sha256 = "12k3lp938qdc9cqj29scg55f3bb8iav2fysd29w0s49bqmfa71wi";
   };
 
   buildInputs =
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index fdcd7636c02..f48ce6a4ce4 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -26,17 +26,18 @@ stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs share/extensions
     patchShebangs fix-roff-punct
-  '';
 
-  # Python is used at run-time to execute scripts, e.g., those from
-  # the "Effects" menu.
-  propagatedBuildInputs = [ python2Env ];
+    # Python is used at run-time to execute scripts, e.g., those from
+    # the "Effects" menu.
+    substituteInPlace src/extension/implementation/script.cpp \
+      --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
+  '';
 
   buildInputs = [
     pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
     makeWrapper intltool gsl poppler imagemagick libwpg librevenge
-    libvisio libcdr libexif automake114x potrace cmake
+    libvisio libcdr libexif automake114x potrace cmake python2Env
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix
index 8a24eab2200..0c800ce9859 100644
--- a/pkgs/applications/graphics/simple-scan/default.nix
+++ b/pkgs/applications/graphics/simple-scan/default.nix
@@ -29,6 +29,17 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/share/icons
     mv $out/share/simple-scan/icons/* $out/share/icons/
+    (
+    cd ${gnome3.defaultIconTheme}/share/icons/Adwaita
+    for f in `find . | grep 'scanner\.'`
+    do
+      local outFile="`echo "$out/share/icons/hicolor/$f" | sed \
+        -e 's#/devices/#/apps/#g' \
+        -e 's#scanner\.#simple-scan\.#g'`"
+      mkdir -p "`realpath -m "$outFile/.."`"
+      cp "$f" "$outFile"
+    done
+    )
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix
index 1bb57538cd5..dc896e0b0d9 100644
--- a/pkgs/applications/graphics/unigine-valley/default.nix
+++ b/pkgs/applications/graphics/unigine-valley/default.nix
@@ -51,20 +51,30 @@ in
     ];
 
     unpackPhase = ''
+      runHook preUnpack
+
       cp $src extractor.run
       chmod +x extractor.run
       ./extractor.run --target $sourceRoot
+
+      runHook postUnpack
     '';
 
     patchPhase = ''
+      runHook prePatch
+
       # Patch ELF files.
       elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1)
       for elf in $elfs; do
         patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true
       done
+
+      runHook postPatch
     '';
 
     installPhase = ''
+      runHook preInstall
+
       instdir=$out/${instPath}
 
       # Install executables and libraries
@@ -86,6 +96,8 @@ in
       wrapProgram $out/bin/valley \
         --run "cd $instdir" \
         --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath
+
+      runHook postInstall
     '';
 
     stripDebugList = ["${instPath}/bin"];
diff --git a/pkgs/applications/kde/kdenlive-cmake-concurrent-module.patch b/pkgs/applications/kde/kdenlive-cmake-concurrent-module.patch
new file mode 100644
index 00000000000..ea2af2b0950
--- /dev/null
+++ b/pkgs/applications/kde/kdenlive-cmake-concurrent-module.patch
@@ -0,0 +1,12 @@
+diff -Naur kdenlive-17.04.1-upstream/CMakeLists.txt kdenlive-17.04.1/CMakeLists.txt
+--- kdenlive-17.04.1-upstream/CMakeLists.txt	2017-06-10 00:06:44.773146595 -0400
++++ kdenlive-17.04.1/CMakeLists.txt	2017-06-10 00:07:35.766596566 -0400
+@@ -79,7 +79,7 @@
+ check_include_files(malloc.h HAVE_MALLOC_H)
+ check_include_files(pthread.h HAVE_PTHREAD_H)
+ 
+-find_package(Qt5 REQUIRED COMPONENTS Core DBus Widgets Script Svg Quick )
++find_package(Qt5 REQUIRED COMPONENTS Core Concurrent DBus Widgets Script Svg Quick )
+ find_package(Qt5 OPTIONAL_COMPONENTS WebKitWidgets QUIET)
+ 
+ find_package(KF5 5.23.0 OPTIONAL_COMPONENTS XmlGui QUIET)
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix
index 3c18772f039..e543a3d84bf 100644
--- a/pkgs/applications/kde/kdenlive.nix
+++ b/pkgs/applications/kde/kdenlive.nix
@@ -34,6 +34,9 @@
 let
 unwrapped = kdeApp {
   name = "kdenlive";
+  patches = [
+    ./kdenlive-cmake-concurrent-module.patch
+  ];
   nativeBuildInputs = [
     extra-cmake-modules
     kdoctools
diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix
index 80e77858a06..f3c011e3333 100644
--- a/pkgs/applications/misc/albert/default.nix
+++ b/pkgs/applications/misc/albert/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name    = "albert-${version}";
-  version = "0.11.1";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner  = "albertlauncher";
     repo   = "albert";
     rev    = "v${version}";
-    sha256 = "1ai0h3lbdac0a4xzd6pm3i0r8w0gfdnw9rdkj0szyzvm428f88s6";
+    sha256 = "0ddz6h1334b9kqy1lfi7qa21znm3l0b9h0d4s62llxdasv103jh5";
   };
 
   nativeBuildInputs = [ cmake makeQtWrapper ];
diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix
index 977f5e94e5d..a07e0b6db61 100644
--- a/pkgs/applications/misc/apvlv/default.nix
+++ b/pkgs/applications/misc/apvlv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, pcre, libxkbcommon, epoxy
-, gtk3, poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence
+, gtk3, poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
     libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation
   ];
 
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
   patches = [
     (fetchpatch {
       url = "https://github.com/naihe2010/apvlv/commit/d432635b9c5ea6c052a2ae1fb71aedec5c4ad57a.patch";
@@ -41,6 +45,7 @@ stdenv.mkDerivation rec {
     # displays pdfStartup.pdf as default pdf entry
     mkdir -p $out/share/doc/apvlv/
     cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf
+    cp ../main_menubar.glade $out/share/doc/apvlv/main_menubar.glade
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 6dcd96216cb..49c005cf739 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchpatch, poppler_utils, pkgconfig, libpng
 , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
 , makeWrapper, unrarSupport ? false, chmlib, python2Packages, xz, libusb1, libmtp
-, xdg_utils, makeDesktopItem
+, xdg_utils, makeDesktopItem, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     poppler_utils libpng imagemagick libjpeg
-    fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
+    fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
   ] ++ (with python2Packages; [
     apsw cssselect cssutils dateutil lxml mechanize netifaces pillow
     python pyqt5 sip
@@ -62,6 +62,8 @@ stdenv.mkDerivation rec {
   ]);
 
   installPhase = ''
+    runHook preInstall
+
     export HOME=$TMPDIR/fakehome
     export POPPLER_INC_DIR=${poppler_utils.dev}/include/poppler
     export POPPLER_LIB_DIR=${poppler_utils.out}/lib
@@ -92,6 +94,8 @@ stdenv.mkDerivation rec {
     for entry in $out/share/applications/*.desktop; do
       substituteAllInPlace $entry
     done
+
+    runHook postInstall
   '';
 
   calibreDesktopItem = makeDesktopItem {
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 1dc9fe5e202..8ef4f3ae897 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dmenu-4.6";
+  name = "dmenu-4.7";
 
   src = fetchurl {
     url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "1cwnvamqqlgczvd5dv5rsgqbhv8kp0ddjnhmavb3q732i8028yja";
+    sha256 = "1fgph549i0yw62x02jhfc8qmqk2rnzcnm46bxq6jig1cvkw3amm7";
   };
 
   buildInputs = [ libX11 libXinerama zlib libXft ];
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index a2d39f2d486..14c6c18f91c 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "electrum-${version}";
-  version = "2.8.2";
+  version = "2.8.3";
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "01xphbi7lx64s9380zjfakz5h8blqmxp0ryqlll7px66qpmjn5fq";
+    sha256 = "04jswalydzwm16iismbq1h2shj17iq9sqm0mz8p98sh3dwkacvn1";
   };
 
   propagatedBuildInputs = with python2Packages; [
diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix
index de22e08c705..87709ec102b 100644
--- a/pkgs/applications/misc/far2l/default.nix
+++ b/pkgs/applications/misc/far2l/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, makeWrapper, cmake, pkgconfig, wxGTK30, glib, pcre, m4, bash,
-  xdg_utils, xterm, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz }:
+  xdg_utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick }:
 
 stdenv.mkDerivation rec {
-  rev = "c2f2b89db31b1c3cb9bed53267873f4cd7bc996d";
-  build = "2017-03-18-${builtins.substring 0 10 rev}";
+  rev = "ab240373f69824c56e9255d452b689cff3b1ecfb";
+  build = "2017-05-09-${builtins.substring 0 10 rev}";
   name = "far2l-2.1.${build}";
 
   src = fetchFromGitHub {
     owner = "elfmz";
     repo = "far2l";
     rev = rev;
-    sha256 = "1172ajg4n8g4ag14b6nb9lclwh2r6v7ccndmvhnj066w35ixnqgb";
+    sha256 = "1b6w6xhja3xkfzhrdy8a8qpbhxws75khm1zhwz8sc8la9ykd541q";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper ];
+  nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper imagemagick ];
 
   buildInputs = [ wxGTK30 glib pcre ];
 
@@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
     substituteInPlace far2l/bootstrap/open.sh              \
       --replace 'gvfs-trash'  '${gvfs}/bin/gvfs-trash'
     substituteInPlace far2l/bootstrap/open.sh              \
-      --replace 'xdg-open'    '${xdg_utils}/bin/xdg-open'  \
-      --replace 'xterm'       '${xterm}/bin/xterm'
+      --replace 'xdg-open'    '${xdg_utils}/bin/xdg-open'
     substituteInPlace far2l/vtcompletor.cpp                \
       --replace '"/bin/bash"' '"${bash}/bin/bash"'
     substituteInPlace multiarc/src/formats/zip/zip.cpp     \
@@ -41,12 +40,20 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/{bin,share}
-    rm install/{far2l_askpass,far2l_sudoapp}
-    mv install/far2l $out/bin/far2l
-    mv install $out/share/far2l
-    ln -s -r $out/bin/far2l $out/share/far2l/far2l_askpass
-    ln -s -r $out/bin/far2l $out/share/far2l/far2l_sudoapp
+    mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/scalable/apps
+    cp -dpR install $out/share/far2l
+    mv $out/share/far2l/far2l $out/bin/
+    ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_askpass
+    ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_sudoapp
+
+    sed "s,/usr/bin/,$out/bin/," ../far2l/DE/far2l.desktop > $out/share/applications/far2l.desktop
+
+    cp ../far2l/DE/icons/hicolor/1024x1024/apps/far2l.svg $out/share/icons/hicolor/scalable/apps/
+    convert -size 128x128 ../far2l/DE/icons/far2l.svg $out/share/icons/far2l.png
+    for size in 16x16 24x24 32x32 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512 1024x1024; do
+      mkdir -p $out/share/icons/hicolor/$size/apps
+      convert -size $size ../far2l/DE/icons/hicolor/$size/apps/far2l.svg $out/share/icons/hicolor/$size/apps/far2l.png
+    done
   '';
 
   stripDebugList = "bin share";
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 074a0c6fa43..4322b408843 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -2,48 +2,53 @@ GEM
   remote: https://rubygems.org/
   specs:
     charlock_holmes (0.7.3)
-    diff-lcs (1.2.5)
-    github-markup (1.3.3)
-    gitlab-grit (2.7.3)
+    diff-lcs (1.3)
+    gemojione (3.2.0)
+      json
+    github-markup (1.6.0)
+    gitlab-grit (2.8.1)
       charlock_holmes (~> 0.6)
       diff-lcs (~> 1.1)
-      mime-types (~> 1.15)
+      mime-types (>= 1.16, < 3)
       posix-spawn (~> 0.3)
-    gollum (4.0.1)
+    gollum (4.1.1)
+      gemojione (~> 3.2)
       gollum-lib (~> 4.0, >= 4.0.1)
-      kramdown (~> 1.8.0)
+      kramdown (~> 1.9.0)
       mustache (>= 0.99.5, < 1.0.0)
       sinatra (~> 1.4, >= 1.4.4)
-      useragent (~> 0.14.0)
-    gollum-grit_adapter (1.0.0)
+      useragent (~> 0.16.2)
+    gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    gollum-lib (4.1.0)
-      github-markup (~> 1.3.3)
+    gollum-lib (4.2.5)
+      gemojione (~> 3.2)
+      github-markup (~> 1.6)
       gollum-grit_adapter (~> 1.0)
       nokogiri (~> 1.6.4)
-      rouge (~> 1.9)
-      sanitize (~> 2.1.0)
-      stringex (~> 2.5.1)
-    kramdown (1.8.0)
-    mime-types (1.25.1)
-    mini_portile2 (2.0.0)
+      rouge (~> 2.0)
+      sanitize (~> 2.1)
+      stringex (~> 2.6)
+    json (2.1.0)
+    kramdown (1.9.0)
+    mime-types (2.99.3)
+    mini_portile2 (2.1.0)
     mustache (0.99.8)
-    nokogiri (1.6.7.2)
-      mini_portile2 (~> 2.0.0.rc2)
-    posix-spawn (0.3.11)
-    rack (1.6.4)
+    nokogiri (1.6.8.1)
+      mini_portile2 (~> 2.1.0)
+    posix-spawn (0.3.13)
+    rack (1.6.8)
     rack-protection (1.5.3)
       rack
-    rouge (1.10.1)
+    rouge (2.0.7)
     sanitize (2.1.0)
       nokogiri (>= 1.4.4)
-    sinatra (1.4.7)
+    sinatra (1.4.8)
       rack (~> 1.5)
       rack-protection (~> 1.4)
       tilt (>= 1.3, < 3)
-    stringex (2.5.2)
-    tilt (2.0.2)
-    useragent (0.14.0)
+    stringex (2.7.1)
+    tilt (2.0.7)
+    useragent (0.16.8)
 
 PLATFORMS
   ruby
@@ -52,4 +57,4 @@ DEPENDENCIES
   gollum
 
 BUNDLED WITH
-   1.10.6
+   1.15.0
diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix
index 1f3cc9e27c0..160b38463b6 100644
--- a/pkgs/applications/misc/gollum/default.nix
+++ b/pkgs/applications/misc/gollum/default.nix
@@ -1,16 +1,32 @@
-{ stdenv, lib, bundlerEnv, ruby_2_2, icu, zlib }:
+{ stdenv, bundlerEnv, ruby, makeWrapper
+, git }:
 
-bundlerEnv rec {
-  name = "gollum-${version}";
-  version = "4.0.1";
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "gollum";
+  version = (import ./gemset.nix).gollum.version;
 
-  ruby = ruby_2_2;
-  gemdir = ./.;
+  nativeBuildInputs = [ makeWrapper ];
 
-  meta = with lib; {
+  env = bundlerEnv {
+    name = "${name}-gems";
+    inherit pname ruby;
+    gemdir = ./.;
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    makeWrapper ${env}/bin/gollum $out/bin/gollum \
+      --prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
+  '';
+
+  meta = with stdenv.lib; {
     description = "A simple, Git-powered wiki";
+    homepage = "https://github.com/gollum/gollum";
     license = licenses.mit;
-    maintainers = with maintainers; [ jgillich ];
+    maintainers = with maintainers; [ jgillich primeos ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index f0c71fa455c..2ad724b2bc7 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -1,170 +1,186 @@
 {
-  useragent = {
-    version = "0.14.0";
+  charlock_holmes = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "124r3mgkw1zjymsqq9r25zh1vwjrjgiji5fm620z53lpmmryj22j";
+      sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
+      type = "gem";
     };
+    version = "0.7.3";
   };
-  tilt = {
-    version = "2.0.2";
+  diff-lcs = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0lkd40xfdqkp333vdfhrfjmi2y7k2hjs4azawfb62mrkfp7ivj84";
+      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
+      type = "gem";
     };
+    version = "1.3";
   };
-  stringex = {
-    version = "2.5.2";
+  gemojione = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
+      sha256 = "0svj3hsmwyr306vg75cd7p9i4bwnajrda60n2vhiav2cvhnkawik";
+      type = "gem";
     };
+    version = "3.2.0";
   };
-  sinatra = {
-    version = "1.4.7";
+  github-markup = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "1b81kbr65mmcl9cdq2r6yc16wklyp798rxkgmm5pr9fvsj7jwmxp";
+      sha256 = "1g538d7kcj2iw4d9ll8266d8n526hz2fbx7zlx8z7gxg1gzwiki9";
+      type = "gem";
     };
+    version = "1.6.0";
   };
-  sanitize = {
-    version = "2.1.0";
+  gitlab-grit = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+      sha256 = "0lf1cr6pzqrbnxiiwym6q74b1a2ihdi91dynajk8hi1p093hl66n";
+      type = "gem";
     };
+    version = "2.8.1";
   };
-  rouge = {
-    version = "1.10.1";
+  gollum = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
+      sha256 = "0jrafhy8p9pgvya0gj2g6knrpg58g65s7j9bcyfj6fp4n2dz2w7s";
+      type = "gem";
     };
+    version = "4.1.1";
   };
-  rack-protection = {
-    version = "1.5.3";
+  gollum-grit_adapter = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+      sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
+      type = "gem";
     };
+    version = "1.0.1";
   };
-  rack = {
-    version = "1.6.4";
+  gollum-lib = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
+      sha256 = "0399lfqv3hbpr7v14p9snyimva440d2mb8y7xm2zlgwv7l0n9z0z";
+      type = "gem";
     };
+    version = "4.2.5";
   };
-  posix-spawn = {
-    version = "0.3.11";
+  json = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
       type = "gem";
+    };
+    version = "2.1.0";
+  };
+  kramdown = {
+    source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
+      sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0";
+      type = "gem";
     };
+    version = "1.9.0";
   };
-  nokogiri = {
-    version = "1.6.7.2";
+  mime-types = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
       type = "gem";
+    };
+    version = "2.99.3";
+  };
+  mini_portile2 = {
+    source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
+      sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
+      type = "gem";
     };
+    version = "2.1.0";
   };
   mustache = {
-    version = "0.99.8";
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
       sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      type = "gem";
     };
+    version = "0.99.8";
   };
-  mini_portile2 = {
-    version = "2.0.0";
+  nokogiri = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
+      sha256 = "045xdg0w7nnsr2f2gb7v7bgx53xbc9dxf0jwzmh2pr3jyrzlm0cj";
+      type = "gem";
     };
+    version = "1.6.8.1";
   };
-  mime-types = {
-    version = "1.25.1";
+  posix-spawn = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+      sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw";
+      type = "gem";
     };
+    version = "0.3.13";
   };
-  kramdown = {
-    version = "1.8.0";
+  rack = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0ryqq055h5n10c1cfba6pxsssa907l2hkw29anp0d41ryh47ca2l";
+      sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
+      type = "gem";
     };
+    version = "1.6.8";
   };
-  gollum-lib = {
-    version = "4.1.0";
+  rack-protection = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "01s8pgzhc3cgcmsy6hh79wrcbn5vbadniq2a7d4qw87kpq7mzfdm";
+      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+      type = "gem";
     };
+    version = "1.5.3";
   };
-  gollum-grit_adapter = {
-    version = "1.0.0";
+  rouge = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
+      sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d";
+      type = "gem";
     };
+    version = "2.0.7";
   };
-  gollum = {
-    version = "4.0.1";
+  sanitize = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "02pgx083sns75zgnqx94p5h5bpr7cfiw5mys4ayb4k33hcjm6ydg";
+      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+      type = "gem";
     };
+    version = "2.1.0";
   };
-  gitlab-grit = {
-    version = "2.7.3";
+  sinatra = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
+      sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
+      type = "gem";
     };
+    version = "1.4.8";
   };
-  github-markup = {
-    version = "1.3.3";
+  stringex = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
+      sha256 = "1zc93v00av643lc6njl09wwki7h5yqayhh1din8zqfylw814l1dv";
+      type = "gem";
     };
+    version = "2.7.1";
   };
-  diff-lcs = {
-    version = "1.2.5";
+  tilt = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
+      sha256 = "1is1ayw5049z8pd7slsk870bddyy5g2imp4z78lnvl8qsl8l0s7b";
+      type = "gem";
     };
+    version = "2.0.7";
   };
-  charlock_holmes = {
-    version = "0.7.3";
+  useragent = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
+      sha256 = "1139cjqyv1hk1qcw89k81ajjkqyakqgbcyvmfrsmjqi8yn9kgqhq";
+      type = "gem";
     };
+    version = "0.16.8";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 5b977d13796..42fc1e46e33 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gpxsee-${version}";
-  version = "4.3";
+  version = "4.8";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "15f686frxlrmdvh5cc837kx62g0ihqj4vb87i8433g7l5vqkv3lf";
+    sha256 = "17s1v6b1j7pi0yj554bd0cg14bl854gssp5gj2pl51rxji6zr0wp";
   };
 
   nativeBuildInputs = [ qmakeHook qttools makeQtWrapper ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 11be3d733c4..8d14db09c3f 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "hugo-${version}";
-  version = "0.20.6";
+  version = "0.22.1";
 
   goPackagePath = "github.com/spf13/hugo";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "spf13";
     repo = "hugo";
     rev = "v${version}";
-    sha256 = "1r8sjx7rbrjk2a3x3x6cd987xykm2j06jbnwxxsn4rs6yym0yjl8";
+    sha256 = "0m459np11izsflwdja6k0znaxvd8zpgivvswnq9501m49h8m4x7q";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix
index e2e2d093dde..1daab7854d8 100644
--- a/pkgs/applications/misc/hugo/deps.nix
+++ b/pkgs/applications/misc/hugo/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/BurntSushi/toml";
-      rev = "99064174e013895bbd9b025c31100bd1d9b590ca";
-      sha256 = "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9";
+      rev = "b26d9c308763d68093482582cea63d69be07a0f0";
+      sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry";
     };
   }
   {
@@ -13,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/purell";
-      rev = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4";
-      sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91";
+      rev = "b938d81255b5473c57635324295cb0fe398c7a58";
+      sha256 = "0d44lrg04g9nibhdlagwq9n8g5ka1784pm0jzyl6cfpq8nc1ppj8";
     };
   }
   {
@@ -22,8 +22,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "5bd2802263f21d8788851d5305584c82a5c75d7e";
-      sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
+      rev = "bbf7a2afc14f93e1e0a5c06df524fbd75e5031e5";
+      sha256 = "13r896yy71i6jj1cwv2pjp53wjfxkg7bh884fggv6y79ly0qr63j";
     };
   }
   {
@@ -49,8 +49,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/chaseadamsio/goorgeous";
-      rev = "42b0ec184e93fc9fd2c0402f099a4939aba68407";
-      sha256 = "00mlv64q34d0vdq7p88hlsck4lsnk2pnxghx1jzy99r7wvs34am3";
+      rev = "677defd0e024333503d8c946dd4ba3f32ad3e5d2";
+      sha256 = "1mcncs3qdb62m9xwhkxy743ddvgsjfbmbl2djnhqmz1va05njna1";
     };
   }
   {
@@ -58,8 +58,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/cpuguy83/go-md2man";
-      rev = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa";
-      sha256 = "1rm3zjrmfpzy0l3qp02xmd5pqzl77pdql9pbxhl0k1qw2vfzrjv6";
+      rev = "bcc0a711c5e6bbe72c7cb13d81c7109b45267fd2";
+      sha256 = "097l5ln1b08x5hc41qhiybzlyjfcm6kjllgv6pgsgxlx8irz459j";
     };
   }
   {
@@ -76,8 +76,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/eknkc/amber";
-      rev = "9be5e8aae85904f63d505e0c00e5e0881d44ef4d";
-      sha256 = "1hmsqxwajgpmg1svzjqxf4n81qy7qs6m39cjv69jkhz9lpwc305j";
+      rev = "f0d8fdb67f9f4a2c0d02fb6ce4830b8b6754de10";
+      sha256 = "148q8ng5kzv1n8wz5dx9fjhz7kz1l34n8vmksnfwhnqg82b77vsy";
     };
   }
   {
@@ -85,8 +85,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/fortytw2/leaktest";
-      rev = "0db74e8cd5adacfcc982838c6e185789e4b44e14";
-      sha256 = "11s04f1pliqw185ai1dbpqn5rahc3yzv2fp5zdanjvql4168499m";
+      rev = "7dad53304f9614c1c365755c1176a8e876fee3e8";
+      sha256 = "1f2pmzs0dgayg0q672cpzxqa1ls48aha262qxlglihdvami53b2m";
     };
   }
   {
@@ -103,8 +103,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev = "adf16b31781325cbd41085c5be901d95b4d1f33d";
-      sha256 = "0f93k3igbqqwsl734lxnkbfajc4lcyzg4szg15vb26qn939b5ccx";
+      rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
+      sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-immutable-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-immutable-radix";
+      rev = "30664b879c9a771d8d50b137ab80ee0748cb2fcc";
+      sha256 = "0v9k0l7w2zmczcqmhrmpb9hvc63xm9ppbb8fj87yvl0hvrb92mgb";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "0a025b7e63adc15a622f29b0b2c4c3848243bbf6";
+      sha256 = "1iq7lbpsz7ks052mpznmkf8s4k43p51z4dik2n9ivrxk666q2wxi";
     };
   }
   {
@@ -112,8 +130,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/hcl";
-      rev = "80e628d796135357b3d2e33a985c666b9f35eee1";
-      sha256 = "0l85a7ir60hycb3mqsxmrz18f1kax03k55afsahr8xf46pjp5pyb";
+      rev = "392dba7d905ed5d04a5794ba89f558b27e2ba1ca";
+      sha256 = "1rfm67kma2hpakabf7hxlj196jags4rpjpcirwg4kan4g9b6j0kb";
     };
   }
   {
@@ -130,8 +148,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kardianos/osext";
-      rev = "9b883c5eb462dd5cb1b0a7a104fe86bc6b9bd391";
-      sha256 = "0cyhbgsxwdfnwy57pdfivvjfy951gxbg9qlsjbwm6vs3gfws07mr";
+      rev = "ae77be60afb1dcacde03767a8c37337fad28ac14";
+      sha256 = "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz";
     };
   }
   {
@@ -148,8 +166,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kyokomi/emoji";
-      rev = "7e06b236c489543f53868841f188a294e3383eab";
-      sha256 = "1q2j0k5a8qqka1syc9zwmf1cvm6k628kf2g1nmghp2kdr7q1xmyb";
+      rev = "ddd4753eac3f6480ca86b16cc6c98d26a0935d17";
+      sha256 = "16vnpj8zxg3gg9ljwmvrlmdf4dqbxjagi8mldpq1cr481r35dsqh";
     };
   }
   {
@@ -157,8 +175,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/magiconair/properties";
-      rev = "9c47895dc1ce54302908ab8a43385d1f5df2c11c";
-      sha256 = "0497bacr3gc7352gcwb07wyw7vb9m04xfd82mw0hpnzzw3kfnav3";
+      rev = "51463bfca2576e06c62a8504b5c0f06d61312647";
+      sha256 = "0d7hr78y8gg2mrm5z4jjgm2w3awkznz383b7wvyzk3l33jw6i288";
     };
   }
   {
@@ -166,8 +184,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/miekg/mmark";
-      rev = "2d4f1dd6f87cad351b9323bbaa6f6c586f0c4bee";
-      sha256 = "1ak54nvmryx73g16q6qaac9x0klhbxxmk1j6zlnfvvibnkj2pa90";
+      rev = "f809cc9d384e2f7f3985a28a899237b892f35719";
+      sha256 = "0fyw2dkv9bk1fx10a23n8qvcgsr0pjk7p379k8nafx8sjmz3pdbd";
     };
   }
   {
@@ -175,8 +193,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
-      sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
+      rev = "d0303fe809921458f417bcf828397a65db30a7e4";
+      sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
     };
   }
   {
@@ -184,8 +202,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nicksnyder/go-i18n";
-      rev = "4df9b06c0c1ffd8538a3cfa9d888f8f52985b302";
-      sha256 = "1cbbvq9l822p7vrscvaah3zybsj5yxcsq9fgvgsg062njbb0x41f";
+      rev = "3e70a1a463008cea6726380c908b1a6a8bdf7b24";
+      sha256 = "0fxjgmwn9927wckl2xx8byv64cxgc0yxdwpfzval5n3wm5l5ij1i";
     };
   }
   {
@@ -202,8 +220,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "fee7787d3f811af92276f5ff10107092e95b7a1d";
-      sha256 = "0srx5hr35f9qzn5dnqqa0msyjknwn7vcq0jmlkvfxgaq0ygd6s3r";
+      rev = "26ae43fdeeea7db6778850f76cc828b232da1e13";
+      sha256 = "06gz20ywqbsy4sfsjjay60y7km9m07l9qvmarr7fldqfi8xgl1f4";
     };
   }
   {
@@ -211,8 +229,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "248dadf4e9068a0b3e79f02ed0a610d935de5302";
-      sha256 = "03l80r0i9bxl0vz363w62k4a8apzglgbrz6viwym3044sxkl1qks";
+      rev = "c605e284fe17294bda444b34710735b29d1a9d90";
+      sha256 = "1izjk4msnc6wn1mclg0ypa6i31zfwb1r3032k8q4jfbd57hp0bz6";
     };
   }
   {
@@ -220,8 +238,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/sftp";
-      rev = "4d0e916071f68db74f8a73926335f809396d6b42";
-      sha256 = "0l4n4ld0lx53s0hgz5rhk8gn7kr51adsr0cs6wlqm296xlcfp52h";
+      rev = "a5f8514e29e90a859e93871b1582e5c81f466f82";
+      sha256 = "0fis12k0h4jyyrpm13mhr5vvyqrgmnc06p4dwgzbfk6h6aq3qzcd";
     };
   }
   {
@@ -229,8 +247,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/russross/blackfriday";
-      rev = "5f33e7b7878355cd2b7e6b8eefc48a5472c69f70";
-      sha256 = "0d7faqxrxvh8hwc1r8gbasgmr8x5blxvzciwspir2yafjfbqy87k";
+      rev = "0ba0f2b6ed7c475a92e4df8641825cb7a11d1fa3";
+      sha256 = "0jj9zkk64sxs8vpfhz95y9li30q6qnxm7sncsfjn2ykcdgs252f7";
     };
   }
   {
@@ -238,8 +256,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/shurcooL/sanitized_anchor_name";
-      rev = "1dba4b3954bc059efc3991ec364f9f9a35f597d2";
-      sha256 = "0pwap8lp79pldd95a1qi3xhlsa17m8zddpgc5jzvk6d1cjpsm6qg";
+      rev = "541ff5ee47f1dddf6a5281af78307d921524bcb5";
+      sha256 = "1fslblamqkd0yrvl1kbq95hnnji78bq9m33nnxiqs7y9w32zylv5";
     };
   }
   {
@@ -256,8 +274,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cast";
-      rev = "ce135a4ebeee6cfe9a26c93ee0d37825f26113c7";
-      sha256 = "1a2ahiyynn1kdjznqvzjfm5g5bc098gfw857bw9qikhdljvsnjiy";
+      rev = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4";
+      sha256 = "0w25s6gjbbwv47b9208hysyqqphd6pib3d2phg24mjy4wigkm050";
     };
   }
   {
@@ -265,8 +283,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "7be4beda01ec05d0b93d80b3facd2b6f44080d94";
-      sha256 = "0jd2ya8kn763z16c3q5jl1x6raw2f3xq3vbaf4ppiy70zqzscmyg";
+      rev = "ca57f0f5dba473a8a58765d16d7e811fb8027add";
+      sha256 = "1lycnfkby5c7aamvwgxwq6ivzyvd8r761zkdignww1rmnqmiwd2h";
     };
   }
   {
@@ -283,8 +301,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/jwalterweatherman";
-      rev = "fa7ca7e836cf3a8bb4ebf799f472c12d7e903d66";
-      sha256 = "0404b7bzx7cq1b2bgdb3gs7gjzm4vvg1hl2y9mcm4m6vz56vbcz8";
+      rev = "0efa5202c04663c757d84f90f5219c1250baf94f";
+      sha256 = "1sfd72zvw9lrzfc8haswhqf93bzm20q4yhbynm6n5fnnc56zn4gs";
     };
   }
   {
@@ -301,8 +319,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "9ff6c6923cfffbcd502984b8e0c80539a94968b7";
-      sha256 = "0mfrxzyl8x7araa126lh8l3sihbbgfbzgkrg3v3cx7y4n3wrsqvn";
+      rev = "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
+      sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
     };
   }
   {
@@ -310,8 +328,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/viper";
-      rev = "7538d73b4eb9511d85a9f1dfef202eeb8ac260f4";
-      sha256 = "0i4q715bjp018zw1b52zgx79j4s7s8l26dyrw8cslshibkx0frnl";
+      rev = "0967fc9aceab2ce9da34061253ac10fb99bba5b2";
+      sha256 = "016syis0rvccp2indjqi1vnz3wk7c9dhkvkgam0j79sb019kl80f";
     };
   }
   {
@@ -337,8 +355,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "453249f01cfeb54c3d549ddb75ff152ca243f9d8";
-      sha256 = "0akybbzgi3v507a39bgnkk79rfhj8gflr7538g5a0177z5i9ygwa";
+      rev = "7e9105388ebff089b3f99f0ef676ea55a6da3a7e";
+      sha256 = "0q3nx9px0bddpfnh2d5h56hsvbfx483jz93j6vanxqnysizgfc1n";
     };
   }
   {
@@ -346,8 +364,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "906cda9512f77671ab44f8c8563b13a8e707b230";
-      sha256 = "0aa33n5a2zzrm2pnjyc3xkdmf8hq2qpafgdp8v6fxfb0swqjl2n3";
+      rev = "5961165da77ad3a2abf3a77ea904c13a76b0b073";
+      sha256 = "0r4zb2pafrjyjb0alfnxbxkfc27iikkfdqhpklrm790j2x9xrp89";
     };
   }
   {
@@ -355,8 +373,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "075e574b89e4c2d22f2286a7e2b919519c6f3547";
-      sha256 = "1p38siwqcbd592lphaqpigl7scshkfy67k6jcwscbcsl6akw51km";
+      rev = "dbc2be9168a660ef302e04b6ff6406de6f967473";
+      sha256 = "1hz9d7wnxwlvhlgmqrxjdx9fihx30f9ww6ir2l74l8ping1g6w1j";
     };
   }
   {
@@ -364,8 +382,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "0ad425fe45e885577bef05dc1c50f72e33188b16";
-      sha256 = "1jz0i8iagfd703flx5z006kisjixpm8iy4hiwywgbh31wypsxxyl";
+      rev = "19e51611da83d6be54ddafce4a4af510cb3e9ea4";
+      sha256 = "09pcfzx7nrma0gjv93jx57c28farf8m1qm4x07vk5505wlcgvvfl";
     };
   }
   {
@@ -373,8 +391,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "a3f3340b5840cee44f372bddb5880fcbc419b46a";
-      sha256 = "1djb53a8ikwgkfpf8namgf4d8pq1mq6q9q2c7q0z8x4dxf3whxj7";
+      rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
+      sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
     };
   }
 ]
diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix
index 287efc89812..2202dd8c4c4 100644
--- a/pkgs/applications/misc/hyper/default.nix
+++ b/pkgs/applications/misc/hyper/default.nix
@@ -11,11 +11,11 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  version = "1.3.1";
+  version = "1.3.3";
   name = "hyper-${version}";
   src = fetchurl {
     url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}.deb";
-    sha256 = "1i1rnq10a9kid8lggrd1gp9g08v98la8idnyk4kx4vn0svqy7nvl";
+    sha256 = "1i68n77yv1g4dfx4xfmcb06mfpwhf0gnb3wmldg2gxkhs0fn19zg";
   };
   buildInputs = [ dpkg ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/inspectrum/default.nix b/pkgs/applications/misc/inspectrum/default.nix
index 6ec968ecc94..5097496d399 100644
--- a/pkgs/applications/misc/inspectrum/default.nix
+++ b/pkgs/applications/misc/inspectrum/default.nix
@@ -10,14 +10,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "inspectrum-${version}";
-  version = "20170218";
+  name = "inspectrum-unstable-2017-05-31";
 
   src = fetchFromGitHub {
     owner = "miek";
     repo = "inspectrum";
-    rev = "d8d1969a4cceeee0ebfd2f39e791fddd5155d4de";
-    sha256 = "05sarfin9wqkvgwn3fil1r4bay03cwzzhjwbdjslibc5chdrr2cn";
+    rev = "a89d1337efb31673ccb6a6681bb89c21894c76f7";
+    sha256 = "1fvnr8gca25i6s9mg9b2hyqs0zzr4jicw13mimc9dhrgxklrr1yv";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index 0afcbca4979..f9078475994 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -4,12 +4,13 @@ assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
    name = "IPMIView-${version}";
-   version = "20151223";
+   version = "2.13.0";
+   buildVersion = "170504";
 
    src = fetchurl {
-     url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_V2.11.0_bundleJRE_Linux_x64_${version}.tar.gz";
-     sha256 = "1rv9j0id7i2ipm25n60bpfdm1gj44xg2aj8rnx4s6id3ln90q121";
-   };
+    url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
+    sha256 = "1hfw5g6lxg3vqg0nc3g2sv2h6bn8za35bxxms0ri0sgb9v3xg1y6";
+  };
 
    buildInputs = [ patchelf makeWrapper ];
 
@@ -23,12 +24,12 @@ stdenv.mkDerivation rec {
    installPhase = ''
      mkdir -p $out/bin
      cp -R . $out/
-     echo "$out/jre/bin/java -jar $out/IPMIView20.jar" > $out/bin/IPMIView
-     chmod +x $out/bin/IPMIView
+     makeWrapper $out/jre/bin/java $out/bin/IPMIView \
+       --prefix PATH : "$out/jre/bin" \
+       --add-flags "-jar $out/IPMIView20.jar"
    '';
 
    meta = with stdenv.lib; {
     license = licenses.unfree;
    };
   }
-
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 0da6e8eb34a..0d5ee979087 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.2";
+  version = "2.2.3";
   name = "lyx-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/2.2.x/${name}.tar.xz";
-    sha256 = "0s2mma8fkj5mi8qzc0j67589mbj854bypx2s3y59y1n429s3sp58";
+    sha256 = "0mrbr24xbdg25gd7w8g76gpmy0a10nrnz0mz47mdjwi441yfpjjg";
   };
 
   # LaTeX is used from $PATH, as people often want to have it with extra pkgs
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index a4687c385c6..a3e5f99eef6 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -3,26 +3,26 @@
 , libX11, libXcursor, libXrandr, libXinerama, libXext, harfbuzz, mesa }:
 
 stdenv.mkDerivation rec {
-  version = "1.10a";
+  version = "1.11";
   name = "mupdf-${version}";
 
   src = fetchurl {
     url = "http://mupdf.com/downloads/archive/${name}-source.tar.gz";
-    sha256 = "0dm8wcs8i29aibzkqkrn8kcnk4q0kd1v66pg48h5c3qqp4v1zk5a";
+    sha256 = "02phamcchgsmvjnb3ir7r5sssvx9fcrscn297z73b82n1jl79510";
   };
 
   patches = [
     # Compatibility with new openjpeg
     (fetchpatch {
-      name = "mupdf-1.9a-openjpeg-2.1.1.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/mupdf/trunk/0001-mupdf-openjpeg.patch?id=5a28ad0a8999a9234aa7848096041992cc988099";
-      sha256 = "1i24qr4xagyapx4bijjfksj4g3bxz8vs5c2mn61nkm29c63knp75";
+      name = "mupdf-1.11-openjpeg-2.1.1.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/0001-mupdf-openjpeg.patch?h=packages/mupdf&id=3d997e7ff2ac20c44856ede22760ba6fbca81a5c";
+      sha256 = "1vr12kpzmmfr8pp3scwfhrm5laqwd58xm6vx971c4y8bxy60b2ig";
     })
 
     (fetchurl {
-      name = "CVE-2017-5896.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27";
-      sha256 = "14k7x47ifx82sds1c06ibzbmcparfg80719jhgwjk6w1vkh4r693";
+      name = "mupdf-1.11-CVE-2017-6060.patch";
+      url = "http://git.ghostscript.com/?p=mupdf.git;a=blobdiff_plain;f=platform/x11/jstest_main.c;h=f158d9628ed0c0a84e37fe128277679e8334422a;hp=13c3a0a3ba3ff4aae29f6882d23740833c1d842f;hb=06a012a42c9884e3cd653e7826cff1ddec04eb6e;hpb=34e18d127a02146e3415b33c4b67389ce1ddb614";
+      sha256 = "163bllvjrbm0gvjb25lv7b6sih4zr4g4lap3h0cbq8dvpjxx0jfc";
     })
   ];
 
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://mupdf.com;
     repositories.git = git://git.ghostscript.com/mupdf.git;
-    description = "Lightweight PDF viewer and toolkit written in portable C";
+    description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ viric vrthra fpletz ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index a56b49752e3..9ae6bfae116 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -5,13 +5,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "synergy-${version}";
-  version = "1.7.6";
+  version = "1.8.8";
 
   src = fetchFromGitHub {
     owner = "symless";
     repo = "synergy";
     rev = "v${version}-stable";
-    sha256 = "1bjksvdr74mc3xh11z4fd6qlhgklny51q5r6gqg1bhnvn9dzyrxw";
+    sha256 = "0ksgr9hkf09h54572p7k7b9zkfhcdb2g2d5x7ixxn028y8i3jyp3";
   };
 
   postPatch = ''
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.aszlig ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index e4938b928da..841e0a494e4 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -16,8 +16,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake libuuid gnutls ];
 
   postInstall = ''
-    mkdir -p "$out/etc/bash_completion.d"
-    ln -s "../../share/doc/task/scripts/bash/task.sh" "$out/etc/bash_completion.d/"
+    mkdir -p "$out/share/bash-completion/completions"
+    ln -s "../../doc/task/scripts/bash/task.sh" "$out/share/bash-completion/completions/"
+    mkdir -p "$out/etc/fish/completions"
+    ln -s "../../../share/doc/task/scripts/fish/task.fish" "$out/etc/fish/completions/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
new file mode 100644
index 00000000000..df253b3b4ce
--- /dev/null
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus
+, gsettings_desktop_schemas, libsecret, desktop_file_utils, gettext, gtkd
+, perlPackages, wrapGAppsHook, xdg_utils }:
+
+stdenv.mkDerivation rec {
+  name = "tilix-${version}";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "gnunn1";
+    repo = "tilix";
+    rev = "${version}";
+    sha256 = "10nw3q6s941dm44bkfryl1xclr1xy1vjr2n8w7g6kfahpcazf8f8";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook dmd desktop_file_utils perlPackages.Po4a pkgconfig xdg_utils
+    wrapGAppsHook
+  ];
+  buildInputs = [ gnome3.dconf gettext gsettings_desktop_schemas gtkd dbus ];
+
+  preBuild = ''
+    makeFlagsArray=(PERL5LIB="${perlPackages.Po4a}/lib/perl5")
+  '';
+
+  postInstall = with gnome3; ''
+    ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
+
+
+  preFixup = ''
+    substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \
+      --replace "Exec=tilix" "Exec=$out/bin/tilix"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tiling terminal emulator following the Gnome Human Interface Guidelines.";
+    homepage = "https://gnunn1.github.io/tilix-web";
+    licence = licenses.mpl20;
+    maintainer = with maintainers; [ midchildan ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index d01dc120735..22e0466df36 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -49,6 +49,9 @@ stdenv.mkDerivation rec {
     for bin in $out/bin/*; do
       wrapProgram $bin --set XAPPLRESDIR $out/lib/X11/app-defaults/
     done
+
+    install -D -t $out/share/applications xterm.desktop
+    install -D -t $out/share/icons/hicolor/48x48/apps icons/xterm-color_48x48.xpm
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix
index 0d9f3834c61..a70b4be287c 100644
--- a/pkgs/applications/misc/yakuake/default.nix
+++ b/pkgs/applications/misc/yakuake/default.nix
@@ -20,13 +20,13 @@
 let
   unwrapped = let
     pname = "yakuake";
-    version = "3.0.2";
+    version = "3.0.3";
   in kdeDerivation rec {
     name = "${pname}-${version}";
 
     src = fetchurl {
       url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz";
-      sha256 = "0vcdji1k8d3pz7k6lkw8ighkj94zff2l2cf9v1avf83f4hjyfhg5";
+      sha256 = "ef51aa3325916d352fde17870cf706397e41105103e4c9289cc4032a1b8609a7";
     };
 
     buildInputs = [
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index dac821a4898..e747db6a8b7 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -1,9 +1,9 @@
-{ stdenv, ninja, which
+{ stdenv, ninja, which, nodejs
 
 # default dependencies
 , bzip2, flac, speex, libopus
 , libevent, expat, libjpeg, snappy
-, libpng, libxml2, libxslt, libcap
+, libpng, libcap
 , xdg_utils, yasm, minizip, libwebp
 , libusb1, pciutils, nss, re2, zlib, libvpx
 
@@ -57,7 +57,7 @@ let
     in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
 
   gnSystemLibraries = [
-    "flac" "libwebp" "libxml" "libxslt" "snappy" "yasm"
+    "flac" "libwebp" "snappy" "yasm"
   ];
 
   opusWithCustomModes = libopus.override {
@@ -67,7 +67,7 @@ let
   defaultDependencies = [
     bzip2 flac speex opusWithCustomModes
     libevent expat libjpeg snappy
-    libpng libxml2 libxslt libcap
+    libpng libcap
     xdg_utils yasm minizip libwebp
     libusb1 re2 zlib
   ];
@@ -87,7 +87,7 @@ let
 
     nativeBuildInputs = [
       ninja which python2Packages.python perl pkgconfig
-      python2Packages.ply python2Packages.jinja2
+      python2Packages.ply python2Packages.jinja2 nodejs
     ];
 
     buildInputs = defaultDependencies ++ [
@@ -130,9 +130,9 @@ let
       }' gpu/config/gpu_control_list.cc
 
       patchShebangs .
-    '' + optionalString (versionAtLeast version "52.0.0.0") ''
-      sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
-        third_party/pdfium/xfa/fxbarcode/utils.h
+      # use our own nodejs
+      mkdir -p third_party/node/linux/node-linux-x64/bin
+      ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
     '';
 
     gnFlags = mkGnFlags ({
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 3de495ae327..01f4b03e4ca 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -94,12 +94,12 @@ let
 
   flash = stdenv.mkDerivation rec {
     name = "flashplayer-ppapi-${version}";
-    version = "25.0.0.171";
+    version = "26.0.0.126";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
           + "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "0g2955wybwqlcgslm0mfi0jdnpih1w10lkzm5g5am4smgpch8prs";
+      sha256 =  "17ivhkdkbnzxr10ln1ix30k1hmaak5p9zzcchdyrjxdpzfk5qq7s";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 2800a3ed5d2..0cc53a0c31e 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 = "1q9iqmq5amzfw03jiw18g1w285b6x2qckn8gc60r5m3xx1hbivv2";
-    sha256bin64 = "1ddhhcydcwwc2pkwm4c8rlr60968zy5vda410g4bwx0v5q7p22q9";
-    version = "58.0.3029.68";
+    sha256 = "151a7w2gqrv1svabhzmalrjr2pdbb9ys8zhrfz02779rjhzfz916";
+    sha256bin64 = "1957q2wdkymibxqzpcq71fj3q6gca888r7gr621z0c03p0izlb7z";
+    version = "60.0.3112.24";
   };
   dev = {
-    sha256 = "0zvnj9n2p057fxx7n4d1qc0nw34qhlsvrx20fwigq96blamckvd8";
-    sha256bin64 = "1s1r3h7x49bp64lzzphm4jcg7g68l0x7mr3airj3hqii58dvndm0";
-    version = "59.0.3067.0";
+    sha256 = "15642f0nalx3zqdlr5ldcbrpxnadav3z6sl3imvzj2ssv3nbh25m";
+    sha256bin64 = "0lbma509m3ppy3hg34r10ijhw3m92qxm147qhw0k4lpwdcmm6fnm";
+    version = "60.0.3112.20";
   };
   stable = {
-    sha256 = "1xwchazqqx0cs9rd15r80kw6p918zp9libx34qlcj8p5lxq1f0bh";
-    sha256bin64 = "0ggn5rljch36sx0i37qzp6ldcy3ibdj0z9217lqzjq3r7ixsfqja";
-    version = "57.0.2987.133";
+    sha256 = "1rxc555l3bxczg9vigr2p0y7j1gswy99gs5yhkbj3raakym32563";
+    sha256bin64 = "1bvkibhvxdcszbh44x77cynnaqhrm5ngf79fp7rdljfhlflvsnw9";
+    version = "59.0.3071.86";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index fec1665f8b7..0c4126a4add 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,925 +1,945 @@
 {
-  version = "51.0b8";
+  version = "54.0b13";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ach/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ach/firefox-54.0b13.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "c251fe3e50d7bb85a46e86afb9d041b161061e6718cbfe6114172a098f35eedaa2f221a3f7bcdb2ebe210a5ebb5cc33fb50b1dd04da5256cb32646678d722b28";
+      sha512 = "b76584a4027ae3c05b4350952bf231e1701c3f161355d86f028379a04cf7f3f1fcefd67736dfd2cbc02fffca670ea7e62b1729ba1647746da62dff30969d74dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/af/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/af/firefox-54.0b13.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "ff8af74fdf27e72169193a81e62b99ce831bc466e50ef2d843dda03894fe3cc764ba69021c839ee09ab48b7b3a6140f1ed01c045efb01f75342bcbc333158a49";
+      sha512 = "c8cfb40ba81947254a58dde6438a5e6eac9b4279701800353b8538ca74776fe09da4f6e5384d93a197bfbd3c88b30e3b56231aa4d9530c61da84a712d0ba0473";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/an/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/an/firefox-54.0b13.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "20b5965b70cc773eb2226608fef18efdc24fe22f2feea43f39fe9d09afcb89db15caa8149a908bbca3f26e8d6b4f3651d164fb97f2dd2ee67e33b8e43635871e";
+      sha512 = "072e89337c05b9dc4f82eb4746464cb19b897d3c4eda1f50c9d0c7d1d38e9c1b2301f9c0416ad26809c31e0bb5099872cc577540ce722ad5e54ca04ef3b7c003";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ar/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ar/firefox-54.0b13.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "b1816f401757634f618e1d9929c2a341adfdfad42bcefa8673c7d8c511c46267054352558f3a83d399c68e7f80faa1c2cea519ac24618479828c37b4067f8e78";
+      sha512 = "4c63f391b072b5d33f61020dd2bd5f2fbaf644b0a411070297ecc31ea5c7059af373cc58d6b49e377ce6db239ef4df64f301612db0c45b118662178b750fb069";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/as/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/as/firefox-54.0b13.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "049a8f3782a34d8432204ef6119a2909ca4e6eba83f760c8f35f1be86595483e47823088e508a1389d68ee366e14431686db7edc44d1fd5934f887aaed85bc4d";
+      sha512 = "22e95dba78581460159f24130bda330557348516ea9442644055159a6c7cae3ad4529890676fdc43f8a8cd902d4a75fb06de50262db72fc1297e08d9e14e2d0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ast/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ast/firefox-54.0b13.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "b2c48f6009e01924e75d7671a819b4af51b87a3a08576812bc7f89b2273d047a3ca914147b519dcc50f1deb21acebeeebb05fc306fbbe016f12e3fbaa885bf16";
+      sha512 = "527ff1bd64649b475a863f3d3e40e900d40d5c1e5a404e0dcc2678e7708fd24dd0a68fa85f1f3cc8e23f12edac41530310d0f65e1eea390f5e01460c2ac90e0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/az/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/az/firefox-54.0b13.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "315e47d4e4d6d985f4390d8a40cb736ec871ecb30ab76db9235bb040eac9b73c3a1e709d783db2363c97f6ca91e3281c4c88e10c4d9fc62131fd8c105d7269ee";
+      sha512 = "c3184445a3a4cd205140a43adbd498571a0339175fc9ba05ebc2306fb37990095f4c66dba0eec1a121a7b5aafb6c3d6d5f5ff68485382ee61ad7ebfba190fd8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bg/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/bg/firefox-54.0b13.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "b31bf59b6546741ab005c5ca11115f1557923f467e801f16049e83881deb8a8f6b775b425a8fc2a608b51170fa00a4b464c9e60e306267fb50b2144b23948613";
+      sha512 = "e1eb42e04be44f4b091fd6675af506c80098886a20be0b37eadbd907dc8925b1bbc0c99145417e16534d6a59f1f6ef718769819d9f79ebbfac22f05ba5ad95a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-BD/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/bn-BD/firefox-54.0b13.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "5683955a4d1e678d9893554d9cc534a61f2cb0242e2ac068424eba238f1ce89e58692cdb35e43d58cdd71c0c0683a5d61920089ffd100416e6a2448ce43f2004";
+      sha512 = "9d09de31bb8207533a2e222a1fa8888f3a323046dbf8521f6cad0aaffc9d91ebe35b0ce766fa2b292d1058f370298f60479312a5f8c749bef5599c60e88777d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/bn-IN/firefox-54.0b13.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "0220a226f53b7a99d123a1e72a6db88e726748c9d3e0ed46a51ab36b2ba5213dbf2cdef55b8a8892c97ee656905f01920563e344a412142993c719f15cb0bc43";
+      sha512 = "1656bdd3844c968d448fafffb7b1fa5994e8dc4a590f4b39965df095ca29a8914fa4f8dee1fea4a15b6c4716a6555841f4b9c72b432adc1b60b02f561cd3ef7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/br/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/br/firefox-54.0b13.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "046d7c42a294fe636cbdbd13da8fccb879595ebda6353ed91981ecae39f670f1650f33b1ce0d3705158a437a22a718d5d381bbc37583702253941abe25ebc477";
+      sha512 = "945f866e86a8ff5e6a8d2216abb3fef9a1a93b585599267f54a38b5acb0843c1cab5ecb4440f6277e7604fd4fe730b5d2b57b4708bc1639ad2adcc0e217ca716";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bs/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/bs/firefox-54.0b13.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "a2e0df77bdb46f501e2760df79589ebec8e1bfb85e07ddee1d89c797a34781efd57e1790127d6cb38199bbe01680e5b04208f2c06b22a9bc684c87042f825267";
+      sha512 = "cd555e3638139d6e36b59fbc72a53a4e233e33557c7000e9c308cc292d963d458261c0404d130353abd071e23927c11d8232add50b455063fb3c261faac35594";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ca/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ca/firefox-54.0b13.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e8a4a37a55a882ce638e51ad5d4a08ac815fb5cd556d0e8db3982501ee2f9c0ec141132ffb0eebbdae47be78f74dec7fba730638c8ebe38ce82ecdcfb570adb6";
+      sha512 = "ffce1a6bba525cd67880f695f6c21b1078fe419ee32cb878519f5f36d4d403b5cd2dfc6f1d9ed02f4f38dd2f7404670f63b34484180137c6a597f407c24b638b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cak/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/cak/firefox-54.0b13.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "aefda93ce59fdf238c2b957e45463c6f75e511a4331596bafaa4e8a99139f17ad2facc22befcf2fbe105651e9b003447bb62c3c2c6ffe4681816baa400f68a6f";
+      sha512 = "e1d2750edd967f15a51af0daae4599f78add80211ddcfb13c7480ba696426e0e69da3bbd5331979aaf88ec6f611aa33c98f7924c1428e7cc37f2d9fb30c3ac6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cs/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/cs/firefox-54.0b13.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "9eeeab75b2963959db947165f46443f686760f655dedae4de3d174a340c88830fbfcc0fd1df23740e6abe6d7f4552f06630c93f28246ff907fe6eebc1437d943";
+      sha512 = "c8ca0cdea3742f5a18992c9743c994d9676bfd6765b458d0f13e03038f61a9add04b48f434c41fcacc67c303be2488e8833aaa8d8d68150e00e3ccd2affd6a0e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cy/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/cy/firefox-54.0b13.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "659ea6606bb307893448b0352c175761e6bae90246ce157eb2cb9373b923ffede18eb8526330391396f9998fdade7db135a54f8aa14c4f52daeb9cddc44f344e";
+      sha512 = "954ba8941fb42595fb05ee03ced136b1dfd3617c08d14042b63fc2e53984b71f490471e3e680bb67f2ee31ae72ca329198272b9c354681e1ad9fa6e12bd32b16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/da/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/da/firefox-54.0b13.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "22647561d07e92d82be5bcd2c5f2e7a08d6491ea582464f64a8ba686496b0267eab6c07db49ae189f996b8cac9d0c4c7789c3230003d05dbc5fa8319acabc4fb";
+      sha512 = "144d754470b59b95e3706516224e21c1c53b0d2260541cf4a4a2afdfc7af39dcd0ae97204e8558e29d627853e1667f2f0a337cd257d05409c355f96f9ffbb453";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/de/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/de/firefox-54.0b13.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "313446d8dd7764b98eba2284d71d8abb47568577f312718f02a73bdbee4938477ed407d3d638fee4dfacbb43d4125806c882e0c96cda43c9fc5b09e7fc6656d3";
+      sha512 = "1bbe368dc61546c4d2cfb09ba0d0b8414abbaff2a58ddc60e6961fc3f387a8d90a75a44c3b4736df1ee3d2777cc6732c02b42a897486bde9b9f030e8a599aabc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/dsb/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/dsb/firefox-54.0b13.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "4e0bec424f15dec37ed21a46c79f9672d380f9d59e3109afd4debbda2cfe58bf8b17f75d905babcbf7bce5cb8f7f3312bd938ad945e163d3e11be42b9dee2fca";
+      sha512 = "407728ddb4062f0961a856e34d7f4db5f137f9674b95a7cd509c57878813e4dd469487ceb91e3f0a182f08e2e95116348d7f9f12e23a6c45d5911f3c8af3c0bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/el/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/el/firefox-54.0b13.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "c10b58b13a85bc1cee23ed23ab8f62dc79247d025ead6efbc4165895568c6d369574fed7cd2d294bbbdec56e7673928ffa4db77720d871011b7757aa90789e18";
+      sha512 = "5473cb886a94aaf59065f65029c01e31e162d38e54e85b19109fa29929c97a7872149e802fa131ffdd1189ba5a20184f081f483cb783de90d287469f6300a0de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-GB/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/en-GB/firefox-54.0b13.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "1cfe32620ca3a3fc5cce03ba13c6acb174567f99879fac86705e10d0036eea35c912064827676fe5dd0ba3da5bbc624795c3f7bde7546f15246b1acc1cbfbcda";
+      sha512 = "8fb73d0a889c33fe2163f51847054c5d8dfd491ff4ae3c5e1333b93aada953a03d376b1f3afcf26189b3a333639a28dc380ff967cbfbb2a2f11a92c1750a59a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-US/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/en-US/firefox-54.0b13.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "c8504535fc15bad6fdcf5aeb11a54ef26ef56d14076ac6fe06cfb530c1952118b957fc3cc6ea2c046af3a5ca90dc87655ae67d7baf66e46064382ba529045362";
+      sha512 = "66b68bdb3043436548d057d435a065b896a815c4c0eaf7f4c072c306ee379de4e98aa750362175df822767786b2202744586fd6aacf789f987ee7528b6bae865";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-ZA/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/en-ZA/firefox-54.0b13.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "80b40ea103d5691cff9df8373231acb151e6bda0526d27d59bf226f24e8287eae335b1224429b61676c8c9f3021ba77a31cfd3bfc68948d6553978fc570ac6f0";
+      sha512 = "4f3917809ad8b62bdf6bfcae453b297d956e938c346b48613758c362d0c32be098d158fd660ec24ffd000a9f8f6be0cf026ea6533878c756e6b476135d0483a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eo/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/eo/firefox-54.0b13.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "a9809ec0e031e7e127441c11003bc81d8dc701e3acc45f137e7e68bbf1ebdcb5cf40267e9f8e7431e62506678cac04f732e73978ad566cd51597a1cb45eb0ac7";
+      sha512 = "bc0682dfdb05432df784ae6abc1202f638e16c04e0deb53211118cd0890bfcc07608dd94feacbcd4e6abfb3f6403c9d1c1746579834ab1111e4870396bf0dd41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-AR/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/es-AR/firefox-54.0b13.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "18851295d00c2204b75c8e3d2d07a12ecdb9456d8ce41606178054b64ea5b7e9ebd3832db76412d2d5a26941494936c811084216525c56e4f017063734d7ca44";
+      sha512 = "b9490b0a0fa01e7e8e09b8af4d77ec42ab89a7859b70106e0c4294dc0a03df215de2a34854fe48f8e033138d9dc5b553e2a71b629c0e351712e1d66afc0aaeb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-CL/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/es-CL/firefox-54.0b13.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "9a7dabef38bb5f0909f033950f4e0424fc2c0119f4bbc0de85bf76f29413b2984e0d56522f900055cd9e79916397791f0597229a19d2d6fe0f8850c09f9bf3f2";
+      sha512 = "524a89e97ccd1919a86b2ba38beaaa42b6664af46d36e4da0f5f17f7d8f9b1c428be8fcd111a42c3fa951108724c139f54aa5e4f4a7577dd6f58895b3a3d99ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-ES/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/es-ES/firefox-54.0b13.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "52b87c75267dc27aa9acb9a49ce9e59bf989f76827c078acb8d9166f60f0d86f6a0e937aba324e8e9e9ab5e0c721f75f0330199e16540809d0e8e9c068826406";
+      sha512 = "58660dea649a468e97d12d054a59dce61d7abf33e4a5620c40f1c42eb30ec3411738aecec666f0334e46b3458a48caab97b5dd7e9e1b0699f5c16330401b5aac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-MX/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/es-MX/firefox-54.0b13.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "e57f22ee791acab3792cce3f52823d5fdcced5befb2808cc717d0da4a876a517d52b2e22f4558c33ecbbff01a799d70e2e67ead9140630a0111d73ffa5e54de9";
+      sha512 = "2c5cfc09b15daedf69ce16ecb12b07aab99cbd0b68d7ff5b65ac9116a59790d32aa1f0c3a931e9837b381c82d4e50f3e14237c39cb5c45e652d11310d0e01faa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/et/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/et/firefox-54.0b13.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "572a6f67b10f1a4981d7f0f131bfb9900a20a094f34cb3eee717d7694e3c1b2a949dbe262a10b6ed22cdc97c3a99ef885a4f34d15268c6aacdc7cd28ceb16f8a";
+      sha512 = "6301197a08de0912a9195b0d78d95df338f3c2ee2c90045108d220c9309edc8504a6ff6aa5f0c8db21df33d6bb0e624d713d59c6e49fceada3a510d22613d59f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eu/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/eu/firefox-54.0b13.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "8ce7450a27a26954701585a2d55616d98658295c122071641209274a2555e0bd45e57e17be715cd69e00187169501f7c8fdf419a3e1626c4a1e5636f36be26b9";
+      sha512 = "2ca00edb210c879a48f1107137378818e6f4beeb2f3a2b1941d12a7da6f474bc164d07158ef3713cf9e79c222b4f2f9a243ce924b21802dfb4374f48c18954cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fa/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/fa/firefox-54.0b13.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "f42a0effb6ff4210707371f6693e2bb25119f7535581c488760c237a3019e58fa270543f6981348f609c776bee54e76a220c449b7169d7032b2817ea1255eacf";
+      sha512 = "ded6f7d1daaaa417ca62dede3e6a0ae4acc66852dbbf6230e8b1ff5ad74ce4438369fe6c3280f9c8abd3a1c22fa05f2c9e36dee20531fb5d3eeae3c736984b63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ff/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ff/firefox-54.0b13.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "7718bb71ff031975bae785130c86c1fe007698177b04d55008a5175074f9ba33841e3939f80dd76034680d7409ba281162540757b4365c03e10fdc21317b3df4";
+      sha512 = "59c5c0604faf14bc0478cebdfe09982d0a184a5735c791458254b14ba1031fb9e18c09dcfada0e921a088fd7168d231cef52dd45eb703553a5e5624ca38b9363";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fi/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/fi/firefox-54.0b13.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "9f5cb2d9ad20d788d715eae64406abc5fdf9229125f8a88f44de574c836af2943a7844ddbd96eb6770a5e011c5e239009aaf022ae6c0a14fc1c01dd2a9283b1f";
+      sha512 = "10e9aa82198338f1bb21c6fd5663a939b14d1db5b1a5b672d0c81aea26d910e9b6c8b53d7e40105e5dbd9e4b67bbaaa50803b323dd648ff85699cb88384c3c23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/fr/firefox-54.0b13.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "d9098b1b61bdfa82db7acc0f24fdd8e248f9fc0ae1c044829a27c45ed99c933fe7e8eded84cce9d454dd544b0645b2e871a00f3677868aa4efc00bd82dbeaf5b";
+      sha512 = "b267baea7bf0c9fefab7bca2b32aee9dd0d6f9e435c477ecbdc622e9cb2a08ac4adc1c26db88e2f61b1ef55416c079e49d4af6a4366f2b893504fe814021b674";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fy-NL/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/fy-NL/firefox-54.0b13.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "146b24d3670822394130e270b851beb3a4017818004ad5d6699b8424ca5d4dda16788668addb7f42b21980a6dd39a2c3546bc36d5bf2298b831fa83e957beefb";
+      sha512 = "afaa720f4b935ee8674b61362972a90ed9aeabddac17e5768eb05f72eccb1b54ab6836524bb8a189e08cd06f6b24c8863208f9917d02d12f622b7a3c4b96ca8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ga-IE/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ga-IE/firefox-54.0b13.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "b1b38c876e9226abe24cc4379ae8a0d489db7f91f332560f922b3998d0c564f42730ab568277f4159bce95c1024634f20c918b97e84fa7915e4b841f9d0b760d";
+      sha512 = "c60fa858865ba80ca17fdfc29f2ae85c77528d570f8b4f43b890eb0316807ddb2049fbb4c6005fedfc0f05ed85b211901e88a6d06fa51f9cda214b2999b7de76";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gd/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/gd/firefox-54.0b13.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "e3b3191298f2a08ff52314aaf9ff9689e8ea83128f43010fa90ad8a24caf340e24223c8f5109fec2286a68c699bcfa98fbdca0c10f62956dfd768a473e0a77a6";
+      sha512 = "37d7f0b8159e7c23454b0f1a15902280fe5def086001befbed3d17d21e4e3684c40609a5888fef3cc22888bf57860302633a680a4d01ad1ad0e765ef14a3cce5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/gl/firefox-54.0b13.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "024747e36d569e323964b9e0c3a3922563c94c5679774a9cfade272d8378dfed987c291bc55554b0e0273938a3cf65f48b5924549f6962dfffb51caeb053b64c";
+      sha512 = "2749dd7a2379c3eb2e2f52441717ef065d3bb07c6cc58aab02bcb3c050e3f1fc14310c479bd58da5bfe9a17a91fd0ca44d032aa81f2f098cec1bd2922876cdae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gn/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/gn/firefox-54.0b13.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "e0487d5ac3730b09315f1b5b486fdd8359c78ed7a741ead18ab7d4951f9e079b80c1066a54f2b86988bcc8edab62971f0cc99e7d7cbaa97122d90e4fdc08298f";
+      sha512 = "28f3f810fe9e2ef555d5f72714284eda44750f5525a560f93b9e47bc56f5f2b83d2c73af3da8245b387260e4c82341272518034aa6b8c968665ef9ae0a201a9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gu-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/gu-IN/firefox-54.0b13.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "e9ceb5eea20eb9881c87e47700dddca0060628c28f7a8bee4df1be45d7b0f9f7ced122e7bd1b16468853512f759691072a455c13ab98e642c94f2f8794ca6b3c";
+      sha512 = "76a246d75ac07afdf824307706b9834c2d7eb558448097c9b078e37b61973447fce723c3b697aa4ba464f93d584901bc174a635aaaf7bbc27efa21f923dd7452";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/he/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/he/firefox-54.0b13.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "68ef5903758f59df5e3bad14903734d470ee19cf7e3f34f112ff5be5d11b28e19cbb55331552a7437ba3bfea1d03d527690d0efecf0ca9e824c12fd2c5992269";
+      sha512 = "e0de309d1c0f1e9f3182eb95e91b0384bef6a52e26a921d47e896f16e9c58b270ef30b6c1b4e4007c1eb3b75fe41c12be5193a4fcf88d15bbd7f2892c0d5bb40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hi-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/hi-IN/firefox-54.0b13.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "c0bb9bab0b5ff7571af336febf1ecb07427400ef72d6a49fed3958a48fdb63a5cc8174b4365fbbecc11d4f7b646ef32d2204241d2c17290dda4b99bb971a1dc7";
+      sha512 = "1b9e63cac216f3f043c17b8b4a701ea5e8fb5522a25f6e21d0b5ddee07210ab0ae1afcb8419b0e6018abdc25b989a5a3fe554d1d04f52c38f545172869d95e08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/hr/firefox-54.0b13.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "16e07aaaf4bcbe83dbe40ab688e4f40d02792e3793afa1fdbc90be6d7cce87ca3c8ebce27585eb24e899348f6bfcf3b471c73a0f09d0007c62e224710bbdf538";
+      sha512 = "959a5760577f5ef026f3230a196ee26de93425a452ced9cf9770b5bff8f3f44c2dae2cdda7e01f68cba2297b320d2df299cb774e9fce2b68adaf986a1af26a09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hsb/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/hsb/firefox-54.0b13.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "6968bcc314f05af065a7a8dff0723579c760d979db7186e0c6dd7a1ddd5c5135673ff940ec471b57f2eee550e5c357342115a2799f1dd48c2120d3404c5e0510";
+      sha512 = "50390a8d09b6a19fd8441f55a1d0310ca279fec250557124271e3791ad8869b1a4b361176c0ac95f8acfefb8a00c80095c2422314c5da557895a85bf194fc011";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hu/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/hu/firefox-54.0b13.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "498823b2075e70459b71b60560ce7e458a8619e249fce237d91cdfa2a3992e279223586d82af35c2804eddb05544602f06925c8d24c76f9dc8aa37f8c5fa40b6";
+      sha512 = "8ca51f25ee3c06b918fb4a4c034ffaf493c30c67f1c3eebc0fc268f09ac6fe62ac163ad260f4a4ca592a7bdd80bcf3a916660ffbfc8681e46b40e416e3e7380b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hy-AM/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/hy-AM/firefox-54.0b13.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "3b86b1efc5b958b999303de303df07967d4a51f5b8853663bf3e07c19762cc273cb26c073d8bfafb873f09399e6299472a210148d6dca2494580f727fcb7ce35";
+      sha512 = "49da49d63b28110d98156df0d07528e6261a01f5db9aefcb1ba1f04dd1b45e812bb026b6bc183fa27bac57a9a735009278ac86394ad43c54ba5760b9d4a05de9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/id/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/id/firefox-54.0b13.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "27a7574ff31cb8bafec7d2882b19d944829ff1508810118dc4053c602313c7f5ead2dc6328c14313c8b687fb5bc369be0aa5bef78193251ade7461f178ed466b";
+      sha512 = "6cf45812cfd16071b12c3b87226a37e5353fd0f331b65a575a4fc094709b20f3b0fe00064af1a82bb4c9430caabf2d2c4361f90cb2e90b1d5385a57a171c5955";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/is/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/is/firefox-54.0b13.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "d990e47ddbfda4c4a22a1c9f60b0aee13cad35de496c50c13d6f33fb6624e948a0c94a1f883a8f6ab94f0310fd3d3db1554b502c4faed8e05844c06f84d7bc23";
+      sha512 = "db48948f72641b83078dc44354dc3bf6a0919695a69c155d836154f260a4d32b8d325c138d6db863006dcc80f75d6cefcde0f9e445eeed89d9d8f89a7aa5a048";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/it/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/it/firefox-54.0b13.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "faedb800d78be5cda15858df073099767d521bbd71915733cb8558deb2fe3a6e90a203ae946795ce6f55ad7a6d35fa0acd016c3466286548e3d198a499d24bd9";
+      sha512 = "2d63a2dd3d5b56c3c630b3badd764ca50e6bf4eb0ba551cb1207c849f0d3006de96781c59b8ba86ef93659487be74e2c5ce0621b3df921e3091debded91b6a56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ja/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ja/firefox-54.0b13.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "3063eb49a6076153cabf57d7006c6e41306c652573a4d037ccba721fc4069b9fe7a3ec1f65ac8b8f596a4b7493209b8b46f9338f4eb3141793caaa47dbf7e821";
+      sha512 = "f7bb1e8cc1cd72363f8be0d25173f8abca5383277c101585198e6941c4b4fddd222942fa6711f5ccdcb2dde97dcdf974229392ced1488d37bad30274987decac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ka/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ka/firefox-54.0b13.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "24defb6af2daaeb42c850d876feff49504e3e93ef2e1a4c3d1b85a8a86c4e8cedbfdb86693bf7bf7e4bd2e096f6ad53ea877b6c1505842b731ff2cfe7a75c134";
+      sha512 = "a36808e207a1277bada5793ac8431a381dddf11a600c795d077d0136997380d294a59f7606ed2a64643df53675b607ea249e6ac9518d57b91b2f905c76a2cb1f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kab/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/kab/firefox-54.0b13.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "0c41c51f725e02e1fae284723547911cac5958352bf36f2382a8f293001d086e2667722e06fe7aa3ddfcdb24f60e6307b9f050eb15d4d58b7a9e0ef9e7a89b37";
+      sha512 = "498ac5ac757560c131e21a5b03e956e63e329a3ba9b3d7085d1448e722a78ef17c022cbe22a5786931c9190d79081806f408ecd79b3538b6c042e91f04baf65d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/kk/firefox-54.0b13.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "82cc8c6063359fa1a28d84a56500a0aea2fe7735dc695e0bb5c57445284e0d4a4b0cb76cd78e399023af83fbc00bfd20f0b17098a264aa6a230d925b5453112a";
+      sha512 = "2b3abe204415dc66119edf9d09dbeb26b026b89a9bbf06cdcc9d624281f96269f2e0cb39f8bdc0a21be373ab4b0cd41aa93f9db556dbc910dda58e44619c2f73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/km/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/km/firefox-54.0b13.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "a2a4d80aa6e9096cc8d11c101128e712079f3b6d3da9da3a9268e6e433274ebac4b0adb07da1fc63f57673dacf16ba91efce38bdfa3db9c4b4d1454fa4ecfb63";
+      sha512 = "27d3ca7572fea00b1bb6409b55262ac85fdbf8a0a3a49146fc158636780cea266bb2eb52885eee25d198a5b6484476532f6a4d6e9f1e0f2c479bfd0c82ce3943";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kn/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/kn/firefox-54.0b13.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "5c202454bc5e221f14aa1ddcb04df9d489e1c036538a747315848b238ab8a8e569fa35b27e906bbbfa00b4502bb0f6a64d317744d5d3e82b430f2c0f28ee3d60";
+      sha512 = "d98e7a94cdb367ffa7c2f3453e7f2530acc09562a28139b431c17424c68973b27293a18cbdcdefd86bb9d3348fc37a4938502affc1b18e2f2e1e4c36fbea0d62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ko/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ko/firefox-54.0b13.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "88f96e25f721e005acd51512e5f5323eadaaeb0fed0bc5c0e919661109e8800c3b940ba131fc788a82a8e6a35be37f9c7111c189b2e9d1ed4ba1a5a3503748ad";
+      sha512 = "55eac7a2667f90789e148f0dff06492c80253ee6a7d65af2e9897a7fef5209a64c4a9a018c6d5b8e137ebed60780ffdd1932287d1d5e174462f9208dfd181581";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lij/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/lij/firefox-54.0b13.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "9b5bd55794df871bb7a622ded9bfe3b85d2edcff1a1a4bf5237f17dba98e3af53f70de48636c0bbcba68c5c19fac08873607094492d03bcfbd7550cbae9e4178";
+      sha512 = "e86ee02d85ab92f61544f590692bb00ea49fcdf3b1d0475dff6dc0fc003663582fc3e87f1ea03cda90e20fd073da9e2663795e620b9e6adae2ecd98f434ae9e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lt/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/lt/firefox-54.0b13.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "be075ac4bda511c2bd81e726003f4ee680f35022e84365fccae090305c45dcc586162428dad944bd59b7e3c1f836e8b07a2a78e5a28d0eabb6aa44877398650c";
+      sha512 = "57659b95a6421d0db8370dd17e5ee767433136eb939dd69ff5a29e7ee351c0c05a3339c70984d5146c198e6922f8c2f41a9d164dc1690b779a25d62d4e1b7edc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lv/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/lv/firefox-54.0b13.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "0bd623b3203c1403ca187a3b25abe0e438ddda0c6f5d4f947c0643ae3f492c649cf830002f7211853050b15e179a482677898ef0d93d32c5afe34ad6e7040cff";
+      sha512 = "ae547b8db7236199787cf455d2277d5dcfa7cbd88dcfc226b5f1552054313a4d56144d828ff1819aa341ecdcd84609e30e4c4ce22884493031fde62cc8d523d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mai/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/mai/firefox-54.0b13.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "b406ea5ddf4169961cb11104186a809ca7c8a69b124e85e796703326a37ee18473e4f0b430d5da2dfbbc38f7ec370951a5dd0c73be4f9bf48da771bb603bf38d";
+      sha512 = "61aeb8fe7c8af0b411435868f6ef540e575a5ad6ae353d2d40538c1d50f154534e8216c3d479f838f4eab4d76b07280a8d1a76d2e73ec6a8d32d99bf79f9f14c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/mk/firefox-54.0b13.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "ae182c6ffd7fcb3acd396e8d9f4b2baa65942d78498acf7a0f3efff69cce62812c2e60c937611c29116a45c5799625891f39e25ff499b7d3e4f453f790d8e8ce";
+      sha512 = "778ed9879a57b2e6a8e7fc48bfe109a3b60c4686163ede1b8df225a3daaa9e2a854af79caa3f83e2e756b32fd2d6f5177dd145eaad1d670c4420a4482a6c7baa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ml/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ml/firefox-54.0b13.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "9dfe1593bdbedb6262e7cf50857036a624a3ae13bfcc853dd91fd800d74f831665d8c89832b5727a9bd2bae3b4123104dbaaae1bdd39918f2c06be2fdf0a5c0e";
+      sha512 = "3a3058ac0a0dac34a601e82209482dbadd2cbfe9228ee64726fe1ec60d3e6c0029b6cedf243f0a82bbb57c8ffdaa17a14f3c75c8300c31ffa41a07a9c390c83a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/mr/firefox-54.0b13.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "2744d4fb88f2713b956efdb6d56fa1ef7e003013cb9a526ab2f9e8cfeb915fa3651978a3d863cc3c4dd62a447bb8cdde402483701b38cb206b99eff5fe5272c8";
+      sha512 = "a2218eae78eb1cd9e27af11dc578302e5ba47530cfb8e05b8518b3c9378eb0397e6409d093742e00708955144e4d6574366f70253ddc9753dbbad53230f27882";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ms/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ms/firefox-54.0b13.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "4a313418db320dff4f91f817cba054fb65b5e97a434a6150d4f3373bb788b18bc02b194fc8349e5f41e1b8ebee94f0874431759fe79ed32fe7f5645f25c4e297";
+      sha512 = "46c04289d100455e926c9e54d77ad9ee9f920bb7d928ab11dc346872bbc6fc888e3e4e8e66e1cc2e169b33a4aedb9fb7d0d205ccbb052d9846b14af9772f9679";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nb-NO/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/my/firefox-54.0b13.tar.bz2";
+      locale = "my";
+      arch = "linux-x86_64";
+      sha512 = "84e9fa1ae7ead0f9ed4240c4923fb6a4485f81d3a725793c490c644ac0b8bcbf8e2fc0b7675b3d146dbb3f14adae243f1e10fd0b95ff08a90d674166c3af72ad";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/nb-NO/firefox-54.0b13.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "41085294ea372990b058e61942de5f2c972511bb22a1719e92275e4258d6c0c0a71ada6ab21475c1b32021fddf5b149f1dccb469a948050d901b2ddfb91886f2";
+      sha512 = "0fea5208d74fc9d4b184413e3f6437130beb816cc21425555108ffbe1c15d2b5bfb4478fd81d81f5a57fb8ab2c90ec8efced100b9c022940b7ac6db701829088";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/nl/firefox-54.0b13.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "45ed2265c4d6a66142bfe117794bd950e56821d377a5437c9d0cb8405e7605de617cad3e92ec6aa71129117690591fc95ba5c4d9e662fafa408c3e018845e40e";
+      sha512 = "b125f32a93e2509e404cf0e7ae8f21d227d863586869f83fcdb577da76bcbc5c4457bd7c79ca4c1d51046aed6cf68c772c9dfd6447da139dd4abae1ffe97d952";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nn-NO/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/nn-NO/firefox-54.0b13.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "1c981c33bea1ecea733db9c278d92ef42809a4dcc0ce8f9064e08b303a56970099b4f3591103fe262a777c4ded9948d9cedcca6d2046512851544c8da774a250";
+      sha512 = "155e45030d15bdd1db33cfb862df509cdadea5dd9425c8639bace7ec8bbca4265ed501c608911454001022ed01fd27600ad0b9c526e721b6faca9d30f30236c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/or/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/or/firefox-54.0b13.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "3c67ad9f3ae800cd2e0665f35cbe92f17337c5f2568b057b9c9baa7aa8c91ba4f5b1e7718f288a2cc982ecfa43241e992e35c798e833fa56c636f8c7296d5a55";
+      sha512 = "dc1590c5d3a51b2a1d3cead15d432df33f58a4de6ca57ca0ff207a10e239575d177f931c31e03294c6a5f6d4938de04dcbeb7e356c73f25a7b9a187481d0a8f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pa-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/pa-IN/firefox-54.0b13.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "9778843430f504faae4f8e138490a92c14f5f0f1c47c642f7f1f81c90a37c4cdf0660ad5b134429d6a86f61bbbed0f285a41ba315b9c318799a90f3208cc4a3e";
+      sha512 = "c02641857f7742ee2eff502ce47cebc00548efd54521f73760c0afda0dbd59190a2364862f3589d2b5caacda451811bdc19bbf381ae849065fd5af4e715d72ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/pl/firefox-54.0b13.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "336a3afddebd687f62753f0bfd6b7e57884cbcb4c536de2d2a85e9ab22a696bda55795d5511ce299d34eac20abe91032450ddac97fd2be9c4b8db6b4b0fe6c6e";
+      sha512 = "1baa6b00ee15366413a081172a67fc835eaead6b053268ed7bbfb093c6d3cd0ba4168f10f88d2a3451c3fdb421c3a91962b8ae2523d5b32c7ca6f774c3041419";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-BR/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/pt-BR/firefox-54.0b13.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "1908080393d171ea86a05277a4a0d67c0c054fdbc60c5a9ba76fdc92071e45ffa57750bca8b1f56c65a4a45d296399c1cf3e9c0db8593ae57e7b8b53a6969171";
+      sha512 = "c74567b9c3ba8fdceb309b72c6dc267c8ae81fb5281e9903ddb19f45ca0c10b988b548fcbb7abe7ec67ed4cd314ce9c9d75ef11f1cc6ae3e411f807d8b9a5fbe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-PT/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/pt-PT/firefox-54.0b13.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "eaec79b2cf363f613cefb2cbbeb3a5b607ab608d7e82ac21aaf4b591475a85374f49f34c912b569ae3fb8224f19b93d753298ef8f6db820fdb84a70b306b16d2";
+      sha512 = "aa7b19c3f40c376c82945ae4e3a7136127d0be75502e143bfd206e738be1def4edb9173d4defbe0cbcfef59c2c168bcf983a23d721ec61311fcccb4b3dc8ebf6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/rm/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/rm/firefox-54.0b13.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "f6fa58d42c155552546b7500d6a0081b3c02c3cd300c0744e4a964b97970f1a87e9754e126de346880447b6af9853a91f157ef5285a2db1a8fd677c46cd0f347";
+      sha512 = "0f2452d45e213daefc3fdbf68f92f3ac9d4644dfa33f880f9a0e2597c58e93998011ce4e7a6b6d4add46ed205f5234f5ca7d5d0161336480ec0013bc33582815";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ro/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ro/firefox-54.0b13.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "876be7fb744a6887890671e00d84387c71e5c77ece611646e721eda3659654760094e39544a2bd3b6e80b075e7d24acfe1d7e86dcb4003efd867b2e7b81e3366";
+      sha512 = "7de63c520fa69a218bdd602ff17418e8f586343c676d5f0880fd5dbc7185e9272ce75b39bed5d949ecf4112b2787e72b02643c6be7fae2a87ec3124f2ecd71f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ru/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ru/firefox-54.0b13.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "52f58ee2af336e18640b1edeb54f2c632104a1cd40952509b512af5dc838deda531e850e0b56d605bfad046af34db1158dbd69bb25380b80a178f32083d148dd";
+      sha512 = "788a723a5fdadf2cf4149575c860d883858b798af34fb429b3d74d7542d230198c6ffdff20d07b224dd1f140ef84801dbc52962447a26dac9999c397b78da0d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/si/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/si/firefox-54.0b13.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "0b36230b9d214793cbd75f282f537e73e28ed37efc9f17e4aa0f5dbb3bdaee5b5569708d99f4cff772767e074a2b85a7079e48acf7aa31e955e6ae6658a779d6";
+      sha512 = "3ce0498800ffff07caf920dfb8bb32838f519d6111574a687c2c6e864d0e99d644c2f2c33d2f312560f0c0c3fc50b7b592b3bca8cdd87ed700503323d7398b92";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/sk/firefox-54.0b13.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "6595aa0a2601005b0488e8ad02f0f5a8b96c4419beaf9a88660e111bb6e932cc98dfa16e511e0af2622360635e2139a8007bea5fd61708f4558576ad54da17dc";
+      sha512 = "73966742be3916d1a9ff31d55071bf50fcb21bc8913d27109f75b3fe63849dd982bbe9329733e9f050d1c884468bd91ed0b8a47cb713dee79929cfc8c1417d96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/sl/firefox-54.0b13.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "56fd9bb355c5dfc680a7a91a1686285a32e147b1b0a72787106fca5244277238948ce9635f97b7c3ccd59d7999c794d4224bf4172384bcf2a02e0aa9d4716633";
+      sha512 = "1550d741812085658fbfe82212b0a10408d5dc1ae23fc77441d4559bbc5fefdc54052fc62387aedd7fca0a81902de068a9fe24aeca9cfc338e64ba43e8513a51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/son/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/son/firefox-54.0b13.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "6475248c31a1d5199d6a4dcba9c98eb3a0c4bdd57ef37c5fb611ec68807658ff9de9056c0a5ad9e016e55d8ccc3ba7987948b2b2f47d6c3061e3f4d13051cf27";
+      sha512 = "25816528ca8907e502a7fe3533bbd3c8dd3448ad9fcb8149ceeac0c397fcb28c7f92965b76f1586e3a7be53575999c6e013064454f6dc2aaf1405b0633e68676";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sq/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/sq/firefox-54.0b13.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "41b602396bf33e36974c97ec25f120ee7452df5d26caed74a10835f0fa7a9302aa87d0fe09fafc2e6670d8ce859a8757a7e7c70657b29a7154b1501e478510a5";
+      sha512 = "22980b382acae61fcd6cf5ba65fc0f969231a8e4d1cb3dc6d09d1773ebd23eda2b6bdb5da10e752f0f69991e45938046b0ecc0bddd377f7e458146f3de387dd1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/sr/firefox-54.0b13.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "dbc7df70483246003f27acd833c881b3ae6ddaa9e93c7e612334923e63a1a4bcf35c082d355d67425fcb72123039ee4b33a5ce5f75909ea6cc3990d76dc21c41";
+      sha512 = "db418099ecb1f34efe3fe3fecefcd40dd2ee720a8dc46da1c10ccca7eb27f3e062756a78c9b6c86314f66be641362e8a82cf344c18721300a432a792c9f71530";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sv-SE/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/sv-SE/firefox-54.0b13.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "082f21155e8c68f8e1f786a3bfc3f832637813bda06881f1b6ebe8a1be85bfeff03100d4a9f311ea8bd6ec802e55bbb674eddcd9551db6a26ae32a6a97535bd4";
+      sha512 = "8ae1fb40b7b2240a014d1f25547f8afb8dbcafaae62cdbb84b027887427fbec6111fc3ff1325d692341b3d9800bcfd8c9036ecfe32a9fc9146b511668c03d67e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ta/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ta/firefox-54.0b13.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "51bf00c2014222e0d1b30d83a483882930d87d5f281d6b33712616769060dd4b1c5ffa92d30e0e61effe2392490dee43e1d49cd6e28c28bd3b94ef005b87846d";
+      sha512 = "2e22c50f9905aa744b2cef1fe087332cc17cc7ab51c144e34327153bca833cf5b5783f0adfe5315e2965f30c237729f2093f670c9a00e39a1db8659a94297528";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/te/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/te/firefox-54.0b13.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "83a879a6d9b96963e3370068961559cd530695cfd7db200fb8bff7d79ed01de0357e211454f9735b667a1c65ad7338da913646709d9c212704f2dad0486b3d24";
+      sha512 = "c2add5e606be0a210ed6af6c06c3e916905d3053dc63e282ae54e5d4209b800906ccfe0b23279ec2cce1e2eec7f40b6604cf21652fdf626dd0e261881552724b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/th/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/th/firefox-54.0b13.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "d49d76980c091d354638a2c887cef68e762ddcf9d2a7c1ef74d1d735791949928a6fafa270711a0f776e51410b35c9b396015288ceb5992969af88dd3dea990b";
+      sha512 = "2c5b5e170e75dd7ec9b4e98fdfb2cd6f228ca6aec0907b6ecf837855a2084b9d2e0ec6000e6f82d1bd9b7b09db23afba8ffa6e813060df3f69dae7a5f04d4907";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/tr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/tr/firefox-54.0b13.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "642a6be0577f16c0c4ede21a82cf6c3866011c3b663f7ce7c15961eec7f01133fca8bebd46dc2cb9b91116ab7cb1060f04e9b4e208eaf6a1ddb3e64219a2d5c0";
+      sha512 = "a16330055ddce9502e69b8ddd6381ac421836ad98d0002591cf0ad28ea199ee607ff747651228fd2e5528a9be773aa9fa6f0ac58e57d13996e104a0c2c6fcb34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/uk/firefox-54.0b13.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "bd72d88ff7f82b195f6ce44ab8d9b7541e0564ae7b6cc6bb9676a38a9bb2a2e23561f07006749de5598da1c6aadc1e90d0ad2a5eb1be0f998b4d36534a075afb";
+      sha512 = "e9537030c06093d21230cf8e07913f05d9b02a89d31d952debf558c346d77b2cb95f3129a9ff6a249e3abfd769d41d0d67a57335d4dd39b1ca1c13eb9bd6cc9e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/ur/firefox-54.0b13.tar.bz2";
+      locale = "ur";
+      arch = "linux-x86_64";
+      sha512 = "754c986845dfc0d376fdaad04bef71498982259524a458cf1b89ab84439cfa4bd0ad6d7092e7499cc91e3eb45dcfed3f93a2fd1bbcde5f2b678d17fa4d62ee99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uz/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/uz/firefox-54.0b13.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "242b5367c7e78f0c753ebf4f8a4b1d1fd42e236f7417a3dc441a9e72c071fbb9488b226214cc14991f5d12c514e53b35de3c903ddbe5fd4aad31e53f1a6516cb";
+      sha512 = "ced181d692de83928a297f18bc62391c9ad9c05b27d0d9e2db3b9f0c7d37d726eb4406837a4e223534e15358fce4daec1961fafe284ed032916c39e49c0880f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/vi/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/vi/firefox-54.0b13.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "d2cf85b0592b3116de4848665c5726f40d3ee2e7b92c808a7a41f0760041fb5aee1d61b626d9fc427a8b0bbf697828ed86741a1d319e27694b51dde630afff8d";
+      sha512 = "ebd4bcacff95dcb7ac6a58da2ede2b4fa7d44598cc96761e870e49d65c827f89d5fb7b2b144252026475379b3dcc88801a46de8793a8b75f17997edd56f90679";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/xh/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/xh/firefox-54.0b13.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "c865f0b18d427aa364f512b0e5cf02c126f156bffc4db2ab50f32fe9d28a949644fc672fae9a651a28ce6119191b6b0cbf7dfef3e102266b790fd0290d3ecdcf";
+      sha512 = "80d32cc0d735e54691b1c4cd59cc1a46b187dbe4e2b2dc3d3738b66b5355324313c7c5e61c778ad058b236e48dbd8238a1bb796cff6185398515a9fe5ca42385";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-CN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/zh-CN/firefox-54.0b13.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "20fb7a5ed74e3badb56038ef16064b1fb92c6bf274341db0aed52427e313558846f34372cd019730ba0593439e6fb127241ec02906a76b5a7139c7ac45960783";
+      sha512 = "c63f0fc1174d40dbd2c1c57d92cf02d594c1a64ff12e90b5a58b28d7ea991fcb615a0e8029f96ebad12c59ef1fcea39575ac58b69eb25f31ec4d5c9de5cf72b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-TW/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-x86_64/zh-TW/firefox-54.0b13.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "955bc613dfe9a968bd298b6cf038bf7db615ce456de31da656fb54c7f3e8126391154b49b1948a95871ddec04d03a51b543b9248498b661a998d40249f6e8bd0";
+      sha512 = "54fed20629960f34306e290eb60fddb7cdf20dd7b95a21a632557a41c99ca24cfa03215924138debe7c6aab9772197a0680f6afa3f35da841ae8df553349ea18";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ach/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ach/firefox-54.0b13.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "cbceeff2ef8fa20f18ae5106a6cec638bb064c7b32fdd9bca83776bd58f3a579babd2a6e933e0cee9d0ff2e553358e136ea478b629317a1892f62c4c52f47e22";
+      sha512 = "baf49f88f15e62a5b2a60c8c09f1cdf8e414083dd816403df8ccc4fd760e74e66b2b86cbed075ee78a504e03cf6de5e90d92a0228fe0b3e889ea301758c8e95b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/af/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/af/firefox-54.0b13.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "76c6eff9a98743a64d387f3a58830b7583510444fff7bcec5daac6fbe56f068925491fb2c8114302f862ddee3d4bce7df4a1dfd1057a918f584de4774da7ebc5";
+      sha512 = "39d3f8fe582222fdcb2e2435cc02806bd34637deb2377276faac5dc30a7df0bccaba1636e9d04e86ff1ee4f376e7da4eab2d63cdaf00c4a20e7c048c76a39e38";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/an/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/an/firefox-54.0b13.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "6152904cf2cb33e6fe63b3c573bfabed1915b538d028be9fcf7ad3c169c98899becee772bb803a2b6830457a0d93bbacd49e8c0b962fd1898e8225463387e092";
+      sha512 = "3045e008ec29253728d6dd9fe99f220aa00555c721747dd684a6806bc87d60539e79c7b547fee0d3b740df09ebb8febec9e44961369d8f614b9fb34b8d04f1e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ar/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ar/firefox-54.0b13.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "a83ab8633fa7658669daf271db339ed5812d0a85a9eaf313165671f11ae6d50ac92cdd8414945dc6b374a8a46b68df241812e8c8396e9256521ab81949969b6a";
+      sha512 = "c4b147f35e18d3ae864d641b686af9dfe25d5ed58e1b84df16c2ed0f4574039549f71b019d2102bfe60a5c84f2bef9ec20bcb4f56d914ec69b5d91910e7b6378";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/as/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/as/firefox-54.0b13.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "2a76a7eb0b3015eced2a4a83965d314753e44232bc333cccdacc8a0c207b5113aeb7b97fa972dfdaf6e79eda03d8e18f4d8daa6ae3f8059d75e1245ff5618173";
+      sha512 = "3f8b2001af4064b4273dfd543f4df1f6b534df9b5b56fa6f3ba2eda0f924757b4ccd567295ff5874e463e330be1669ef4d5850f33a1e081b0f077b571fd90dd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ast/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ast/firefox-54.0b13.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "91d8801a2fffaadee3635643a813d588650b318d9e074ce3284f97795408a9d513ccdc573fb083e523959470095ffabb8023f250e7b3abf7f94853f126ff42d7";
+      sha512 = "20575f29d9409afb7c9cbc78b1f2a16e975b9844fa9d47946fc36fc3d9cec14c340b97643147a6d021a53daea07b22e0d9b791caa954686ecf573c98136176c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/az/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/az/firefox-54.0b13.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "abdaf4dcaf3ed2813b389fb91adee89f796d30152374110bab10b6aa1b328a406cf9e572b2d41b5ad9827928f8d5249c9d6abaea5b0698ff2840f66ffb71b656";
+      sha512 = "29f374dddf442ae9abcce6be49a234a45b95987dc547e76eb9d3ff7e48781a58bf00303b72cf13624ebda702d9dfdda70ed594f17d59d1573783b643b54f2241";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bg/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/bg/firefox-54.0b13.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "65a76933c06f7d8bb71ab24e28f6e755090f8eef8cb7ac741d37c8532d20aa35eb119dcc0f7e28a97dec34a3720b79f869f8adda079b49dd270227bdc081d1ae";
+      sha512 = "a2126b3a3875ae62b21eb2a0ec840f0b5f0ccf8c81c945b0b6f80fc0ff5e2aca3cb6cb9554bcc8737b85d65fc6494fd80effe9fbff277f6f5a7fbbe4b8eb6477";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-BD/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/bn-BD/firefox-54.0b13.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "e6cb0cf7469a125da031b2e9bb4d2dfa90df169e6a61f03d482e44e9beb19744a038eb1922ac31812732d0e72419211894bd5029e16091741aaf45c00e72c14b";
+      sha512 = "7bd043b9bb24fffb8f2a8a288ccd67195d36ef5e3908ce83b559efd37278c2d7275a85341c03edb42763cddfe2c95b917387f536738b7f8b54c743361045a2f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/bn-IN/firefox-54.0b13.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "4018dd322a92660780cd4e9ef9c8631593c34717d2d1ccee1a340e34c8465ea7a5fb196f39292c3f502f7458bd4790971a443cd9c16f28e1112417c8eed35bed";
+      sha512 = "62218d525722f55e1ed9ebe86961311573e53a08eb87f8a459d44e08f2a2e627fd0bb8b67c4a8de1b63fa14aebede187428bd728ffa68caaa8390c46d5bf148d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/br/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/br/firefox-54.0b13.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "31f75272fa7a747031697505505f8362589f46986f840fc8325fb95c0009356d4fbeccd33e20e923c49df91d7af40c948ebdbf35e6d2d48b734055e33b1a19de";
+      sha512 = "1638a7b3091f243adcbbb87566eaa8d95c5a6c315b8c67263181e33d5e014342e3f062da4a749972dc36da029d15cf10a4762ed607cccff934c19a9acc3d6e72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bs/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/bs/firefox-54.0b13.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "888c6b2e2d79071710d580da39e33dbfa4392b9995bdfbe16a7c4377f54e7b9c81cdd4864fdd05d2f376e1d6650dcfb5dc94fe67e3bbbca55471ce2f62cc4589";
+      sha512 = "e577bf44f0f0cafb96a33f8aae0a2b538ebf46d6bf3be51e4bd59e77261b4022f45619ae098c66c11546dcfe6baf4b596f1d9ae7f4bd1266c3786310567a0487";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ca/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ca/firefox-54.0b13.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "87971a8c4bcf96a67fc370778274e2c35356b6239db4104740c16b281a45d45b03e4c8627c14f1c6f3ac5702784134c743f07998f3db2b2a8d4a2e6cf9c0b97b";
+      sha512 = "dc0dbc0b86ab3079863dc37d62851fdeda415728546bc0a2799c9c0546df258de0ea47968ef2b941e443ee4110cc8aec632eefd6879b4e76be905f66981d0290";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cak/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/cak/firefox-54.0b13.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "047e10a19ac8fae5474820ae26429711efff76e84d9f58b0f4b8a36d7f5c45fad6c46402448c454c32b3466de3618e2b2a392bd186361466f7e87717fcda4108";
+      sha512 = "c1c02e89db0421c9f1355c618cf2831ab54eac9fdc8bd61efa5aadc37999b28e2cb91c56edef23748141becc36c4e315a9670856323ab7abf64fa5b37432add0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cs/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/cs/firefox-54.0b13.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "7d7b4583e3c6c4e906cde2cea8cb7bda2ce4cd007640b3e681608651e6f414675b7039c1ff13678947d617607cef407382feefd44ec1fe1534b9abb0b1dd0d7e";
+      sha512 = "8d8d2f7cb0f352c70681b2deff30b23caaee1247e11e0b6ff977fe4f12352db8a3fcf2f4c9463ccd8c3a8631be7432295fd82f74aa2ade8a67bdb89916e5c57a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cy/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/cy/firefox-54.0b13.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "768429d9772d8e39d4230fac01c4bc6fbe20c7c2efd326e78cdcdf74382e3a38bee9bda90a1d97b61035cb35b5be8f337fd80d15d4f185a6a668f68afd3b67af";
+      sha512 = "9ec90347d3ec2a1d23db120f309bb6a5266b8c6cf85004a97cef798c7ce14169e28f752dcd6d89bccce7947cf0be04457c8e96a8cdee6cd2e4bfbfc84193fd4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/da/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/da/firefox-54.0b13.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "a6e435be5ac73d683ade3dc29bd6d5e0c4ebea30f8521036650981b510d4df014891f8eb65a5a6a39855fcf5e45d1b393617d7c16071812952c635725bf206ee";
+      sha512 = "ad20e0ca46c567d8cd27a44af43c7c8855be4cb50905f7697a102af7378009449ad940cbb66e24b9326136ec98b90782fd569ee411951b5313c9444a516a4184";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/de/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/de/firefox-54.0b13.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "7ea17df3c926546f1eb7ec0880f7b0b63cc8201044b444280b31d2646999ad36ac10ce74e19794ba7c1a026f860c79e83ce6ead339865fe31a021bccd85f04b9";
+      sha512 = "21d414a1c906675cc8eab081f499438c5b01fa1b535a048ca0538815403f18226fe8c7fda818afeb05128497dbe1c53d17868418c1e0efb92dd41bb112496ec8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/dsb/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/dsb/firefox-54.0b13.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "0e75929ba5879fbbc269d1fe8e18627ba54c5f74edd3179360998c9aefbf21d1f3c3cb0860990e7b1b0a5f5037ce9a4779c3edb64912f4f13c80501e579cfa3b";
+      sha512 = "d7472be94b33967a8f65764e5afcf6ffc8762d507d6fdebdc87aaddba28bf0aaf1b31a546c69adca4e53effa0a349f5795ba2ac52d51f2726094a4901263a042";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/el/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/el/firefox-54.0b13.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "b682e47f225a270ab421b3642f7c28085d9f2f1de1e68867ba09e69fed3d9b5908909be46bfaac6e9d0d1243eaad3cfe2bbeeeae6a5b9696b0ffb901a98db50b";
+      sha512 = "ea5e5520cf1559e92bbd0b94f5c7f8451e1fd53c09b92d5aaf2ee2e48c1693cd9b22abdf418ee1bb1551768a7ebc220903c1b0476935fbd95cf9476b7b6e5a30";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-GB/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/en-GB/firefox-54.0b13.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "aeac6a542c1a4f91ee6bf01d4c916f8da4628b36550d80a166dc46c5c9b1a010b5201c87613e4d59640bdf9d2f9d029d0112bf8b62c7707e99b928c4ec18babe";
+      sha512 = "3e685d42bf1156dd736622b6ecba811dd4b3333f6be268ec616961088b2784eefda7ea0fae8440d9ddbc2a54507e90f33a801aa885baa70bbd82f0d2e0b206da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-US/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/en-US/firefox-54.0b13.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "1315208cd55f48ee05fcfc98c92891307442dc0bb34bb636e14a88701a1fef2229a62a0e8eb00e8028f460518c95c1369a198666cf67c4b09a0e69c2b76c75b9";
+      sha512 = "f9fce327dc51338160dfcfa22733f299df0598e4f2f2d0f86b7376e7582d10a183bc8eaece746bd7b598ebf0f07efa35f61ce1c5996e35d4d4d60a891a14d01f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-ZA/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/en-ZA/firefox-54.0b13.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "891b4a076239132976a4cc51a3a374fe244b6a9119f76303253d6ec9d62b8230ac9c04b657bc741b13ca291a9b75a7b38a4aa25471e4faa6f34f06000a7f2fb8";
+      sha512 = "1c6378b8c5ec23b8988b9232175213151adcf6b60c9d7d8f36874e21bdac58b55d788d588ca99ac7dbb235de619cd62fdd66f607f467fd681dc0c0dfc48e4a0a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eo/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/eo/firefox-54.0b13.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "f805e9bb3d2241a366026354433670c2792c16c74ab2f5d3691081f682639b23c4e6d1e91e5e81719601c571e74270d8b5bc4f24e7babfc77ee435c6a2125ba2";
+      sha512 = "8f991d8e5a85e7890d868cdd5683f24ebd5fea2ddd01de9efdaeb1d8978c81ef36084603e76f487fc844a4261d65a467471bf30910ac9b0c33dad874cd1a5094";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-AR/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/es-AR/firefox-54.0b13.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "df78b4626f41afaba10331cc8921dc8f196aa2c8669366ae286a75e8850a647e7288964a8a323c742926d7661aa122072dcad592654dead9f57b8c008b61f7e6";
+      sha512 = "65c1099c7fd660ad90d12a0297729c6212336b9e06f96128fbfe7c52e419869d8db443cc19f4b61e86e4f7ad275952a7e7d570361e7829927d4507e20b95a964";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-CL/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/es-CL/firefox-54.0b13.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "71a340f8b004f3907eb763bcd817338be19955ef447241a6a680381823591324df9b9771425255693b49513a8f4475fa1ed8558e5a510bcd370bd225469a5f69";
+      sha512 = "ffc3863b8e25fcbcebbe01fa0ba28070bb97813f87a5f4f80eb25c7bc96df133140ed9a646438618ab297749890d0860c65ea77284ca101903b064b975a5e2a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-ES/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/es-ES/firefox-54.0b13.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "a34dc5ceef8875bd5d15c61ed9ada2f62b52cbe42636675cfb6a3df694a0fcbbb3b0dd61c3a0ed5b18e7ec427dfbf58887b91a0ada596dca04b3d2cd066123a9";
+      sha512 = "6cb1a2b2c1da715733ca83e9a1af5e20c313887b1973010b1871be3e5b1faa35ef81c4e3c1c0084d23bbfb2b9151cc684179fc285852115cf3f79fc3538e93ce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-MX/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/es-MX/firefox-54.0b13.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "a178599eb6454eb9a463fea5704b49c720cd2f9df033bd6f271322c75a5f2f52e82661c82f9ff9097af28ba617e2393979b28209758df3710ecdf72d0304c5f9";
+      sha512 = "f54c7a2da3a00cbe3c744e0234ff8f258a37f67590f92a271df313a87de1f15c05387b83525dc01029fcfa2db536809ce24cce1d067c765441d6fe6909aa6eca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/et/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/et/firefox-54.0b13.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "20e3af6d1f7fb7f154e366ee5e031889f3f24e04691a3d2915f4405f33e7220dae91e6e635ae98451048c254b7a08900851f013e7979c013f84b643635ecfebd";
+      sha512 = "af3ec37d2edf1d0f0f7da6de779923b0bc446a066443484241783b8a76fd96a8b2ae7044967b3d4854349fc6f0bd18b2032a50272ffbebb1a53f851ec3d2ef19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eu/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/eu/firefox-54.0b13.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "d13833a0eeb5b4c37baf6d1f85adcb3502b67219aef6ac5b5d25914fae90cf78284830acba0e8d6c76d8ceef7fbe3332d673be125325b9bf53f24d4b070e6998";
+      sha512 = "504764ad92b0250b203bcf8b42c6c2eaf0ddf4ac0b5a3419b9c4d84f4ef4e50e3275079514aa89595a3127162c139078262bc90e0b998922bd2c06f8a90f9f7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fa/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/fa/firefox-54.0b13.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "fc4a1d2c1e635de2094a8fdf3b082c0407bb937f089ae33c0f429e0c0bb41a7c0cc3158fdd1d01e81cbd01213b452301e2ba83a9dce1810c8d7c8adb035ba903";
+      sha512 = "8c632dc5b05a2b0711e917a4d3599775bdbb59aba448f408660e7df02f3aa21313301b4ff8b4237ab7ef9c6e61c5b3331860d79413abfe447dfd262ca4d817f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ff/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ff/firefox-54.0b13.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "1e4626d053e7abf236fc795f59e7dfd8053048fa1d0d8f4585efe7ea872a99511f9053e9bd6a1ae1af22cb3ff399d16d33c1b45a7b3c6557bda49062d1c672cf";
+      sha512 = "b37986236fa7467d513b643534e0b4fb7e9676dda8856b6600ee2287b671cef974c4fd781ea1254e20ae66445168e2fdf2fff1e761f489e2a0fd6d0138adcdaf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fi/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/fi/firefox-54.0b13.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "dd8ea8dea6f76f3c5dee63abdc187f69e949e0b6b11126d4219b38d1314ba6ac77cc789e0923fe9efb26167200187cb236a783f7aadde64f20798d44839236ef";
+      sha512 = "57164b97daf88d76e7e3fe73463d1b583893165dcd79ddaf824e76e0e8fc182f9e4c168ba5a78091d5f2cc7af0b36bf538b056d5837a5dbf1d53d0c29c0de5b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/fr/firefox-54.0b13.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "9124a3c541879fa6f886555c93b1e07f431eef0d0b864cf414d2bf5d3cd749e30c65db4fb85a16072260f656598066cb8957d667aebf07f9067646e11fa09ad1";
+      sha512 = "5e29ce0a9890cd6679a0f7b2b074f27d8a0f4c0df00c0bf15fb07dc5ae7d4d5147a3a21412d7916c00c67befee21febc8399045ef90f9c776d77853488551d1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fy-NL/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/fy-NL/firefox-54.0b13.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "2ff6aed7c4b172b5dd801d180a7b7e945a4f39b8b8001e673bfb16b868a2079a2c741ea1a0b44c6588468546e883c6057fc4787eac64ca9b10860b7d538fd72f";
+      sha512 = "023e82bd8d6fd4378d88f063b28b92254440c9eea4306fa046b1abf31ea91d43259ed55c330f788cd686d152e17c1f94626eb05ffd0cb27857070ddb8d546298";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ga-IE/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ga-IE/firefox-54.0b13.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "163994a889e92bc84999e0c827f7ed0d162b43b1046a0391a851bd826730ce1199fa54a0e5dd549b3f30e197a8535ac5b4e1cb99f7f7a8706f7ecdd5bc125cff";
+      sha512 = "249f6f582f5cf7adc8cd755e26c44a3d48712b10f65a436cbb43332dc7a72b3d11ad20c4d456c7c685d174243166ef1ca11a834c155f691249bb1de4a157b996";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gd/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/gd/firefox-54.0b13.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "324c856b4f0505bf5481ee57a2549594739dcec8b2a57ff32156c724adc001dfaaa2202b0b66a30565061f4ad8719bebb382ac5961c960f4991e9ab6488f2195";
+      sha512 = "447a9ecb093576cad7dd24f9c9d8656d31d4b23db33f76ac35325bdd8cacbf0d64625734aaee4d5849b9f450dc7f4300af8ea284ccb0fdf9d1532cfa74556613";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/gl/firefox-54.0b13.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "1b055c927c318d09ade13b64e50cb6ed03e10676535c9171ff3867200e8c79bd175b08b89377a4ef86f92f91977cd8a6cbeb48ac8beaf6576707d14743299227";
+      sha512 = "cd0ad5f227caa5bd3213ac35b9cb73c315b23d9eba789a192ae21265a81ad85a5718ab088c1ab9ef7242df5c3e03271be333a59c40db55744de1b5be3e066e33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gn/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/gn/firefox-54.0b13.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "7ef12effe16f92e87d98c71cde4f3f7303674b124a41d174e57a9a4bbca0c6cd33cf8f39bbf72fc693355b5a054fc8c6ef15228751eef52a1599b280c9a17801";
+      sha512 = "918afbfa4fb7cb8a553cea7638f0ae26ed6cd360e5d1dde81c2699e4d9de24583a126cd75ebde7a6b4a42cd9b220ac1472a1b96d9c63ce5c53f241f6008a2264";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gu-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/gu-IN/firefox-54.0b13.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "6437e9fc0e171f48c335fc7c6b7ba327dd9419dcd293449ecabef1a6a6546dc70c38099abdd42e5f087290a256362170fec02ca53ee33e8883f4c654c9382e29";
+      sha512 = "d680af2d9e62d7460d1c683bd17ca079022e3641b14d2c51ab1deb226c6f68a9f0228a0a394b683d4adf27268cb68af87122725f4b3e6556a61f231a1472f2e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/he/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/he/firefox-54.0b13.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "ed8e6b961458652c273e443a29f4640b230044ca03d6da22a374704c800bbf8df4f7e984e9d3ec936153263cf29ee066c4fb6578ffdecf9955b7f65f10c26828";
+      sha512 = "a2e79d3e819c6f161d9d03b3c2614968de2d7ae266c56ef928051a8682e3edae2cb76f850de3a33e475757570f79d2c6cb580781424c03f1453d9f82c558e7fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hi-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/hi-IN/firefox-54.0b13.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "091595a3b68c6951357f1a8e417a8ebed56c41fc1548c8aabe846980c4e3a769795fc0fc7e4cb1af47be2f4bf77b691269018d8ac2052f5acc5111b752fbafb0";
+      sha512 = "7a4b6a513e70b0645a9b96d2b08dacee9f14ab2d6209b82937fe4bbb7b08b4af64e513921baa17384e66a5f61c18f5fb20c4f70a99afd878cbfa1f42a33befc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/hr/firefox-54.0b13.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "4dd4646bedeffd0219e1577e61f4e17f5c2b67b78cd8f8001d033dd7d4f906d0ac8d3e6d5500fa8a4aa049be0f7aeed967909d6cfa13b97fd1b9f93ac7d7b687";
+      sha512 = "102726454dbed95a25e17a5bc438fa5c78f3c17fac6cb91537007c58e3d12199e0341e6726c16dbc899a6bed37efcb9acafba6ab1b73347a7efbbd7b9e049143";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hsb/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/hsb/firefox-54.0b13.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "8cc10487146e89e1728529271b6a9e3e6ce6260d495ad0a013c5489da06425ff9adb88bb521ce8bb90c0ac5e21ba126147d23cefe716b2708bf084d39d70c800";
+      sha512 = "6aa930b7658d9347b2f17acd829d71791e289aade826614d6515ff5f8596ed9a95fce0a63df18a98ca28e1dec7bc15661f2f55905241e698c27ba4ae20303fa9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hu/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/hu/firefox-54.0b13.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "5c15c474ce885c88d863f1f22e73d300e0defeaf61009b939ea6c2e62f16a6fb3693a3dafdf264e83c618263153d3dd81bfcacbe5c9f701a28530d17b38d8189";
+      sha512 = "c4db23836c13f371027145bcc1e6c9e8096c8299c0007fac948ddf46ce2099f7c1a5f0d8415d6cf42ca83cb08cb61f86fd3927f07a974055517e8bbec72a7894";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hy-AM/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/hy-AM/firefox-54.0b13.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "fdd30dbeeb08a07822de29eb0e6ccb9df895675546054c75b4bfb0cf1f427488cfad9e2a1f541894cf366ddd1bb03e8eb4a75c318a1f80b2cc967a5b4ded8b39";
+      sha512 = "b66112e99b41c2c357d285789f636b9f6f4da848ba4ca013c7d24f7338b1f724f6f81651faa9f82bb082a9182ff9d4fab442eae581117d2d02493f215bca621e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/id/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/id/firefox-54.0b13.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "54734428db8860a7ae9c1543c341a5dd53f6e966f290a176e69f4fa66c2a4bcdd25075c5ec5f311adc033abb85e525b2b7426e113743632ebed07abaf31dba4c";
+      sha512 = "d0d9b990e145730396a8b88bacbecbd320f3ab9f2e07bc9f56493900b93693ea7ca04ffd077229e488c847014de8cf16d481ec078a4b30058eef73903c5dff9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/is/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/is/firefox-54.0b13.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "6ee38f9506403f3cb57c6b7f971c599ea1a2e77cbd5424bae209390a20b322f0b527ea4a0be93bac8976cadb5080d22e262d6797b4e9257aec232e768909c235";
+      sha512 = "a23c64f8dbfa1c5a6bb2e31fe2fbc80d02485abeebe57e091cf101355e07532fa2e1d75ba91f4c5a0cb112dd941440f8f2b83cbeceb17eea026f29bfcaa37779";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/it/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/it/firefox-54.0b13.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "71a1d593554466db36e09aed429d07ac9ed563af33959c899319e96e7d757e8dfe912a8d18b52cc198a0c4a1c45226406bb56996bc199b67f79c6a3aaea7f6b9";
+      sha512 = "e7084183c5bcadad2eab62db7276c1342522da64996f442eb9ea0dfb3354c5f75f19acb53d937d055d8723b68b4445580b7bcb8328a063abd601614cff501542";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ja/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ja/firefox-54.0b13.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "7d38e749f69ee99bcb546291b09a0a2b51b969bd4fcea50dc4f386cb951ab8a025c2ae8746c9e1d6398024d7904b63497421fc16f4f061babd0efafd17ea52af";
+      sha512 = "0f8e6cdb01c5aef004ea12b63bf24797276676ec4ef0a3bd63b596552322a33cd8905efb075259955189ff5952c99738a1017cfab8dde90ffe90d978182f193e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ka/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ka/firefox-54.0b13.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "813069de2be9e1b299bbead6e2078d86d3a382bf6d502c5f96a9c10c9571f4dc79127b450760d994e8fe41b3afd966fc70cea60e798432c7b8aa900d3d715bb6";
+      sha512 = "6e1556802092f186cd57edc995ce53b596ebcc70fbf37dfde19fc8884441b5f84431e9c8b023c93578c538ac14d5d17caec96cbb6178f330f6105f21133fa07c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kab/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/kab/firefox-54.0b13.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "e1c562cf189a60b15c94fdd681007b4a64fe3e275900c3c78d492854fa28eb61ff30ab65ce7d3537170f28d51ad543e1b306b94d1ef6280b0b03b466fae9edf3";
+      sha512 = "9e25fcd718b65c66c8e99a5d63d06603e120f518c36cabe47cbea3ba9d2b4b61d9baa805a13c7860cb22405d8a5c2978fb2fee1e911dbd2d3d87ed2d25b4aa95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/kk/firefox-54.0b13.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "be54a4085ecccf9d2dbb8894872d73d3d261a8a75c755fbb91ac4c1d8bd3ab696b95a25c87f0d509ab250b53470b20aad3255d128296928c591d45b2786c1cf3";
+      sha512 = "0411b45af993bc0df101640db9c13b8a041f9e73712b3b41ce8c3b92e0174d366279e8e61a286982ba0214ed2dbbd6b23bc940a2f06947bfa534d8fa9f3574f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/km/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/km/firefox-54.0b13.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "6369eb361d1ee31d33b9780072c1c49926fc4314168e5883ca71cf864765d7758d51db55f5ccda231e24ed4b65d2665b5fde7a3fcb1524a04e7057490e8b2308";
+      sha512 = "621de21c64bb7a10aaae1bf277d2a869a2897270f6075dce9c543b6864be03221d278aae9b6ce7d67af5024fd9c5ce807e7f6c9e9c5b9eb8206c5ada0460fc70";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kn/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/kn/firefox-54.0b13.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "671165858cedd7f4ba9173cabe9532f08de780c967f6af085e73e3ac97f156b39000b3b672bb690cc40691d3b9b6b9d20c08883a1f2a1da689a71093096642a1";
+      sha512 = "f446dbacccb0bb89c48137166aaeb2ecb781f11441b6610508cf3119759cc8a1c12ea713e231e6c05ea4001c2e7a750d2880765ba09315d3c593975a7bec8035";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ko/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ko/firefox-54.0b13.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "04cd3b277dc483cddcf6fbb79687b3ec170d33b0eee46717d645358df0f224c86f36723442e4d28e4460e663b3357f3d3c7a7aa1ec594013a8d91d030e08313a";
+      sha512 = "2d941257c88db0617c230e877a48fa54a6753cb1c46897b92c752159e9ccb0300cd7916d9854e7671688394d2e147330fa97e16a716ce1133b0f0c37727a1553";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lij/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/lij/firefox-54.0b13.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "e62b1481001d5d63b65e07b527dbfc29b435f659db7237b411105711a601d9117d62f71dd93849b5ebb8dd0dd4e5981ffe9f318aff2e74485580471f672d5b6c";
+      sha512 = "6705fa1ad8aa7fb4a463561a2c91c8f6a70d491418877d3dc6a9d98c903f3367e649d66a6f1b7b1ad417fa65b0cb44a792a49db479842eda27ab5bc5791bef5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lt/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/lt/firefox-54.0b13.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "f7cb9819f955f7b32439a7ffaf0cb57351bc25be579646d00f945f04152f64c9174bb49c99ec49b2d5c053634c73872a5b4a9615fd66744d0b5c650c9bbc67d9";
+      sha512 = "246416023a4a2c8231ac60a5339c3164301f2d51a2ed6bb23f58f0715b6eb834f874b992268639e7d2000ec41a404b61c5ad191a218a3fe68f09244bc8fd8b3a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lv/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/lv/firefox-54.0b13.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "e7cfab908f9ea12c77ff0a76d2283e205c9b3751eb16a5dc06171e2cc3315193c6010faca943341e1a6496b48b3d90520308c53d85677cc18014fb8560f7714a";
+      sha512 = "e47f984c68e98927e15d66b62588f8a159c012bbfbff931625e297e28c8a1b2ca06eaea60a13d62392d8fd5285b2fb0cc42c9e4d68c1123dedf87964401d39de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mai/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/mai/firefox-54.0b13.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "6088910c06e1310097d09c6bd582e20928de56fddec03d7338faa9b9651900919315c15cffc601a0e4878ef7c8821d40d5e4d7e6998786b1cd50f21ca0e2dfc6";
+      sha512 = "7bb51a53327f85883b3aeb58a00cd78a5921fd6746f2110a22eccd38d735262c05d97cdd84dac1dfa29502bbfe333ff365d7ca163ed4f6c946156df11dd5d9ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/mk/firefox-54.0b13.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "d4ab8618c7945843cd0c9234ffa68dc61adfc3759a99bd174f66456038614497e3b389b0af452b3958c12e9b2755ddbed33e098c9e4c07110daf0bc5c4b874cb";
+      sha512 = "e94346e4b53c26523f2de965f4e0de11b835cba2dc19553a3a58cb789b9b1bcd146f37fb932184b9fef6d991db04f7dffdb9b838db758e159f654f6c24beb196";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ml/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ml/firefox-54.0b13.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "05d3de5e0565316ccad5ad407299f6c31071d48edf1ec44492e61b8764040f22a6b23230b74f256554f313575084c9d79504d3ef85451c9f73c12edd663c57a4";
+      sha512 = "1c2aabf2587e312ef071acd5e97a508ad2c5d61f3bed5ea36eaf47758ff60d5f46f9966e09954c15a0bd389d2351f3cc4fd36ccbbdf8fdfcb1cff92d8832e56d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/mr/firefox-54.0b13.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "1ba2e3529f379c8e77941ce42a0100cef1f2daab31d8b1a0b23bed898ce0bdc4cb3a873aae71c1c3f5789f35edf7ffd88e11902154a3aa4f3117ba1ba782b0c6";
+      sha512 = "0f04e81a05c37ef0919dc03787ec069a78de21154fc167ebde8c256738cbe23bfe2585e0c76eb8a4687b6d17bf69efa6fc142de27b30c519aa446e34ff6c52e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ms/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ms/firefox-54.0b13.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "7fe116ab0d79e7de3faeeebcdaedebbfba94ce6320b563ad79de7f3d5459cc113a1f10b6b2fb3c3b074d4a027f0cff9106e078c2945a62e5f3b828459c1e8d83";
+      sha512 = "82c95552769bbde10239ceed7c5f37d3d2dca19c7ca4556404e5340253f8396e66f88577b475f7f0d6a367a6ab1df556bcdfb1859ac9b673604555a396e391b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nb-NO/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/my/firefox-54.0b13.tar.bz2";
+      locale = "my";
+      arch = "linux-i686";
+      sha512 = "af03cfbcfd4594129a6e8812136c5984a62ac09aae238432ae69e825e767ab22c720005350fad22a0d3b774bf58e460f567c7d4438d32bfd6370b44f5fc19869";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/nb-NO/firefox-54.0b13.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "9625821a4ce710ba5f1b5f7416086d4e33c67037e40dc0ad9a5d57049b4fd5bef9fd1b1c4c02cf6910465c641242a5ab9e596c962f5f4ace66b07cf4f0f85405";
+      sha512 = "33216bfcff1cbdcbd1aa656614d442a1dde16e033954065f7cbabf5ef065cf9f1722f4ce17989c3dbb822aa7b2e21818b9e7b25e0ea0da9bdfe157d6e7713547";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/nl/firefox-54.0b13.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "5ff420c38ec644f622aed733c599a505498bde48f2a573492d647745d7f7c5cee44b009eaccb8de458af813260bd19f9baa7f9f1e2dd946cde48f09510a885cf";
+      sha512 = "520e225e72413a9649ac0025a1c3fb9b58a2bbda0d28aad15c2608feba53e53e61dbc7f06ef22e655c3c2b77c0b1be853a79057cb08afc75900bd852ae8077f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nn-NO/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/nn-NO/firefox-54.0b13.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "12ccce434da504753b38449959c97952767fa5af7aa2b0f58777f8775e4dac94d55d67e8d575f68e55e084bc65cdae101ad92b4654bcf345782bbe914d01f655";
+      sha512 = "c564b555844d104a82d6b02e35349778fd0afdc7dad20d8560713a1f32614557fe3009bed29bcabc16da245825cc6a4281a64ee0bc82a78d4b45b21a887e8d23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/or/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/or/firefox-54.0b13.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "3b456b222d39b5a69761da7cd33504fc64ee76d5d8e6e4ca26be158f562bad27a3322604a6542195aed1181f578a650b05200b1ba75d5d8a05e400014bf25660";
+      sha512 = "1ee6ca370ab28f36fd379daa2ba4259e715d6dd5905c72ae6ba05eef5eafd4ce08511c4c4134ccf640834e053d1993bee85688c108ee4cbe89ea5f8acad11f9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pa-IN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/pa-IN/firefox-54.0b13.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "3472c5eb75dd40b68995bfed8542546a9f35e04ca8a7fe17465a99a94846ea696d1cfedcca2d59a47082de6d2261f1701950be3295f063e69846cc90d531f5e0";
+      sha512 = "d66120b15473b145f8b5429a1a683950eb5766372f5f1a98c3a3ed69c68b9220f5dc45e5d114a6bea83851dc9b4941ea735c75ac45ceb661e601c6069d9d7534";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/pl/firefox-54.0b13.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "0a883e16dc997c748a6d76e32455473ffea6612dcb88446f331e43f9d247f01ae93e49827b1e222a2990e54e201c58aed2150e800080fa47b222daaa69154bd9";
+      sha512 = "4b6f5155e5b763a7a19cd230cb37a6864beb07b29e4181aaaf5cfbb9fc7bf9fc67cdb8bcd9b0a35780b40a7dc8744ba04fc73acebeba49e32bbf53250a78d395";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-BR/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/pt-BR/firefox-54.0b13.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "34e6870557e30a75838bcac1e268796f670b8f5dc4e49cdbcc6e34cab5f8c3e4996cc73149d13a5178ebadd1f052ac5c2eaecbaaf0d3f4245080e71f8b86c856";
+      sha512 = "1b74ef30b836d7490b155b194ea6a9b1e4461d955f5f16ff0afaf1c1f1980dc1e7f60b600c2ceab1e655038e84574e4408c15fe0c7cf48ac99c0961e8a04b135";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-PT/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/pt-PT/firefox-54.0b13.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "932291baa2091d12d9832483d14a6e05568fa8d1d1c41f42d066c5efc13d7e511afcb953945334b9e7a573776bd2263c9e38a64f73cb44f4f8a32509e5fe5119";
+      sha512 = "3c5a2881d06820a3f54d3a2e73be720d1c0f06233114766196ac344f5f9f0ddaf0f9056367b5f2a7199ce7852e81ad77f5c55dafa3626afbda92a4bfdbf5db47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/rm/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/rm/firefox-54.0b13.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "7258b1c4a865d593e820220f5b48bfd1a8b9c4a7bdeac9b15208f5060ca501e03b72914b2b53b65164d2db606b092252f0abd6fd83f781ef0f330d4bb487dbb5";
+      sha512 = "d8b5fa46c953746a7feabf4dc0fd7526128f3268cc3fb92962d67d2c03afb61088cd82d7e5054ff14a4f8e0ea411e0734af8745f743412cad1368414593e0162";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ro/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ro/firefox-54.0b13.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "5fedc4a3dee59bcd804eee04ba07ee4b862e6ea8198d1a5c3383cf36667e2f15ef728f21138868b84c15f59c7b11760fb5fe293e8545840d1e5c98945f404eb7";
+      sha512 = "070ad441190f46741ac49c15d72264ac81d9a0576d382f5696e940482f6de6634bd5f8bdc1855d3e3da6040b632100d333cc06058414eb7f25acb12914de5e3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ru/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ru/firefox-54.0b13.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "8e6a4f786d5db808ac5c63d4abbe4a53b941845a48fe2fb8dfbefb46e01e1053d591aa8bda63ee83785ef3cdc481593c86c804e4683455a2e27fe594b96a650b";
+      sha512 = "935cbe5dd97db312ecf7045bd38d8d3ac84e812da507256e9c5abe465e5111bd20131373c6aa43bcc8b6848dfb6d77e72df60b19d6378d808a6f8a095eeb1b03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/si/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/si/firefox-54.0b13.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "39c0c3487242a54287af42c9457ebe8882112954dec168630b8914896e3900e9799691bb88147927328c4c5f4b2078bf68e623e09ca2f62a4b7efb4e625bb283";
+      sha512 = "a4db271cf567f9010fb8c3ac1bd859c4bad8772dd26a068eed1c5f7c048fa969b5492f0b4e12ee221da6be9581790348253ae8838b4e21a8824718efb14b6ec8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/sk/firefox-54.0b13.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "e87215632b5f0264a04fefd631def717c3f6bdfe31817dbe855d7c6195b4f340af043bf613fa9f89ca4af4893cc6effb876eb51555a089880970315f7ad15e2f";
+      sha512 = "a617d8bd5cd8827f7858dc4a881c4da326e7909caa9dc20194f4a150340897bbb07e397918057265573f35c6cbda269b857cec31b90a9c41535d65f8c2e5f22c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sl/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/sl/firefox-54.0b13.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "7cb036e5926b2ce9a03b27f37359b640f824f32a918ad8e9959683114755949ad7d2069f02e0206c2d67633ec9763ea612ec3e3e44dc5e881d4e275d1767cf30";
+      sha512 = "3ef4245014e3eebb31207e084d9c50b39ebfe16408f6b96bf0ddf66c9c69e9d717266152c643e2412358bef30d517f84ec482ffc57bc826a9d1a9474848fac7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/son/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/son/firefox-54.0b13.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "e74ea45d6b5dab67229472ab524abc805c5e1c91b7ba627d95f0fb5eb1310aacfcd73a4a5fbfe8d7d5546aba9d254297494b34efe81aecc7e261cce23b9e0de1";
+      sha512 = "2bbfcbd5945be669b779e58c0ac925b4d83836a3117732d5c85f9cc009cd87302e8ea5793d286951ec830ee4b8996413b3fb004b9d48eeca506cb289b99efa6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sq/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/sq/firefox-54.0b13.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "8321933b4eec21e9297e446d62f63b4a7c69eef3952d99aa32828b76776c34efc9cc174ded4637c586a383558eebd2ce43a63dcb7608ea0a2568c03fa363e0aa";
+      sha512 = "c59ab2f574e605528d90ff4c25b67f1815e778458aac7ca4a7ed105668d8f59daa9ee4e4df33e62c359ce3818c4d717a520d99cb367c84f329321357083e1ae6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/sr/firefox-54.0b13.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "a81dcf72785936754c04fe2e549795f612af671e360a653860dec811a65ad8e19cb6cba5fb205ee5925f364e49a358d459c354e26b23746a2e5deba41374115a";
+      sha512 = "80e49c1e72e12f63dabb6a73b3e05de635aa63f8523251a38d9762dd80aacc0ce2db7a37b8e4ba8cb804c2f41540fb5c9790279dd6a02c06bb1a7a1ff944b75d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sv-SE/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/sv-SE/firefox-54.0b13.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "1835da3f930b9daa37dc14785feb0d145aa9640278a4119b2a8f6168bb5bb385187914a625fcf3d88c3822ea62f338c2376c08831a2c4d8203a4b6c0bacb2d7a";
+      sha512 = "47569b272c2b42c0149790fc008894dcadf35dd82d64cfefb07146a75dba85e8052524151d7baf8cc929879342c4af7a8161d6df02aec7582bc3df4cc99e1c57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ta/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ta/firefox-54.0b13.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "0a7f219eece161bb3ae9ef280457e94470d1929770123a9197c08eb320ca2119aac66cd7fc5181e4c0c1359514d0338d306db1322435abea70538f9c55d5d7a2";
+      sha512 = "1c64a7ace3abedcbcaec3d3ca884538aca70bed9c9c736a721152bb3dfa7c7b0a1f12305fb54ca2ba7658ce9c2f42bc2c87049e3e792b8548091bfe4e10824b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/te/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/te/firefox-54.0b13.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "10a412a83c75b8a7d4adc800c858d9f0adbbf7b2c08cf8a3d5dc494ecf38cf8a83cd3a462eda7eabdec73e194264b698f40a705458fb0916829b783c511fd3aa";
+      sha512 = "2a55a67577d2de5dee7b526a716b5061fc4bcbc670db5286cf8290629139d72325f086217689bc55a5d260f3d30b572360d62b01370685028acd9825ae748fc2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/th/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/th/firefox-54.0b13.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "d5bd9c86174be82336f711d50dc75e6f252a468083354c0a1dff99f4c72469a1a789144ffab2beba65d3e43a2e8812955176f426b560bb000607bb683eed81ac";
+      sha512 = "22c796f3d0bfa8ca93654ac73a8e1be30b7d2d02a1700008243d98c4cd367b4b5e5712a2def5fd8b3a40d7deb3e638cdb4edc7e609d37bf7726b9fad69f9225d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/tr/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/tr/firefox-54.0b13.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "7ec4d2419a1afd9b23351ed896c92ba7812f4aac083e72242d21e0608c32dd5ac157c8d08a89991fd051f6fa0cc56507739b49cc94731a4aa83219d9c76cfc85";
+      sha512 = "8c50483a7bf1b8016349e9c9a088efac8750bb51bde35d3af78b82827f0ddf951a1605a193b3a1ebf6e03af1224defc48f9d0decfa317f3e1c507e20b1c552b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uk/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/uk/firefox-54.0b13.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "eaebff23162685126416f9974ca6d4d20a8dfa320818c76716e695c6d9984e4591620185fc5bb4ea97c2ab0d042864525f9704d7c3e0fd222db3eb60fbbc63cd";
+      sha512 = "2dbcf145a1ec46a2239f0340e881228f887e8ada2c8cfdd4f77a0229440f3de7c4e7f40706973dde6171ccf45e2da41e77c1e5fc4375d857e4a2a74722dd9d10";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/ur/firefox-54.0b13.tar.bz2";
+      locale = "ur";
+      arch = "linux-i686";
+      sha512 = "69acb4094d4a302c4c62328dcfeac0733576188b3e4548dfcd3ca9d3cf7e49379771122090bf99acf6e47624d2216a790b3593dec4d4a578b346139027e9d619";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uz/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/uz/firefox-54.0b13.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "5cc21748974536c0f2e73dbd486e2bba1e5d44b4c198d94a6a4d8c3c0be925e89264a7201031903e1c4a41e4bd2c9fb558117ace9acb8f52051224c35b3558ec";
+      sha512 = "287dc219c456f2bd60cd4a1552d42f7656f6321780cfe11ef7b67772601d55c03eb8cc83d239b90e45a47869e5104a1c1aab77131c788693aad8bc86c61ec53e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/vi/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/vi/firefox-54.0b13.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "42ad1640ffd4c1f35addf69156992f87e1cf5925c8e5d5a1ee49a34835d28117918d3c7cc7087e258726f83e16e3e8fae14f6b8530d308b29606105c8a2f337d";
+      sha512 = "8cc0f6c83328a67cbad2dc3427678a985fb74863b0f7baf4bf65074771c1e5a18576e274f725d65901c1627d0a9a0b6ae1d815d28dcaf5c4b9b6d830dbf3c245";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/xh/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/xh/firefox-54.0b13.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "14f18ee698bf639d4e51c13f58257af6a4a87e912e14dce51b2052351005f66df501e5b28408079d6d6221e2419da55675d298859c65b6c40b94108a7406f5c2";
+      sha512 = "28d803a22ec0d5061edd6a8185638842e55ba5748b0f1ed5fca85ea9e7ceac33319e9d5b282b308f092c2583e747ed981dd731a0f375eb826d878eecd31f65a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-CN/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/zh-CN/firefox-54.0b13.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "66ee019ea1694d8e16e16a39799fa0bf1b6fca66a39ed5435865c7d3fd9ebd93496d20c37d750a1e70006e11672ae1a603ea81781146a10086604dbe39c3f2d4";
+      sha512 = "0fd9414050a69c8731e1ca8fc8f1a5f721d7aad48114a9680550b133b149da043bf550d42102c6fc066392a5463697afd55d3f08a5f94cc755d961bb29e261d7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-TW/firefox-51.0b8.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0b13/linux-i686/zh-TW/firefox-54.0b13.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "2575b4111e6061f941237392f23254eabbe7bf7c29a5113fcd61780238fb22f5b9d8ca9df0243f29d40b69f65ab5fa59d8ed83fdaff96ebab0b0e648f9adc0ad";
+      sha512 = "3e460f2eae2ee0c40dc32138d6102aea4b47471f320dad3cff9884efa6e3bd23dba1c5b825a7a907ff6f7f7a08f145854de3d82bbe9bb85d518538822918c547";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index b6e8ac10fc9..dcb25dc1343 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -37,7 +37,8 @@
 , libheimdal
 , libpulseaudio
 , systemd
-, generated ? import ./sources.nix
+, channel
+, generated
 , writeScript
 , xidel
 , coreutils
@@ -68,7 +69,7 @@ let
 
   source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
 
-  name = "firefox-bin-unwrapped-${version}";
+  name = "firefox-${channel}-bin-unwrapped-${version}";
 
 in
 
@@ -124,6 +125,8 @@ stdenv.mkDerivation {
       stdenv.cc.cc
     ];
 
+  inherit gtk3;
+
   buildInputs = [ wrapGAppsHook gtk3 defaultIconTheme ];
 
   # "strip" after "patchelf" may break binaries.
@@ -131,6 +134,11 @@ stdenv.mkDerivation {
   dontStrip = true;
   dontPatchELF = true;
 
+  patchPhase = ''
+    sed -i -e '/^pref("app.update.channel",/d' defaults/pref/channel-prefs.js
+    echo 'pref("app.update.channel", "non-existing-channel")' >> defaults/pref/channel-prefs.js
+  '';
+
   installPhase =
     ''
       mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
@@ -161,7 +169,7 @@ stdenv.mkDerivation {
 
   passthru.ffmpegSupport = true;
   passthru.updateScript = import ./update.nix {
-    inherit name writeScript xidel coreutils gnused gnugrep gnupg curl;
+    inherit name channel writeScript xidel coreutils gnused gnugrep gnupg curl;
   };
   meta = with stdenv.lib; {
     description = "Mozilla Firefox, free web browser (binary package)";
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
new file mode 100644
index 00000000000..cab4d330f43
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -0,0 +1,945 @@
+{
+  version = "54.0b14";
+  sources = [
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ach/firefox-54.0b14.tar.bz2";
+      locale = "ach";
+      arch = "linux-x86_64";
+      sha512 = "8f19c1210c95d5dbb845caa05ceb90bfee3dbc8e7ee630849766fea2e06b5eb20660d1c7387a89112daeb4b11bc6a05e274429bf48dfd9b6c010700c6998da14";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/af/firefox-54.0b14.tar.bz2";
+      locale = "af";
+      arch = "linux-x86_64";
+      sha512 = "daade55b9ed5a4390ec65498680b600fb1ee0ad9f73f73066236a376c8b86687480f11cd5c97c254681d3b227759e84ed292b3050ee368337514338ba918a688";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/an/firefox-54.0b14.tar.bz2";
+      locale = "an";
+      arch = "linux-x86_64";
+      sha512 = "41836c83842fb5429938964faca59a763a7bf7fc1d38611274d7bfc559ac9f167841d1b43deddfd9494508bdce515e2842684482bb808b2509ca27eb5a4937d1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ar/firefox-54.0b14.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha512 = "b97e47a261bee9e512ea2478c4c1447de4144928adc84ab251b951a650c20774b9c42fae2da4d033120a7830129e2c9196ee960a8de58a112c06704dee2e8451";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/as/firefox-54.0b14.tar.bz2";
+      locale = "as";
+      arch = "linux-x86_64";
+      sha512 = "c60ffa06a01ea84f28bbeb5a48ce4c60a95332fb90534465bb6a66d9aeac99d23ca7f8b8c38aea706b245f5abc482829365e7cc20dd683534e93dca14d89b3d3";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ast/firefox-54.0b14.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha512 = "e0d798c61111c7fa8ec59ca54bdff1375576d83c94063edd2fd9a2fb9f15603e864f2daef85e760578305574f69e475930a7d276c1f4ce5cf2fc82af338fb276";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/az/firefox-54.0b14.tar.bz2";
+      locale = "az";
+      arch = "linux-x86_64";
+      sha512 = "262a818ff21e88763626ee9d1bff84308efd3fa06695b3f011007f808657ddca8b4b7de82542e43a4e4264beae88885923dee7571a542c9bcaf1a1a1be782242";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/bg/firefox-54.0b14.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha512 = "43a5df2c83b731e5983938a69f636ee3cf0977de21cffe57792313f30740dba696a71a8e93c8addf5d13ae1402d83a8bf4eb20fb18d174e5777fbfbddffc2ffe";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/bn-BD/firefox-54.0b14.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-x86_64";
+      sha512 = "6797547ba2d94a14d0b5409e51104b8622aca1b6ec988a16deff7e8528b4a77b571484bf2f92a72716f565bbf707c4c72fbb59d67476e22ffabf23c7db1e7b96";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/bn-IN/firefox-54.0b14.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-x86_64";
+      sha512 = "733c9889f7dc782656846bba3cadc0b0197c03233428b966f638ef3c8ad64881379e78742c2afbd4f9fc14f42de77145a24e26d4742294b589d2011f8cb65aa3";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/br/firefox-54.0b14.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha512 = "c3baa5e4f44c8e7fae99323494d0364b933231b67d164cfc5eb3bbe919e2cbeceb0d9d9838922def26639becdeadde5101bcb514250b8335d1fdd0081158cde4";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/bs/firefox-54.0b14.tar.bz2";
+      locale = "bs";
+      arch = "linux-x86_64";
+      sha512 = "2fb80dec95921067a879cf836bd2b191d6f628122d813f22b242f1d6a0e605d71f74dece30c51c18bbbf35e64b20df4ad3fe11e8812f11f44fd98ced49fbd792";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ca/firefox-54.0b14.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha512 = "276a1b0ff9df2606d6626203de6e22d3eab41f853e29dc87d478825cab41e0c8a93feef4dced6b731025135103922140b3e7c5f9e1fe49f02a1a3e09f3f3351c";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/cak/firefox-54.0b14.tar.bz2";
+      locale = "cak";
+      arch = "linux-x86_64";
+      sha512 = "a20244e8aa7a7d935fc948eb474f265a3695b23dac6dfbf585d782ab1c224f4a922de43c52317966ffa735e3dd38d0b4742f6a3b87edd545bbb8608fa0827ca8";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/cs/firefox-54.0b14.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha512 = "a2bfb5f97fb367e16c2737f60ee269447a9ee92a9b2917183053d602713fece31706e7f1c64742893496c881d11b62c34e594eb5fd17b92bd41082a0f09cb7f5";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/cy/firefox-54.0b14.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha512 = "336c46fdb5a8dab5dbcd6b75c3f82805defb0f8be45465ade68f5d3c5ebf0b080fb0694a220efaf9f7e5e1265c1e0cb151066f53542f8534c29260efd2e4e2b2";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/da/firefox-54.0b14.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha512 = "c3bbcaf4ac2dc38a2903d48596ee5c836baab94bdba016074eb8138c1f22e0d30281de862abd6823b0c4918660226e66abcb8946a26c30156f47efc946f860a2";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/de/firefox-54.0b14.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha512 = "f871bbc4cce559fad162d4579c46623a81c8a9faec2b0328f5f3e9492bfcdb64d5311cc8aa75ec3e8ebb2c0f2823193fff163a345e3cca43e70df0bd355e998a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/dsb/firefox-54.0b14.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha512 = "29b063bd654d9704a999c27265a79dd75dedab388b1b4ec3c52ca89a8d99e82de59a7f552f7ab0eac6b03b1469cf8882a70e439806be97bf3e0e70b3e34df950";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/el/firefox-54.0b14.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha512 = "a11b8d9bf8ea151d62a33bc0630570098babc02a09bb355d0f0c3ac0d316ebfcd9dcc786115ef1cc36e447f3697fec57511f77e678b401d2c75294429a4c66c4";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/en-GB/firefox-54.0b14.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha512 = "9ddeaa9e89c08ef7e918d5d480e35e34df5feeaeeff2500c2a8a48bf5bb685fd29d74ee1aafdc4c3ff8dba0da7baad20ef0fcd522f14ab9a9e6eb739f8d1fb26";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/en-US/firefox-54.0b14.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha512 = "ad39e7bd5164c754d596c15eb14a07f32985dc86486774bf76fbc60f8eda4a9690df37295b1cb99411e2bd1c83af89498b133404c7180fe5819befcc194b517e";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/en-ZA/firefox-54.0b14.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-x86_64";
+      sha512 = "2a80bec8e181242482d5dd4f28b41a3290a473ca380f7a85138eca7814192fff70b8ee24c6f613fce201d5eacbbd221ba3dbac571801586af2a5c771a1a3d992";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/eo/firefox-54.0b14.tar.bz2";
+      locale = "eo";
+      arch = "linux-x86_64";
+      sha512 = "6b47ecbc39d16e1d142440ef58aa375f7987284e5b85cf7edb802405127dff89e3fcdffcc47a23148daa925e58af17f538c3f5520347d0ca8391ed6ef51a5a96";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/es-AR/firefox-54.0b14.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha512 = "67e0fd7cd860951656b6dcf60450dc9ed5439afc0be8d6be0c549521c6f92bb90fbb2f941a8f9d1d96cfdbd6d1ba9ca3590a8866a4b48062f878917a570913eb";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/es-CL/firefox-54.0b14.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-x86_64";
+      sha512 = "90ec508d87a799c3e3b6a26582cd1c6b6b81923d715ff6e2cb2b6cc7a88c4db78bcee0b5e53f27513aa763ca7368f5a23093e62a5be2b41289b4631464179a50";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/es-ES/firefox-54.0b14.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha512 = "cae140a83a1be44b0e1d42e37d9718dde01ed3f9241cf98c62fce2319a9c73c724d94c65f6eb6f066bff644ad591111334ccaf32986c0d79f01194066ccaf6f2";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/es-MX/firefox-54.0b14.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-x86_64";
+      sha512 = "778abfde377ec538ce3e1cf6bf65a30de7c5d6f5a1748f6e587bff5a182419577bb305dedcaa01a650c4c8cd1f078279e192d9a4c807f7afd38f4dfbacc55071";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/et/firefox-54.0b14.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha512 = "2a832ab5fde11c3728d4ab8f4802413f5da0aec9faabe3dfc58b1558f741182d093ba351f8b6c7cca846a014132770eb13775d9d7f345f57c7f4f817e2877fd8";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/eu/firefox-54.0b14.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha512 = "ee0af554a7bab3a6661424b42360cd7ed85e68fa1436c893fd5796a54b0eaf01b86af77b6b33d3ce722ad897fc403187a55da3557c0ad767e70488a24f4c5b7c";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/fa/firefox-54.0b14.tar.bz2";
+      locale = "fa";
+      arch = "linux-x86_64";
+      sha512 = "11944b7afe0df66d929760ad2bb7af3d1058573083c2f710ce52a1ddf607b6b4b28926a7c140044135fd7cbecffd338be08a94991b08a81edbbcfbf8e5b00ac0";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ff/firefox-54.0b14.tar.bz2";
+      locale = "ff";
+      arch = "linux-x86_64";
+      sha512 = "ae4b81503613f9ca69de12e86131bc507d7eb6c10a26ee5ec702fc7a98e22aae6254f04fb8a11c553cf1b0836c1112ac41797920a54988a2753c91f2d1f7ab87";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/fi/firefox-54.0b14.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha512 = "3049f77695c0eda7f77f4c6a785b5d5a70a6d961618f99ff4364e062efeb8629e966e222e4fdcb1f85b652358854cd7ef859e7e7d9f657c7157a43911fbd00c3";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/fr/firefox-54.0b14.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha512 = "d45cbecd191b05d219e71ca77a190a43b3f4ea2acaad12e442e960ce1df3fa3552378f5e5c8cfceca5b0cbba66eb6f7652986d4c907db8cd662f45d91b1216be";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/fy-NL/firefox-54.0b14.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha512 = "701271caa493338d73a6a6fbafd0f48c8d6b548ea400146339155aaf723e8f28c3a3e4154cb79cb7a9aac3a77c6fcbc4aa155793a27a8f46a58a43ab6443f1b0";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ga-IE/firefox-54.0b14.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha512 = "0dfa071841e5609302dee5525788fe37e705b7c4ee78c05b718356eacdf48870a00cda237c78a5eff6c55d403ed0688cf64ba3895b7e687f87fe86d0f2e223dd";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/gd/firefox-54.0b14.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha512 = "03a29bf45820adeb9bb792e599dbbe8fdcfeefc7ffd2003d5fd9516951e8f19fd340fb0c0d05beb026de880806b206e3805184a6b5976848235ed97b110a05ef";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/gl/firefox-54.0b14.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha512 = "0f479c94f552c72c20581913bbaf2c0b832765f8cef3fa18e649940c5e4a4678dfb82e6fa61fc5dd70295c3de68556b671fa66238fe0b1de9afc4725c353689d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/gn/firefox-54.0b14.tar.bz2";
+      locale = "gn";
+      arch = "linux-x86_64";
+      sha512 = "23290b9d07bc7ebf6b0ad4977fc1ce8a2314867c240f3f139acb43e7bb2fd44e127cc89dc338ca960096605db72667fc40a31824e8e915ec9ea6d89012d334fb";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/gu-IN/firefox-54.0b14.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-x86_64";
+      sha512 = "52479a691379fa2793932380ad54f14019818158653e4a6e00e63298cf7eee489eb8fcfb62999d90c726e990a8df95b190cd59c7ddb54bf2eb04ec3181839054";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/he/firefox-54.0b14.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha512 = "e440421111559ba38dae4c1b2a5a02b551050426b8d294405a4cdc1f8e05ee226c0959ee1fcce894398eb3f9b146bb8cdbdaa44f57cfb4ef921f720864f74e75";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/hi-IN/firefox-54.0b14.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-x86_64";
+      sha512 = "a911950fd9299543a95391fe280a0fa88147aabb0ed8cb1ada320537d3b02bd77c2528c018480039653be44a9a18878dd6cd0b91266ed30be0190dd365fff890";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/hr/firefox-54.0b14.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha512 = "085277f8e4949a6f3484f2e374ff82ff215d91772357e2f91327334f9045d97f42bea3e7cdb2eb8a0d25655d4a5001c3ae287134329fec209add20d24fe9a1f6";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/hsb/firefox-54.0b14.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha512 = "02b9a28af54c9abf5f6bc0bed73e9ea6e14bc12bb23c3bd92673fa5422b4f77263690ba5f83a45cde0d6edb1cb67007f951b13b5bbf6f5c6bc7cecc43830f3e5";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/hu/firefox-54.0b14.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha512 = "6760b7e056e61e25f439cb6aba0de3e3624693097578e392c8f4b3a2fe3a0447cdeade3aed421bd6693059d9d6d52ba4df183e77edb499ff5bb1b440fbd95b9b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/hy-AM/firefox-54.0b14.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha512 = "4a5b0c868a2ae6ea6b1b133182c8c147dc10995f69b31e83517f05d150616d3c2c92daeee767ee44d22a691446683d6729de786efbd37429e52038ffc3b08910";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/id/firefox-54.0b14.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha512 = "245a1856af9fd7345e4925c560de1efa8b786483415431ec3a7bd22a7216296cb6d74756d8300d06d5b1c86ce1fa04eb807c050698d4777e9c9fd58308823ced";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/is/firefox-54.0b14.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha512 = "63e14be658c33020dc32bc974578f4b329fcfba60ed070e11c833135c25ebf8039f6fe968fcd3ee2a5d33b13f1ba8c23bb3e268eae20d86f56b9cfe83bb34a3a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/it/firefox-54.0b14.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha512 = "992610d09e22da69f6425b4a427181a2c69ef9bca7f94aaec8175d9f2e35885f03852f45d4b692ee780c470f3304e66696c33ea4f2abac6c4c928f1919280773";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ja/firefox-54.0b14.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha512 = "c26f7772fb0b5f45b9aa5cfa8f1d7b34bdc97e7e7bc3e841ee39614cc5f345d6c45b5053827b5fd4f62180a36b1229034570d23e3f4734d276ff33916d8fb68d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ka/firefox-54.0b14.tar.bz2";
+      locale = "ka";
+      arch = "linux-x86_64";
+      sha512 = "4d6b1b599ec6006fe1f5d4365c4ccab4b3d496ef412986a9afc1a646d596ed2269b2d67f4c42af95afcbaeeaa4b8d5f4eaece649a22097484bf0971b8e90ddf2";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/kab/firefox-54.0b14.tar.bz2";
+      locale = "kab";
+      arch = "linux-x86_64";
+      sha512 = "0e1d510b7f1e7e345d119c41f31f8ded78ac61c6a05258bf6c6671aca1b4dddb16508e1baa68c130bdbe959f038a9add353c58fe3b1d02e76cd1630b87324897";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/kk/firefox-54.0b14.tar.bz2";
+      locale = "kk";
+      arch = "linux-x86_64";
+      sha512 = "61ee97413139b6e794fcfe1d318cca08f4b726dcb3f0ea21c7f9cb6cda16957d24db360f6cd547a2e0e6a6e031d1a200f4c8bcb9afaaf7e297fd80aec10d0f9e";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/km/firefox-54.0b14.tar.bz2";
+      locale = "km";
+      arch = "linux-x86_64";
+      sha512 = "e6ff303470ccd2f5f98b722746b191d0a60cf53569e37f6d8f62366d975a1e7f71bcee51afd47766566561c1869956e81feaa7040add09bb512c0578714283e8";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/kn/firefox-54.0b14.tar.bz2";
+      locale = "kn";
+      arch = "linux-x86_64";
+      sha512 = "be552d120b3a39241ab90c64673974f27ac10576328448f7b23c4b4d395190ce32f4f215336e86450f07f5a222492467b7b481a55e7bd9aed6c131e23c09f756";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ko/firefox-54.0b14.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha512 = "cfa83333a94c0227b97a7fc0381894d97afef80aaa0808031d95b12d79acfc144de525350c1b29a7f53d10fbcf53ecf0029c9203c7d4511af071ab0c93e55127";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/lij/firefox-54.0b14.tar.bz2";
+      locale = "lij";
+      arch = "linux-x86_64";
+      sha512 = "8332db66b531b2d685e9d9a3349f1d82c4185c0fdd79bf3383112b38cfddcf24c2379031443eba19dc5cd51e602fd9a508c09c7622b92f4423376393163c5824";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/lt/firefox-54.0b14.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha512 = "00cc56db7b2711b8f8c91459b9e1cb19bc158b09566d9218663411adb084f967d7ca2f312fa023e26da31a2d016168ca748ad7fa7a81eefc1444474babbe338d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/lv/firefox-54.0b14.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha512 = "2eeb912b4b787f82d0b997646d13e019dd8762b08ccde5d2823358df0515fd05855caf991ededc17aa9cef1c3524d59cf651f14a4c592c70fecf44f3b2fb0f1b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/mai/firefox-54.0b14.tar.bz2";
+      locale = "mai";
+      arch = "linux-x86_64";
+      sha512 = "4e61c996041804cfac7c62c410fe0315f153e592cb423b57ac9b96070bda7d37cdad02e3e047319951c4a2c7fe1b41f06b98af0f71f876949611f7a52cff3c72";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/mk/firefox-54.0b14.tar.bz2";
+      locale = "mk";
+      arch = "linux-x86_64";
+      sha512 = "338d4b3fc0ec34edb5acb3a4e86b9e8b64d16c470303f0ed127d060c1d38b176bd51251eccb3ab3df19c140007d44ab6649983c0c9aab8daa5ea348f5b34dfde";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ml/firefox-54.0b14.tar.bz2";
+      locale = "ml";
+      arch = "linux-x86_64";
+      sha512 = "1c7f8fcf9a0cb5a8a18a21ef5c258d6edd26cf0b6b847eb64b0c4d8bb963b4814df06be0b9adaf4ebe1d384afbe76c9bb60609c9f9773e466ad8fdf36e4e5d88";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/mr/firefox-54.0b14.tar.bz2";
+      locale = "mr";
+      arch = "linux-x86_64";
+      sha512 = "ceeccd3c53a1bf3d3cff32cbdc8a3845db7c383e98b7666fbab71ee748ea57b8f103ab337e8cc08cc25a0b5c28c57748864ed098259ceff167faf4cf5e3bff8f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ms/firefox-54.0b14.tar.bz2";
+      locale = "ms";
+      arch = "linux-x86_64";
+      sha512 = "d08fff37dfc1ab4ad2a629562a3294aeca275a4f86110e9a21839653849cdce9ab709228bea30e33b3b1695cf7a84fc0cacd1b068a060c5ad1cbb39553eb1299";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/my/firefox-54.0b14.tar.bz2";
+      locale = "my";
+      arch = "linux-x86_64";
+      sha512 = "fd5cad2fe03a2029b1cb63fff9807cdeb5555ce7b3e84f0a8ef334a41ee15f2d499221e1280c68fdb846393bc5aee86e2dbb1a5373873e4c50cda495cbac3475";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/nb-NO/firefox-54.0b14.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha512 = "baef1e2bded7e56a4fb3d1104548ca5e9b9a8a9ab5650c39ebf822199feafd960d24859bd24cdf652edaac8276a7b235110d1e3a7ef6219f6152d6e0a6c48e7b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/nl/firefox-54.0b14.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha512 = "ea47b33ab1b2b7de0d461f50d0784157ed3ff0eef3ce6753d9ba5c11372d182b887cb521afdd8697ade0c077c9a329ac0c47dae928aae68dc6e49b45071d45d5";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/nn-NO/firefox-54.0b14.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha512 = "54df10b892ff31a6decc0c4d3dda5687499512e21f42d69ea68823ee99dcf41e8f1f1aa99cb210f6d3e01bc07aff5b0a7b6e55b2b6a41627e654efc02645a461";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/or/firefox-54.0b14.tar.bz2";
+      locale = "or";
+      arch = "linux-x86_64";
+      sha512 = "eac033a46ab0de8deddd1a4ee88c8c4eb7d814ce559862b92fdc7a2f8a0549913208d4ba151a1a746acaff3d627916e6d09bafe2ad6d78ad54f01aa691be75c1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/pa-IN/firefox-54.0b14.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha512 = "cd6f0d6f30627d50011e0f193754815256b45200fe743e820b6bb6b98120a29936cfeb84676e92e9d90ec8f71774d8bebd57dd68860d4bd77339bea154cdf28d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/pl/firefox-54.0b14.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha512 = "749592aea4e2c18472981ee9d7b6d3cfdbe9c41fe2c0566c3e7eb62c0d910104a6301dfdefb19ac2972edfa65aac509ff485af7ecb73aed365d1a0b052ae63c0";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/pt-BR/firefox-54.0b14.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha512 = "d6e8ce82e79368c9fde059e8763bc9a5b4b6927672f503f52f525a86eec4e39829790d63a009477d1cb4f27be7ef5624c9ee3b2ad58603d76eb5400a8a758754";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/pt-PT/firefox-54.0b14.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha512 = "d3ec8279b1c4ce984cfc57b4b9dd67b923aa73314c21b87f5800e9c1d64d4d23ec8077dc571bdad068e9ce6ce7aeca2b358cf1b12cc6a05c24a58fb876630a4f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/rm/firefox-54.0b14.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha512 = "49310bc21921933c4daeb096c059730d69c22696121af66a4db8b305376fa2cdba73ac58201c12b8afffa751ac30e0f7668d6fbd811077bde055baebfe106bf1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ro/firefox-54.0b14.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha512 = "44bb06eb3de9dc5ba0b6446c782335a50ac058bfdd0dbe69801c7e1b2b55af8ce1a846527baa65afa251c062ad4e325403970b04e939aa9b25ae317b6354ac8f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ru/firefox-54.0b14.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha512 = "1278da77065621c5738a66bd7c8bf8fc361f6bfc8ae7b2d47a454bee53bb3ce47118b490ef0219f9fb56cd956d34f9b24ecb50ef2b5290f8731192b64cbcf413";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/si/firefox-54.0b14.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha512 = "5537d26bff86ee2d7249809cd47d093f980a4b882e72dbe0d97dab3c368000c2e25b6fbb762bcbf7249524c7fa40e65c9fc15a79004825cbc09be4ed62ee54a0";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/sk/firefox-54.0b14.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha512 = "85a544edb4948f0d828908da796f0d6bed5ee0370cba310acd31adc5adc3786f639bc86563904194302e9198f61c9d266aeebd48cf3a2b7d6a96f7dcfa35a75d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/sl/firefox-54.0b14.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha512 = "aac17e2a1ef5166aacabe96933d7179165a185da27da11d1810bec8ce15f9c738eebd3b1e079f03fea30b7079602e110a7c1d536a91ecc513cecbd20cebffc44";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/son/firefox-54.0b14.tar.bz2";
+      locale = "son";
+      arch = "linux-x86_64";
+      sha512 = "23dfa3759617bc04758c779b47323edf9a96f3d3fa655b72c6f2cd885fc9e6b19b1b34ba39ec8ad6a4395a6d502d8689fdcefbe489cc0673ca3df8bf9b64cb64";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/sq/firefox-54.0b14.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha512 = "bc7bc6da2111e0a211a75aa3f37736b7ee6d4c2193f7c884d0ce1b5b0d88019b24de9f7cdc2da1eb4649ac3ee7d06b3c4a580c4f6797ecaf65067178fca7a63d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/sr/firefox-54.0b14.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha512 = "50a6875b26453414dcb61860f6f595ea46e7563cc9231d00e1df97b6a940570a0bc370c99a76ef97d03dddf75b75842102b3d63062aad989b3620426c880978d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/sv-SE/firefox-54.0b14.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha512 = "e8c400e7250e1d4f03072c674762d7eba488f6e9526139657ac4bae7ceedb6eb85b070acf7b94c609492bdc74534f4d1fa2404dadf3ec3c0732804afbd6d6d11";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ta/firefox-54.0b14.tar.bz2";
+      locale = "ta";
+      arch = "linux-x86_64";
+      sha512 = "7896fda2249da5444d3dcbb4dc6381005c79c9e93e2275261ee46f8b9b7a586250ac8722acccf1e4a0d5a4ef8a0c3d7b4cea1518e4dd9ff3d99ba49e9f9a99db";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/te/firefox-54.0b14.tar.bz2";
+      locale = "te";
+      arch = "linux-x86_64";
+      sha512 = "0868096328171e221db7a5ec57121682dbe0134300da0b520b68379e23a88e88817b2480673d508b76d61a91b010ea2daeefe711444c931352775d96b51e7e67";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/th/firefox-54.0b14.tar.bz2";
+      locale = "th";
+      arch = "linux-x86_64";
+      sha512 = "8bbdba7486615b3591bf396b0997c74e0bb3da0547d4f9aa40a1c2274d7eee6f11a866a1176167e38614d9f182c853f2ed884d982dc2219069a4051f7b41ca35";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/tr/firefox-54.0b14.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha512 = "948888566da0b04eadc9135989f8c4940c6fe8edf25e3f093fcf81e39bd09b730e105f07c461844ab72a69e7782b6dfa24996768caa99fdf4dfe5082f1613583";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/uk/firefox-54.0b14.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha512 = "d12e0c53ea756b4406e650f1b11010ec6c0682afcf6edc7eec4732322e82e0e2e4904aa5b3587f87b5124f98a3712bfcf60adab62ea0c8309e03f80e83d7ba19";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/ur/firefox-54.0b14.tar.bz2";
+      locale = "ur";
+      arch = "linux-x86_64";
+      sha512 = "648267564541e466291a055180d2aed657931be70674e51c204f46c9effd5133d4bc35064902692194e433d609b727822d9bc9a0221aed0e538371acf6343032";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/uz/firefox-54.0b14.tar.bz2";
+      locale = "uz";
+      arch = "linux-x86_64";
+      sha512 = "afbc0b0af8882b8f14a965475ee9b4421b315dfea064b3d00bce51879448d8a22f64af95991e4290a545a2db77dccc97ea6beeb22ac10298ab71d9f423011467";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/vi/firefox-54.0b14.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha512 = "1caddc6f94250d9142d99b9ba221f52f157e252b7b36bfce253b0ed1de68e38d859c6afd0be23e642c9aa7d51a82f04ff0ad1d63397bbcb6bf47b918a6d7826f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/xh/firefox-54.0b14.tar.bz2";
+      locale = "xh";
+      arch = "linux-x86_64";
+      sha512 = "c03d230edc7078a3efa322d359e10b45b129689702704c8ec6ed869c7db1cf99b7f57d50442e2ff64b730ed5c72f39ced56efd9ac2ba65654b3a735f3a381866";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/zh-CN/firefox-54.0b14.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha512 = "0ee7ab138d09638b9ef34c7e5dd155c4bfcc13414fe91696ccba38bc0df3ec7cbbedc39f02c790448d9b0079a20b49c3ec47b02c29469ee6a1d53fcc7b9046a1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-x86_64/zh-TW/firefox-54.0b14.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha512 = "0dd312831aaa9801246e0124d80f239b4e7311a64d64823111e32a93b3165401fb27f484d0023751af87b204df22e4a7961db0f37787025babe195f185ac920e";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ach/firefox-54.0b14.tar.bz2";
+      locale = "ach";
+      arch = "linux-i686";
+      sha512 = "a97800319c06e5433e3b31ea80c153d03f203804c9013eff166b57b7dba3edbab74ae565a57565c36371f609d53a76ac2657965d8e2da936ee753d614ceb6de8";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/af/firefox-54.0b14.tar.bz2";
+      locale = "af";
+      arch = "linux-i686";
+      sha512 = "50ba89db1ba882fb84be61875caf147d29e0c7c64402088a95293b58f98065d49228d47fcedf0a2ecee9cf5d994303c2b8576cfa9fe1939eaf9ac2ae5ff89266";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/an/firefox-54.0b14.tar.bz2";
+      locale = "an";
+      arch = "linux-i686";
+      sha512 = "fa33fb132888398d38d1ce923c2740b0976f3f87f661c1c30b016a8e8cd60fa8b57d3f53e20b008fc6b6adfcd6b5c632f0550361b078248495dea8ccacccd274";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ar/firefox-54.0b14.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha512 = "463593d809774306e88fcc3484aae8dc329580e5327f48f463f487493b3cfdc73ae6b943bc301227244d12869acf0c766c234868981b38c63bea673dec204b36";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/as/firefox-54.0b14.tar.bz2";
+      locale = "as";
+      arch = "linux-i686";
+      sha512 = "7d804ad62497a7fa22e418826677db500dd59bd6583729c8c1ff8d49fd13eb8979e35749055b707c0d9ef98af3c78a7e80f3b0609cbd34868efbe0bf7c7f166e";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ast/firefox-54.0b14.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha512 = "bbc13a6cf87e047243a6aa17bda1ecb13aafb00f3c8baf84cd5e64db0cd0fb2dfc679cc8f1dcd1d877c7bf42503d716049c5fec163a946dc47f1ff72f495ab7b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/az/firefox-54.0b14.tar.bz2";
+      locale = "az";
+      arch = "linux-i686";
+      sha512 = "b9357217c5f1ebe06fb6c1a399ac94637388e8866a291ad6bdcbdd0c6d2820bb2beb8b66d6e1c6557abd87835e857b50f01a45f8fe21aa8c053d44417b8466fa";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/bg/firefox-54.0b14.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha512 = "bb94f0186705cf5a0d9b377b1ed9b465cbf6632a0528dc6fb9697409a85ea1963f53b5517cc97fc16db13022da69d8bc43682dc80b54fb7b4bbb8650d8723935";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/bn-BD/firefox-54.0b14.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-i686";
+      sha512 = "c25f755fe5a82a2bad51c8060e6c152a4e66901e9c2adb53b79e08f64bf2e673b83aead21ef83b28390b9506b65685a8c373b62ba1002f3f8ba59ecdcd530b73";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/bn-IN/firefox-54.0b14.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-i686";
+      sha512 = "7291294306a82b9c6ebd2861715a9954169192909e096391ca342d7b82cf7b45855b1f9315e2f447749209b0c3979ea1545532b61b52ccefd68031028473f0a4";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/br/firefox-54.0b14.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha512 = "1c14ef7d74da4c9925b1891a60480e7cae632f95ed46180c77eae8706aeb3e778a6a131f670abeb2b2d4640edb265da4d3b848d993d17f604cc0fe6d3e322c29";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/bs/firefox-54.0b14.tar.bz2";
+      locale = "bs";
+      arch = "linux-i686";
+      sha512 = "426384268d285b1c4e4ef14edc348cc2e6be1bd27abbdfd1eb1ac4cd4a9cf36c2e0af269ec778a36d413da40186adeaeede3aed6695fc7fc9699fbc57a48b956";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ca/firefox-54.0b14.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha512 = "6c20671af78f50aee715e9d9583923c9df086232e9fbb6dcb7211ad2a2c605671fb1d5484a9b1fc35062bf568aae2d15c79af26e9d56692ed3ec51eee0584254";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/cak/firefox-54.0b14.tar.bz2";
+      locale = "cak";
+      arch = "linux-i686";
+      sha512 = "d4c5b4e344caf327a261e06fb0aff1d8071ec2ee61fb77ce2008eacb0ce4937b53d91bfd8e0369979de996c9db665302fec8278e6d024857fabe975b3f01b4d6";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/cs/firefox-54.0b14.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha512 = "c0e10ef87dcf787a337f7f5dd14eaf1f327d248cf3cf2cc0b42b5e9fa426a19c65fcd83cf6ad5898b84f1d8cb70390aafc8e3b7b5cbf2880d9713e854f070b9f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/cy/firefox-54.0b14.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha512 = "b9d8bcd6e05d9a975fe9947d766012150fe504e26384b4cf42591b009201cb1d035ba1157eeaf8dde4c08e7d37814b7177eb46df0f4fb5cc775a62ccbccb06b4";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/da/firefox-54.0b14.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha512 = "3676798548d36ddb1ae0e9b17c970e21572882ec75d81f78d4d63d6ee6581338f75a934b257764c3d43129d139fc8d9be585568d105550b61b5c1146aedb3071";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/de/firefox-54.0b14.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha512 = "f42a2d8acdd380157bf145ba5341b574f5b065705e3ca536f99b23784ff4763c16decc784b62c6d0c6a98ffe088526cbbd6b07cc97c5e0a62268f073c8b8945b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/dsb/firefox-54.0b14.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha512 = "80bcfed6c5788919b2ddd85942dd47ba4a0de1de33840fcc2a7b4ed18dff748c2665d12dcbf3a68ae09f9199292a466be02cf141478e303912c2efed4aab3f33";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/el/firefox-54.0b14.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha512 = "42bc0ce9c2b9a8e5d9655b921009820c1e0e05a48ff104e68533df9cd4e17e9acd19c8d9bd88d4dff48f851c9532f4e58bdc175f8c0cd14d1b98bedcb96fec17";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/en-GB/firefox-54.0b14.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha512 = "cc4ae041a4595d6386a1dd24ca83440497e04f552d748566d4fcc1a17aeecc63771a130ac212d2f5a12f2691128c201f673edc3ca3ea76c808a44bb0a771c8f3";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/en-US/firefox-54.0b14.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha512 = "dcdc0828e37d46046c4793440d1ce236b53b67426bb9395f4134700d78027d01670b0948fc668f7ba38c2daa3f1909882441d056f1f8f4216773ff4151f2cb56";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/en-ZA/firefox-54.0b14.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-i686";
+      sha512 = "f8f1629e0824f14dad1d315e0a02356cc6581fb09cbfc89899071e376a5fc359820bf5c0fefad003cf714c344a4fdbcbfa6117e618e9d01fbdb6bce4ec2b0cd7";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/eo/firefox-54.0b14.tar.bz2";
+      locale = "eo";
+      arch = "linux-i686";
+      sha512 = "5360d73ea0fb4bf9ac0312a9f636ff3c350bf3332e1051a24b69b9f2abea038c9924055ff6b1b8ead926e20d6f4a56349312184bdb6d8977b3e8325a76e8491b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/es-AR/firefox-54.0b14.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha512 = "242cf9863fdeac1bce45d307ea666b3c1903778704f0e417f39a37afc22395d3ce231f4dd33b6e4e9ac31d256d3ad8926bee3ae2c22f062a981061443607b2d2";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/es-CL/firefox-54.0b14.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-i686";
+      sha512 = "4978958d499534a8c6f330dfd56e1ef40c0a92bfa27115019855d8630d9c1b1bd4f26fecfd5fec866e44f7c93f8dbf93feb7e1247af5285c62562ff7e449cbb1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/es-ES/firefox-54.0b14.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha512 = "e321bf3bdac860f2bd2e163e05fecbbd002fdd5f7ac068ece7bf2352aa5a5efee184d47b0d4b95c2323cd786cc874ef81fcb772cc585b0bc217886e6cf588791";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/es-MX/firefox-54.0b14.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-i686";
+      sha512 = "3a38e786861f16a6c228ea5416d2bd0ba643f27fa02bcc0621f705db537ba6e89eeae1f1c191bee6b499e4c6a1ef9af66df80979f32598b54db118bfe963ec79";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/et/firefox-54.0b14.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha512 = "d452515192a70bc20640d3cb6443c91dcd878ca354288d825426c6b395a8a299ee18b781da1f210acca58799ef34f6c6149f4fb758609ae7264dcc698e810d76";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/eu/firefox-54.0b14.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha512 = "41939bc714c4cf0ee9a58ec99851329495a6eebfb8d6e7b3429a246497d7e917457958eecb273e2d4adc65d70a018534ed5692a1b2b6d018b0a03bf5d3babbe1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/fa/firefox-54.0b14.tar.bz2";
+      locale = "fa";
+      arch = "linux-i686";
+      sha512 = "7834266f460d0a98a4f863f03f77770a1a76a107dd9bd3cc44e5e26c40a310a08cbc51518aac8db989dc843ddd31f0bf342b58ee065565a06e00d81470d8eb13";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ff/firefox-54.0b14.tar.bz2";
+      locale = "ff";
+      arch = "linux-i686";
+      sha512 = "f89b33dbc852913b44658691c558a98881c5b9a6dde0a60caa7dcaf9cf7d833bb841216f9217616be8ef0f4343d5221cdf64bccca4960bb39430d2629ad4f592";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/fi/firefox-54.0b14.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha512 = "2bf12c99f929224dccb1937ca241610a741af9ff5af92fa06752c27857cbb7e3c6f9bee5cd453d7e88e9cdbe2dd57940a6b00069a2f795447fce943eca84a15d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/fr/firefox-54.0b14.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha512 = "a14d18ee73bb8665d86b603c8806391ab937f3571808034216d69aa2f8ab1a6b97d52d47c34f44ca0f6eecd48e5ae58142d25e840a6c14721f8948c387795c37";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/fy-NL/firefox-54.0b14.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha512 = "6cffe5d50a37469b7a1f2ca62b9e05d8c2f2e5d9686a07ac365e34357c2827d95c767044a7f5f5fe1124e38690560cd99adf8b733df9d76275049032196a1af1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ga-IE/firefox-54.0b14.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha512 = "619489d201b72f96d23be570e8b02654f851f4eac81cccc65e978b0ee69d4af5b205dcda42d95e3b2539959fd697807a0519a1da64acb3784830aeb53e263469";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/gd/firefox-54.0b14.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha512 = "9e198c4392396379057570a5200e41eb44ecf8c7b427a4cf9d307404d58d23ab440aa1f29798b38887959beea217bf3ab12a80012da66479260438ce45bb12dd";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/gl/firefox-54.0b14.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha512 = "6a8439062f17c97e76a7f660ce9d25461e92089494bd8b12857e08bd712e9c4ef300252fb6145335884dcae8ef867e562f0e4cb901f07c8a037eb7f03615d562";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/gn/firefox-54.0b14.tar.bz2";
+      locale = "gn";
+      arch = "linux-i686";
+      sha512 = "6be9a7cf4c3727aa603747476a2033b24be6e848ab2e5f8ea834fa07e96af05774b7a06d8e004be975f6ffd83ded606486a996d0b7132e7759f81da43bf5f003";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/gu-IN/firefox-54.0b14.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-i686";
+      sha512 = "c97c4ac9a0359a040d07e3a62fe0200c7eb767d4f4748801241a0aeaed930761ea306dad1789c8c6cbbea75a90e55a4f00e04c450a528e8242a3821af803a19a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/he/firefox-54.0b14.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha512 = "27597aa4743b1bc4dfc8c26e79d5ccdccab812b576ed8d2a1d6cdd5c6971fffe00dd10f69fe13e00cb972ca78ddf47822485c1e053e81c179d2a187c9b46590b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/hi-IN/firefox-54.0b14.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-i686";
+      sha512 = "5e9e484fded08a42b2499417327b2373e92d2321cc3550cec25e4f0462c7c4e22a1490c972f6b31c30776b858faf50345a03ee52c6a67e2e0da062837c07d245";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/hr/firefox-54.0b14.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha512 = "44a49025664ff4e5fb34a5d8d02e1dd7dbe581b0aa5d014c2c9e9c052be9957bb04d6d9bfaa0aab15963b2eafda2f2e414fcabe826c73d9286923eb5e8ce1300";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/hsb/firefox-54.0b14.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha512 = "6a71f8e721270d1c450c19c627ed1212f56a7f4d1b3f3cfb5e72609c58f6e040d76aea4e57f8f15c912c5f35c7f7e91c604f2355b51551808399593548724b24";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/hu/firefox-54.0b14.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha512 = "8ac3c4c1b078daf9a671f22cb77f7bd056175b11d20606e710017b1cf564ed648264d3ce23c9e28ee507ff0c0f5bf78cf897a62df03c5ab5e25571c1c04d546f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/hy-AM/firefox-54.0b14.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha512 = "6a97cc2fbbf92050d1055dc288ccd5346284ff6927b05aa0467bb369dfdb1a2b54c0b57f3356add342e1221c391a7d381d2fa895bb0aded5d82cb85071582a76";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/id/firefox-54.0b14.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha512 = "19c32f612c53bf98bfc108f02adfd6345ba3d7c544d1ae93168f57d95e9360718fb57fffd8f205550417fb237639dc4e21e098f2a95bccf8598a11b464497a2a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/is/firefox-54.0b14.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha512 = "570c0832f57f46b398b6370a3f80439d3ea5bad1877af242f6c57b9a35f6bb148946b13475ef95c60a920cb51505887c09b6e2530fa2c802d09e4a1967847d1f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/it/firefox-54.0b14.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha512 = "54e6f03f1e8473d407ac31267378eb5432ba7c366a309a646076ca2d02e342cc586ded7dbadc83117bd71a24d1654cfae63ee5b1b1ecda2cbafcdbca8009ab94";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ja/firefox-54.0b14.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha512 = "e73625a90586b9b845f9a2870838a3ac4f1b194fd04202b60d00805506102f65fd1ab69a3781e86f5db5580c881b7570c1d611c3933c271c43d32e15c3214db7";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ka/firefox-54.0b14.tar.bz2";
+      locale = "ka";
+      arch = "linux-i686";
+      sha512 = "72c070a815511e483eba416ba4172f6ad4d026f2469d1b2b0beaa07cb49f219275b7612e3eb39140601c7d9aa55b0fa687f768ed358a3245c1d467100b6c0cd5";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/kab/firefox-54.0b14.tar.bz2";
+      locale = "kab";
+      arch = "linux-i686";
+      sha512 = "15a2566f74412625329444b2b95fa3c8d0873da9b40a0305b9d2add6a9494574e9350860e87ede63daed36f3347d617b0901aecfe7c3c20a8fe0e44e2117c085";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/kk/firefox-54.0b14.tar.bz2";
+      locale = "kk";
+      arch = "linux-i686";
+      sha512 = "f56ffefb3278b3cf580fd6506a1d1b69fe5a693f259cf630a33f0fab8ec413fbb49f1dc118ff389ec513288f346cbebf379dd4c6da6475c740de3133e5b53130";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/km/firefox-54.0b14.tar.bz2";
+      locale = "km";
+      arch = "linux-i686";
+      sha512 = "bb26a6a7a90cd0925f0e809ae904e7d81f9bbdb5a0e56b084f5c5bf22647ea19ef8d445917a03d5924ae551affae375eb2706c83efc930e7027f0753db168638";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/kn/firefox-54.0b14.tar.bz2";
+      locale = "kn";
+      arch = "linux-i686";
+      sha512 = "b500573653885e3452aa4e05a4dbf7bc9631fc9751b62e23dea013fc4f845a4e370848b53b999d416552c44a176304187ec2333bb51b2c4231fb52b6fcf3d429";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ko/firefox-54.0b14.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha512 = "51e6ff26f2721d8750e230aac93def8579c9fbf066413977c8c8216b435c77ee45e597864b778b2e79ba01dfc9e994578920a75e67269c379f767f662bafcdcc";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/lij/firefox-54.0b14.tar.bz2";
+      locale = "lij";
+      arch = "linux-i686";
+      sha512 = "8cbf424675d8289648d77b3a4b3b37150762647b08941ca7f78fc67e2a5d6a96e800985f8861d5515d6d5339008962066dd5bd5fb16a04789a9101a158fb6d4a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/lt/firefox-54.0b14.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha512 = "0344d94606aa384757bbfd07982762a66683cc27ea446c16ec3206fa2c0b299fab06462cc203a25cd0db5070e160daeda11047b2dcb8b4af2bcae130b6a1ed2e";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/lv/firefox-54.0b14.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha512 = "8b80056b0d6897cca46fbcd3836096cfdc3c4824154b71837573eec75b5f4ee1d0e82cdf0dd1d73a651707aad7888d2413505154bffb0e56beabb379f5b96105";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/mai/firefox-54.0b14.tar.bz2";
+      locale = "mai";
+      arch = "linux-i686";
+      sha512 = "365cc9a52dae47e9391c95dcd84230d0667816266e561b5a26dec8e21b1b82fa891acb851cfcc70a162a852d2ce21492701fa277d3fe98d6dcd6f3cad1c704f4";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/mk/firefox-54.0b14.tar.bz2";
+      locale = "mk";
+      arch = "linux-i686";
+      sha512 = "2ee12219fcee798550da2dccebe800fc67b81a41ca7aa543d0a39cdc10fcc4db5d2503a9053fb2f46e76c34e3300a1c025aa87a639f74a2b14e8585487b7f949";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ml/firefox-54.0b14.tar.bz2";
+      locale = "ml";
+      arch = "linux-i686";
+      sha512 = "38bab91c0e1019369f9aaf84abf145045810a3f89b1f437dd3851fc2267524f1b23daa0668f60740678ed659e5ae1990d2e6798944e7f81621cccfcce60b0da0";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/mr/firefox-54.0b14.tar.bz2";
+      locale = "mr";
+      arch = "linux-i686";
+      sha512 = "011868a403e71693274139de118051dbd0d0c6771a5c780406672f373e5b7470183836bcc0c6aa67c3e9369d401e919def3d6889d0e1758ff2b5152a8f118bca";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ms/firefox-54.0b14.tar.bz2";
+      locale = "ms";
+      arch = "linux-i686";
+      sha512 = "d4a4891090b122f5ed2462c9c42f148f431c9b9eaad831698479ac1eb15ae41fa4355740f3fb44d7367a34e552c3313a44f43c76ebd2889990a546ba2ed5d61a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/my/firefox-54.0b14.tar.bz2";
+      locale = "my";
+      arch = "linux-i686";
+      sha512 = "ec14ee7fdef28210a232fc7a0fa4ab3e891d1bf59be498a1842fae465b1ea8738bb6bf24297ffe8b77e043772be3c5a4bdfeea4ef13ace543b050a25418544ff";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/nb-NO/firefox-54.0b14.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha512 = "7cea11945a09933f75efb1385224f49ff08f395669ef3b6cab296b02ac2e597e9b424c6ff7c08180b0cd3763b2772a7c288e9cc9c42dbe27e1eb285d209a62d3";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/nl/firefox-54.0b14.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha512 = "25418b1377a9ed0a0389f5d4a04099197a2e364e7337368ca8c096f30b249a16d4988f3bdf941661f548bb7c478be5a74169dca9fd5d4800c56af5a6c93b9728";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/nn-NO/firefox-54.0b14.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha512 = "eaad38fae776a49f53448bd9e652f75299946b19839f440ba470afe5aa813c5e8230ce62388d923b411f662011c72cdc5d6a0c400024677b92183d13aa3af585";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/or/firefox-54.0b14.tar.bz2";
+      locale = "or";
+      arch = "linux-i686";
+      sha512 = "a055a1bba667fb338c55f015e5380fdea48bcb7a6311060412171a7dc573c76c087b74108d505b35b7738998516632df54143ddb5949946ffced477d408d3f99";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/pa-IN/firefox-54.0b14.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha512 = "d93f23ac36daef173869ca9a0ab32d986b1acfeda96b2d277a6a555fda14f501c4f3c98f4dc8e77905098a0d20073e801f83e245b2654aa6c4e6519fd1ce3be1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/pl/firefox-54.0b14.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha512 = "586a4162866ba6f4b0851278cc987389aeb5f4f2582241fae9337cb00a62fd909348046f57492af9872e0a41f0e3167698f80cb7e37ef98a8dc7cb8c13fecd66";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/pt-BR/firefox-54.0b14.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha512 = "69ef7b9bc482bd073471383258b15e8bec77a4513502ae797bd1428e618525c8d2e037eca4ee957f6537ef4f3fd261d1a0e9c14d8597bd354652c482f315ab7f";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/pt-PT/firefox-54.0b14.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha512 = "ad7bb1f211b5167c3a091f832248ff14c5f9d197e7065bd962245f8c2e1e54c0835d148f63b2760fdfb2e6720f4ac3f64c6f154267b5fae29683bf9d88a7d232";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/rm/firefox-54.0b14.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha512 = "e25b7a201fa2a77f6f8b9dbe815e59548c598218cab74919d726281e27a8cd4b1dce0a89beff79ac21ff0bcd5c1faea3f436acea5405dd1a899e66fb5a7a7754";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ro/firefox-54.0b14.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha512 = "12419f032ccbc2a7bd54f1f04de77d5318531426b6ed0030076b52d4330037ca606f1319606831f485ab994d0bbeec50455a770b0448c24c1731e137f9cae51a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ru/firefox-54.0b14.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha512 = "79a76a1d54d4449031755a2298efeb60d94290f77a003263dea2d771975bcfd66a7a81e1eaab298f9c72eafc1cdf28060554a901a01bdf26ca8f39b1b927d375";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/si/firefox-54.0b14.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha512 = "d93baf7dc43228f94f2e38e9884f37ac638f69fe367998b86c75f5cd735f012b408b270cc86a78b18f86ba344739baef22ee022dcb8397d83dd341e8da63be05";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/sk/firefox-54.0b14.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha512 = "61e6388daa5f1ce30a313d2d93378bdd8119ae0c3d84b60f1b7caf5e78033e30602a808b0a1169d4017d581daab2e905dd03c202ef394ae765b083518b45a890";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/sl/firefox-54.0b14.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha512 = "3d72f18632eb1142da5ea6b9423a7832b030d246af261cd46516810c721bc9024cc147cfd5fbc7c3cfbbd8fbf920b543d23c203325baaac024e726a040715809";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/son/firefox-54.0b14.tar.bz2";
+      locale = "son";
+      arch = "linux-i686";
+      sha512 = "6a7a960468213dad0970e6793716aa4882f82c3dae1cc24c875190dcbd93953fe89a862d6141744d1cf7fafc6aae723c3d271094242b82d4fe76738aaaeeacd3";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/sq/firefox-54.0b14.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha512 = "170b0ff5fcd665c50dd33cc05ef5ba79d4b6b7b66c04c0e679c294e03395aac07ff8b47b7178f2b7075aee4e42e9398e911c670671cdf15f1f1a465f57c95ef9";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/sr/firefox-54.0b14.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha512 = "3f57ec3fe394f1a39bb4cf2f7017b52680d3d13b3147c6385edcf36885afdec0a0613919c27c276994fe30fd1f28b53ffdee99ed0701688b65cb6a0ce4ec6010";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/sv-SE/firefox-54.0b14.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha512 = "021ecd06e900dfe961a527d7ac80e02d74cbe12daaa79db293b3c88d638fa46407523a5e80de193d6f9733954c8c309ec51337abf30c6f3679d54443c6f8247d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ta/firefox-54.0b14.tar.bz2";
+      locale = "ta";
+      arch = "linux-i686";
+      sha512 = "f5d624139725c96dea05a2bed5430f004da09c5e6cde7e82226589889ed6a6bbf5cde458cda787463eb7a71366678213fb04ca75f05c10385d9ae7c3e2144f39";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/te/firefox-54.0b14.tar.bz2";
+      locale = "te";
+      arch = "linux-i686";
+      sha512 = "d024a530ad5adffab0077644f119d0bd6fe538d9849ef2db4fedf0af299375de4b0035926041288957367d77ed868c85f95fba426e2c5d8a3021865d603204ff";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/th/firefox-54.0b14.tar.bz2";
+      locale = "th";
+      arch = "linux-i686";
+      sha512 = "37e4be8ecff2e594778710c4ee1f779a4e53ccce4fe38644122850f55071f9be025346ac3efd74dd8d7789a6772638cfa6d0e32028025269a8b1de1c4c39127a";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/tr/firefox-54.0b14.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha512 = "a7897a83625bd5b7d0121ea62bb97bd0e6f802e6e010d27ef2f535438c62a7aafbb91b0a1194571e9bd35a673aea1527949b5da0ddafb721c82662ecd1f8db59";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/uk/firefox-54.0b14.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha512 = "a4f133b7184d8a80777b0032012007ef12edb3fc9ffece00774deea31836e0b4ff9d8f372454db3c2d9a167298e304055fe59488996a2f3fcfd93aef77715f8e";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/ur/firefox-54.0b14.tar.bz2";
+      locale = "ur";
+      arch = "linux-i686";
+      sha512 = "71d75174c843d68cb677676b318b2239b6f2e295b8014c13f2be5ef5d050d91182f5c60d95491e6e1afc25df98b431f6eee0b058607289baf14e28ea60716938";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/uz/firefox-54.0b14.tar.bz2";
+      locale = "uz";
+      arch = "linux-i686";
+      sha512 = "fd317b715c9a2eaf995ab95293652f61984f63b47e487e7e0c4e226d65163ee26ef13725d29357beab6555015fae0a6bb9dd273996bcbc0d60463cfee9b2af0d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/vi/firefox-54.0b14.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha512 = "a964992502ef7f2e32c9a525fdede156a5e9e0eb88224b9112541f706bb9162b5ba68dab049c99206b5afa3bf232489e8cf25149e012f42f9d299176e48ab990";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/xh/firefox-54.0b14.tar.bz2";
+      locale = "xh";
+      arch = "linux-i686";
+      sha512 = "ae4d335ceaa94e4b95a2fd6223d08087d20ddc666253bdbae17290f50fa0d425243aefab62d25362f2efee1dbf2abd7df4cf6acb5704ba487395e139060df6ef";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/zh-CN/firefox-54.0b14.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha512 = "c4975f9645aa875df6d948d9f89a00a1758843b7ec706814b6632d5e2b5f8ef272f25ba48ba9ea0b4b00e41d5d2fb7094aa1c7e2d1dd8b5e0715c51adbdd6e6b";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/54.0b14/linux-i686/zh-TW/firefox-54.0b14.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha512 = "ce2050031406d912f6c812ed6b29a07d0c41c1569eb28a4e4280544ba286fa088967b16113181ef5d2be14e00ac84c89d0bfa9b4c25c700874d1b514493260cb";
+    }
+    ];
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
new file mode 100644
index 00000000000..7bc97b093a4
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -0,0 +1,945 @@
+{
+  version = "54.0";
+  sources = [
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ach/firefox-54.0.tar.bz2";
+      locale = "ach";
+      arch = "linux-x86_64";
+      sha512 = "d6ba946848d9e771def1a4cf28a7a43c3dca0d6f1bed0a51c6ebeaef59fc8df808c8cc9bd8d016c2ce9e21e8dee35989ed6575f6047735a7ebe62e75f68fbefe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/af/firefox-54.0.tar.bz2";
+      locale = "af";
+      arch = "linux-x86_64";
+      sha512 = "23564ab7f741ed5eccc2178a5fa3f72941bc843dbd0ad4f265467cf6fe6fb3afe65238d9026a5dc036e91aa0fcc32c8aa8a56d9d514df9c02642fa61c00360ab";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/an/firefox-54.0.tar.bz2";
+      locale = "an";
+      arch = "linux-x86_64";
+      sha512 = "22c2ff25acc8b573fa975ad0a002cc1babda188c60635c75a618d8ec008a14c79d62bec4a432a3b18b11cf38836a70c62156aa7f6991fac50f744ab5141ad52b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ar/firefox-54.0.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha512 = "8ebb9385e8a988c5c1215030833b694300df4f6415b592059fc286fd2b8ddc5e2b7b3e0ed09514c4b97cbeb96d6b463a1105b70f9a7a18833ff4142b4de01661";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/as/firefox-54.0.tar.bz2";
+      locale = "as";
+      arch = "linux-x86_64";
+      sha512 = "2c51fed49a6be6f8162a8b67a851d8ce5ddc438a7c10dbb77cd3ab3d839d7737839ee0104d8a11dad8ed98923346d7658305ab291b8843e87a653f33fe342a60";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ast/firefox-54.0.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha512 = "a2d9c266dadc87aa7c3a0d57b31b4dc28ae674fb19a6ceafbf936f6fcb7ee86eda5f2ff2ad52b1567376aaf637c77bbcfcae62b8c526c62c2d7ebc87c8a2501b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/az/firefox-54.0.tar.bz2";
+      locale = "az";
+      arch = "linux-x86_64";
+      sha512 = "af5617504e53c360a9b1a2d40dc9231d3518115f3d8149e9e7aff8eabed4d1c86467d3634c8c2278e7e10039952feca0513a62934e52645410aa85069123efaf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/bg/firefox-54.0.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha512 = "2f13be1e976b02769e1c47ea1dfee7e8bc940c524c4881daeffe10500d7fcc662f00273156699ba37d82fe4f52dded2e2b34cba1caa22fa6fb9184d4ed7d2ea5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/bn-BD/firefox-54.0.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-x86_64";
+      sha512 = "c4f9f249788df7e10fc226cd10ba8d4638743b65b46cc87b97460e7e551cff8d814a93ba41da294f409b032fdc05b19ab9774a09d6b62458a1ab695805757dd4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/bn-IN/firefox-54.0.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-x86_64";
+      sha512 = "bb6d4dfe207bd7fb018a6a473ac1c3c63d13e4c4aeb152174579c85a29b503d382c02df420028f1b98335fbef5ccb1a712e72cf0eca889f841e3b45a30d98db3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/br/firefox-54.0.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha512 = "1c8c98dded57330c5008cff959da2fb23808aec2397b0b5d2b9dd2b190c73e113d9b599ab243e500dcf94aa81f3497f91b205067de2d0f766a1d801bc2f9fb76";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/bs/firefox-54.0.tar.bz2";
+      locale = "bs";
+      arch = "linux-x86_64";
+      sha512 = "89e51b99c1386567a09a78927945f1a7157064d34b3b0f8972893be491fe04033da92a68690a9d81ee9578f1b35af34eb57cea29a403b1d399f8dd50934bb24b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ca/firefox-54.0.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha512 = "650f81422fa74dee6d12db5e3e66056ffdad669c110633b796e59c7fddbac96e042f4e4eb11c2146f3f4f9625ce9e283aa4309aa8e6f814567be8c5a3bece3e6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/cak/firefox-54.0.tar.bz2";
+      locale = "cak";
+      arch = "linux-x86_64";
+      sha512 = "9b76e8827814e487b4d240a77b2c5bf9900bc0476073bbe9e7d0f7f90120906021b33e74ee92677deb33c84a5eb11c4fd4cc81a330140b8f5f0002795ca6ef81";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/cs/firefox-54.0.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha512 = "9c450275e7b8abad2e2cd96a4cc4b97deab479d30540687227802084890e33b69dad96a0389f43fc49dccf86269b3830f35ec810cc87d92b3e0642c71bf3b6f6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/cy/firefox-54.0.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha512 = "aa6f96cc78054703f474a2a386fa4d76604e9f38c682647d27f987013225244e0e62e23523132fbad2ec021c5795f23c3fdccd76c43f560882581a2847205705";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/da/firefox-54.0.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha512 = "c4270c94ea2a9d864ec7b19b94279c9f260afb99c3c70d6b5a2cd24d3cf05a709dcf5b14f977a197f0460a33ba5f0f70311a4d581f1e21dce863182e8213d961";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/de/firefox-54.0.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha512 = "e254eaa1fce2385fc7fb564b8342529b23b9004156104e35da963fe166cbdf89f1079a966e818bd57386def6436c4894fca4de7876e31452763e66ea7aa74968";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/dsb/firefox-54.0.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha512 = "f1c13a53ee4a86d3e88020babd3cbabc4be84595f51d7060be531d3f02a4eadd0db398b17539b877dd1de3c9b29bbec21a810c42bd430421c66d1e9d4e17b346";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/el/firefox-54.0.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha512 = "3449ea6101a16f78e0f36a4fe85b993f70b5e77e6e7bf2a30dd2a2f1dec85af5627681825d0ee2cc47feae1b22d979257b77b59d61371c5cac7a27b90f9cd1ed";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/en-GB/firefox-54.0.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha512 = "01f521f407cceefe3f8ea432fb66f8f554791c9f5ba5bedc9eff08039c02c637af5e725e3cf9e9b74b7c071d8479472a4abf7e9ecae8cc85188dfa5fced9a1d8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/en-US/firefox-54.0.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha512 = "96e4f085134296203e4c42db570e9b38e61e08766966d71ef6863bb695ff80f37c1839f44a1bb1257ba35fe9fcec9f403c1e259e93147d54cf2b8a4561c0cfae";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/en-ZA/firefox-54.0.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-x86_64";
+      sha512 = "5789e07d2b90f63aafcce9ba8ef8469a420ac03fb4b98f3bab19d7bf51a37b7796215f0cb5614e3dc490d3724dd01f3dbfa26030659b66ea9390fb452d3dac49";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/eo/firefox-54.0.tar.bz2";
+      locale = "eo";
+      arch = "linux-x86_64";
+      sha512 = "c76ecdce017ffe7688383295155687a30034461affaa405ad37e477ef634f7c6dd0f9e07594aeae3f9a61fa5698346f9970fa8effdfec55d9fdc95e5ed67d66b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/es-AR/firefox-54.0.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha512 = "f993cbbdeb2a8a065f827a4eb4152b3537af84fb95d0876dd363b1c04cd57634c2b24466e2a03432ee29e1615e7b5d1bd13ba20f844b347f0f9efe504d48efa9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/es-CL/firefox-54.0.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-x86_64";
+      sha512 = "75557b6731be41d435a0e962117a01c078f36a1d385816a05e15dc3c0148d89c7901af7471da64ded327972d9e73a50e49668b7b3b30c89e2b6aea2068b35ed7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/es-ES/firefox-54.0.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha512 = "1aadd468b2328379b7958a5ede8f9658f4521ab877ca86e7e2bb7ff04a13294b5e0f6be510068fecb94603d4f81c5f51584db308711043f0bde36ce72723417c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/es-MX/firefox-54.0.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-x86_64";
+      sha512 = "de5e95e50b7f04572f7812bd4cff5a724dd32b9ccc389eb61eb258fde4dff651df7ad0fcee78f78692413e73381b1711cfd80200be66d4b1c5e87a5cbe19da42";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/et/firefox-54.0.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha512 = "0889d3884a01e6e69f67197f1b86bae4fc506064fdb40c082e9b9892e4b42d9f13f61d41cc55063b9d4fa51f45b96f5ed7c8a50070b9af4b8e9be94e7aea73ec";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/eu/firefox-54.0.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha512 = "353e2230c1bedea7b805a2ada15ab863591b92c9a8bfa0e47464fb0d0f2f2601d086a71679dc5c1f560bfa6ae9bc428026eeb88a0d8a2b04318d38c8183ccb9b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/fa/firefox-54.0.tar.bz2";
+      locale = "fa";
+      arch = "linux-x86_64";
+      sha512 = "e09d1adfba848d46e55102c0e5c366237d9e273646a82a03609fe70c13e38ae28f5029515e8656d1a0634574dddd557f9427bc26b8d5b2fce1d873a3cb2a69c3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ff/firefox-54.0.tar.bz2";
+      locale = "ff";
+      arch = "linux-x86_64";
+      sha512 = "cc998af1b778a4c9688001ac139f1018d723bea35cb6149ef16516998f46f0f9addec295d2b377ff1f47d26bef27722b9300b28d5dd5f1eb860816b279c7cba9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/fi/firefox-54.0.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha512 = "e976095a009d5a51439d6fbdf81e84679c1a1d7ad2db4fc027cf52b4a8c9fa188fe337d0d08cb42d415a2132b8a38dd03698e3fa53605db221c781025c1a0437";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/fr/firefox-54.0.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha512 = "7d3346a00e4ea36d438f4ac42bb840ae070cae87a68a773d63319b06308a25650c3a69d97631f30552ff53ba992389ef1d5e62781bf5eb257a9286eb66f15afb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/fy-NL/firefox-54.0.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha512 = "39e670e2f5e6956bce1ca4c8b4fcef4893e47c102988880ba546b91e5055fe9438c6c8cedf69aae922d64af0ce427f6fa66456bcbd907a75be7e4360cd86d2f5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ga-IE/firefox-54.0.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha512 = "a6815ecf3c1660aa7fe9c32ef3335ed4227649545bf5316aefaf1767559604b282412d2541a0be266121a75fea770790ea419d91359a97e25d9fd31334fe8532";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/gd/firefox-54.0.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha512 = "9d7a273e3717d21eb2316fc073f4270ec904a9182fc4a2b8b5fb01b90bda20f63a9886b427ae7fe5b3ac0107c7a1316578f42b2ff85fc3b9baa3721d1616e11c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/gl/firefox-54.0.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha512 = "bbcf4690ed439d3214ccd2387b4fde5b5252b2039dad168b67f5103ec0407fe040bf263185e54b360e0c9875b972827937a6a634cd928d817e09b10c7cc50103";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/gn/firefox-54.0.tar.bz2";
+      locale = "gn";
+      arch = "linux-x86_64";
+      sha512 = "cf82a08458e6182ec8c320e5dab4e1629b86efc6f68c26b967fc646d91bc8f3a394849de50c4f960df75bdc88b884c8b59181238302262e864eeca60181c285f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/gu-IN/firefox-54.0.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-x86_64";
+      sha512 = "3b1c8246364405574c4ce064969b69704141cb8fda339d1064c3e1499563f5ea2fd5b3749077aaa6fae1cc98c610ac0fafc1e0129e49f064f3603e2e6097f81e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/he/firefox-54.0.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha512 = "3171dd501918aad9a612a679d9f0ca2c682b5e4f49b5249ac74890df6e8e98520afb724791f9c610c90135623c414e8da667e1e4777c1fb6a6e4b52495a9d905";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/hi-IN/firefox-54.0.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-x86_64";
+      sha512 = "cb72f0f30d029968a80ea775661dddd255d7c3520895c3241e5f309c6fe52399fef4f7b904009237ee047ad16fe6e893fd008fdfde852b39dff2878de454df45";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/hr/firefox-54.0.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha512 = "7a4a9989416fb270a861b2ca5738ddecae4fd28d050cae482f096b9b8d497e4109687eb3f1f7f5bec52fc5255a11c9248564677896e803dafc260d2460573618";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/hsb/firefox-54.0.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha512 = "33e1ac831c8aa44675b76259ee90836db8c6dc22c012a1235aa3b4f8715b59a47a5afe73f7f2cd0d160f4026799d2ed8635a289c17fd8424edbc8e3f7e4aae2b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/hu/firefox-54.0.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha512 = "357c9ef51cf8c55b0b651f6208afe47caa3972e59183d4cbd9173c4825f6b1a1a831bd148455078bc2899732e094eeb6997954465311a04ffdd52a1add5d90c4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/hy-AM/firefox-54.0.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha512 = "0baf66276422e646dc0085ace17b0ce6c9da5ce690d78388c2d8658cf79837658bbba045d2fc98a50c8d0f3b8f6895889687605c458fae1f1f7894e880dae2dd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/id/firefox-54.0.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha512 = "658bef583f93bbc91c2a1f4106987e0099089f88d6537c23f6cf53757cba8886b2b59175a6b99b4abeeb6462b59951cd4fe15feaa69d73e9948e91246f3c1119";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/is/firefox-54.0.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha512 = "63eba83cc9c8d601c8916d1fe5ad2fc08f9177334df66f299deaa1a25bd15c61656e7f22c68db4717928c75d6e2efb9127e818da631c24432a106e255afcd695";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/it/firefox-54.0.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha512 = "0adbc77efaaf4f666f650bfaaa0371aaed517c172086e9c6977b4e44a7eb359f460cbdf52293151cb7aa44461cd1f0867e35b30845d544279b95c93911f3082c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ja/firefox-54.0.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha512 = "3b4b6a3428c2eb5a733807e659c5de44f4731a39c5e18845851b9d5f5b812ca86ef9bb0100218fa6a158f0da5094b1035ceba9c54011b7bf2af0f168e3242069";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ka/firefox-54.0.tar.bz2";
+      locale = "ka";
+      arch = "linux-x86_64";
+      sha512 = "bf978f673c00f0f56d99291e2ab47581bfc5373b95831ea097b96866705517eb126853e14b74f677b887016cdbe7120a0b2cc57f4dd2f1ccb892022d1acd5f14";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/kab/firefox-54.0.tar.bz2";
+      locale = "kab";
+      arch = "linux-x86_64";
+      sha512 = "3bd525ac91d472f6b9001a9074963cb3fe3ca6ed6b9a8fa48c90425b1305302f0ac8ff3155282025fbcb0df65ae63864bb86c23ad6506d0f34ad49b9feeb1664";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/kk/firefox-54.0.tar.bz2";
+      locale = "kk";
+      arch = "linux-x86_64";
+      sha512 = "590e66e973f822f4823f2b0a333c955555080a0dde0e3931d93c398fe2121156d93e0b779fdc71fa952261d3fcec75899c127854f62ac68ed88867fc6591b8c2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/km/firefox-54.0.tar.bz2";
+      locale = "km";
+      arch = "linux-x86_64";
+      sha512 = "1e88844f2164de5725d9ed694b25c702feea980cb3cb3a1750ec0876296da4687b56f167fb9dc89bb2cc84a1439b22db5fa40ff42a506426e71cb4016fb04b38";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/kn/firefox-54.0.tar.bz2";
+      locale = "kn";
+      arch = "linux-x86_64";
+      sha512 = "29d306c15e87feb3740a146614a01d113cde8621930ca4b97c64c42fe761409f50d8d05e7953dbf3e8b3f971479b2bb6826cc9d7ae83d87ab9d3cf8959ad4fee";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ko/firefox-54.0.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha512 = "79aed8d95b7680a8ba634cb2016c7aafc9cdac723bfa291bde7d3a9929ed6716376b02db523e544842862782ab0c6157edd2e747d461bcfe10495eb09d2cf85d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/lij/firefox-54.0.tar.bz2";
+      locale = "lij";
+      arch = "linux-x86_64";
+      sha512 = "d0c57332f12b617e8a0f819b6aac170f0a253a13f1bf9ca2e43435c8edfd6c6d16a3bb4746349cd92097dd4b94aa131b4fc3d01a4b088444881284c7bb355f12";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/lt/firefox-54.0.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha512 = "7e4f74337824f52bafaae0b72c4d250bd5d6b023dfb13724af63f27e43db082a9a46d30654944124379553545d2bdd7c345685fe91a249ec6fc837a54e1681f9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/lv/firefox-54.0.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha512 = "e1a794ffdefb6f05d4c8c775f1352396ae66bf4f09ef10cfec166cddc98808b35a286997f5dc7df9515cd31c9012801c749c79b07c50091218159fce38caf5c4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/mai/firefox-54.0.tar.bz2";
+      locale = "mai";
+      arch = "linux-x86_64";
+      sha512 = "af68ec14dbe6136d40e43f408fffb2e1fd481231ee2fc0925ccc63abc59c2c737446b34342b90b71e740ff3de4431e0c39c3f6e626e0b5bb196c92a865bd0414";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/mk/firefox-54.0.tar.bz2";
+      locale = "mk";
+      arch = "linux-x86_64";
+      sha512 = "7a898ea167773d30af253bffd3806ebf65ac65622f9da5bbca7b4f39eb6b98e728a06bb19894fd8f6306a830755b0947956be34dda96af4e1a14b96f5948c758";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ml/firefox-54.0.tar.bz2";
+      locale = "ml";
+      arch = "linux-x86_64";
+      sha512 = "cbb924b17d93794d2c1b457fae63f75a77f70d42b95d55288f34f232d50323ae49b19689b71254e8c94f02c6347745ba99b847ebdffda99cf645e2ab38db058b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/mr/firefox-54.0.tar.bz2";
+      locale = "mr";
+      arch = "linux-x86_64";
+      sha512 = "0d92711677ade6316b06cf6ba2a5f0eac11d3e31c852204e12c4b9b77de0d1e3cb29be798bdcc2eeafe9201a6b59dbd7b9c12cd30331fcd031230acde54e4fe4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ms/firefox-54.0.tar.bz2";
+      locale = "ms";
+      arch = "linux-x86_64";
+      sha512 = "a5eaa800c71d623aaab224cf61e97565f49382d382c05a097c19eba4ae4f0f655f268237a8bb2e42ffe01ba82045fe50a13c94ee45912c80351c883502280be6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/my/firefox-54.0.tar.bz2";
+      locale = "my";
+      arch = "linux-x86_64";
+      sha512 = "9e2e6b85fe3d6ecdea000fe87c1060d7ab954cceea3b6b93386c77012e108b8bdb7aeed18506964e58297a0c513b734462982047b1d3afc1ef4945beae76f574";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/nb-NO/firefox-54.0.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha512 = "1885b3d94e505d68cf84cafb86b72a5fbe8b787ed2b274ab607fda3320daabf096793e16b330262110c606d3aa9802cee01e8529a3f7387b8923f44f9afa85fe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/nl/firefox-54.0.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha512 = "769939416b77471e735533c562767ad2234bd3700c766cbaf3c365d49c55f4f84c426050d8c19a59d0cef9ea6d4456830d73ed201611e960c21e3d4ac8511b5c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/nn-NO/firefox-54.0.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha512 = "fecf58250fc95780305e2424e15b1b792fd319418ab378974ed2f1fe2d12d66ec2237db278aacd32201f04164ba77364effa5b83832859f599f494a1bf19dfef";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/or/firefox-54.0.tar.bz2";
+      locale = "or";
+      arch = "linux-x86_64";
+      sha512 = "4f5c95899185a2836f51bb1e46581a6c3a983935d2a51a2877caa6e275b94d576e2d09c1ad5ef1c586d5b862b7318d013160e21a466ad122b147a06e118791d0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/pa-IN/firefox-54.0.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha512 = "f67051953287c794eee5223739d637557b287dc0edc91b24a4cebac84e106d9a1c1b670c763da7a4b15a3204fb7292e8c436b51d8b45af22f4c4c726f45aea05";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/pl/firefox-54.0.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha512 = "ac3e10595201713e06a80554732a7ec53334f288b223fe04ab388b83d3190bd4046c82ce60d934b15245964de68ac2a1d1923362025209e5c0ac683dcaa0b6e6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/pt-BR/firefox-54.0.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha512 = "cff8e41d257181bdc2dceaa301b3d38b51157690d4b4ab78506353f3f0f883547aa688a74de643d82851619388ee37407ef48d3578a397d9ef352ceb08d112d5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/pt-PT/firefox-54.0.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha512 = "156516df4abe22265eb9f7b8515a7ace20a0d35c6e460f10ba5ce9a96b428deac0c72ac22b61c2bd95b0da9dae52c1cb055730720c5fe0c42314f83b838950c6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/rm/firefox-54.0.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha512 = "738716a0580928ef597b64f3cfccd73a38ff42b7d4f5ea18bf3425dbdb262fb7beb99ec11b31acf1d2ee321af4b4ab25ecc554c819223a84aea7722d14ee3246";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ro/firefox-54.0.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha512 = "6c5f8e0eeda88f40765ede24c75b3f0fb70f9e90af30767d8fe4d08cb49be64a389a0e7b4e141031d15e2def42074bac0c64d2cf5b650587f898e6be981c9756";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ru/firefox-54.0.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha512 = "7ddb1a185465980310695ac06794a8d659da3eef8c451f0e0c75588fcce9a1af65e75a0ebfc0dd583f0a6e6e511b03108e6d9923a2f6488da2276018d7ad2c04";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/si/firefox-54.0.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha512 = "16d516cad8e6ae86eea95d0c4bbd8eaa56afbb74f5d6db82452176394c723c4e2b821616ca76186c990a78d30e208554e7eaf7deb82e7a3d78c97cb2c1338b45";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/sk/firefox-54.0.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha512 = "e6175dd3316c7b05f95e075ea5966b50e243b83d281bbc87f6a4dace16c708560bbaec8fb0700823ddf1b55d27f7f64450254a40570616a9bba0d2497bea1a08";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/sl/firefox-54.0.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha512 = "4e78e2d9808b88c191f51f8cf0d83f1762d743b4bc736d469bc145056af2207bdd8c3dbef7283a730486b041826bb25fb4816017786b0bc7515238b67a285062";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/son/firefox-54.0.tar.bz2";
+      locale = "son";
+      arch = "linux-x86_64";
+      sha512 = "6ee8a87158c2f7cc8bc38aa59959644514888bf683b7fbc3c703ae596fc6260190cea141b5f4d6aa72b21484b4a4218850d7d0c72cbe83b8329352de64b19e3f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/sq/firefox-54.0.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha512 = "1dd34fd13cb790a91f0592af0e21ecc815820ff4fe6d0c07c27b5efd82b37aa6c9526f5af9a444a1911b249651c17d9b367c02bdc5ccb420c80718f01bcae925";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/sr/firefox-54.0.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha512 = "869e31f47498ef748557c7bc0b9d49b893826b785112b5e152bac46a9260877f9d73740ad36fa139452074cc9b0bd23880d7a046eedc0bd652ca44eb5188e035";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/sv-SE/firefox-54.0.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha512 = "94601f07bfe9e13872cad9a0273c669d4a8a44b3c8f654aa866b703e325a0f1b6313cbce70fada7bd2bbc074d6d51ad28e829c6afba59d0e7d95645c276c2594";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ta/firefox-54.0.tar.bz2";
+      locale = "ta";
+      arch = "linux-x86_64";
+      sha512 = "0ca3d09ceb89ece40b8f6825ee7f46d4ba2a546204ab185b82e32d9206e428e8818ca0478d8b54fabe6ceef4641e8411a1490d862bf53964e0ab269bb2bdfe1a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/te/firefox-54.0.tar.bz2";
+      locale = "te";
+      arch = "linux-x86_64";
+      sha512 = "58e6e95a7972f2c5b4ad8f3428b95c82434d9041dc8879ff1fe961adc6baff87584011296621f07ac9f1277f6392d1f230310a65d64f245c7bc3494872dc0248";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/th/firefox-54.0.tar.bz2";
+      locale = "th";
+      arch = "linux-x86_64";
+      sha512 = "da0c6bd3cde25ab20eec1e31538dd93d4aabd5659af3a00da1279a7ed37a30f5321f8260dc684610f37e7f744ca70bdf882c9db3d66b2988a7231ed4f07f6232";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/tr/firefox-54.0.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha512 = "fa98f5488afce2b1b7f27810bc9fb8bf6d45e09137bd7a5dae89adcfa77f3f1eeef9ae593d037614197524128c317549edfd8b692b25ac6a79005f49f8deab4d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/uk/firefox-54.0.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha512 = "2ba13913b317f059093abd6407f9c4f798dc82491375fe8cd5ba21cd6f92f7144496f9f879b3f34eae7d41bd6a5e5a66efd57c19a76f1f89a266c2d50069f01d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/ur/firefox-54.0.tar.bz2";
+      locale = "ur";
+      arch = "linux-x86_64";
+      sha512 = "b3c9ee474325b2afad9380896f2f785949170bf32582187afb414b4052bf6ec55e1ec7ee974a980f6256b178621abecf6e87a24c23d7df8c9faeb486cdf9aedf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/uz/firefox-54.0.tar.bz2";
+      locale = "uz";
+      arch = "linux-x86_64";
+      sha512 = "1b419fd85815927410a43aca976074965953eb217596b6273fbdbdffaa71b0a87786a266a27fb9db11acf25df539c45807d780ec9af0c2e05fdb8b43e12833dc";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/vi/firefox-54.0.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha512 = "74be717bec52c300b7accc9a31012c2a6483d4f5060315326aed2cbdf500d627fbb101d9cbe0e19f7a3ad76029a88e42e815118683fb5b32d6ea855c5044bfc6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/xh/firefox-54.0.tar.bz2";
+      locale = "xh";
+      arch = "linux-x86_64";
+      sha512 = "9b5e7428042d619f61f45ca58092247462bd683060772fa7c32d862aff7882a402a10bd0ebed940d31871bfc0212b3555fc5c99b1470d590e7b9d3d614351a3a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/zh-CN/firefox-54.0.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha512 = "e86dc80340a30a89cff1063dd9559156c7a8713228d1f5bdd660a203373bf1ae99f682fbc29f8ce2de65d48eb5380e748b5484f20e1d73cb52f719327274d90a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-x86_64/zh-TW/firefox-54.0.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha512 = "bd412bb36f6c41293ef68f38609ef0554d492aa92b6ae74e318cde23e9fe13b8e8d4d5e3d46a95020951c0dbe64ff83df0987b166d8de6afce14b6f4ca09d3ac";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ach/firefox-54.0.tar.bz2";
+      locale = "ach";
+      arch = "linux-i686";
+      sha512 = "bcf4707a88b8e40ce98ff2f6dfd9bd219d567e9595b1686485f6229c3644528320e2f4639752e4144493fd6066996235a850ca5539b67f2dfe07902ce4759b13";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/af/firefox-54.0.tar.bz2";
+      locale = "af";
+      arch = "linux-i686";
+      sha512 = "f527c2f0cf5b7585f00f1c897a178e2f526db0ed126ff8616da7ea86f1dede94b3e5e011622886323fc1245c935d362f96c8bcb792043b05febb4a8dc01c2a50";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/an/firefox-54.0.tar.bz2";
+      locale = "an";
+      arch = "linux-i686";
+      sha512 = "b99880f2b69a44b24750642a67db2d617c237483b5da6da10b18250b419aa54b0809052ea7d09bba8e66bb8047a65f4ad3a371bdc8a016d800b24b5ef1a453f5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ar/firefox-54.0.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha512 = "b9792beb0db0e1555e9bebf33fe5912abdecaf54302a6573d8d1a7dd3b362b4bf364e13f38c1aa326cbcb80c16ad2ce2f6ca7557f1eb8afcd3aa37c0c5272823";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/as/firefox-54.0.tar.bz2";
+      locale = "as";
+      arch = "linux-i686";
+      sha512 = "f215bc4be896f04a867d516dd2dfcbe2965428306bf5faeda66981d80171d66bdf7363175fc0ab15d41ee54ce064d5f4d662518d41731b569b89fafad959b19c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ast/firefox-54.0.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha512 = "aef5200ea3333c899e206667de6333405d8605a502ac2c1d08f9ce6609939c347d5e19c4475da3476623657e6dcf9eb92b72698901ac38eed3704fe15684d31d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/az/firefox-54.0.tar.bz2";
+      locale = "az";
+      arch = "linux-i686";
+      sha512 = "f5dc2d4218f1433c4ec5c0e363f78ee445ad9afe70be3f019ca206fa873d6905d553b3ce6b8227f02d00353b3d4db349a2a8ef2354c5a740a799774be1ec4fbe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/bg/firefox-54.0.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha512 = "57b7e5c479e092bceae1633f6e117db0a3652d3a037667a97d9f5283cf390df731e6b67105b4c59296c4843e1f98624030a7bd72ba8812488094ebd1336ebfb4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/bn-BD/firefox-54.0.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-i686";
+      sha512 = "dcb2f5c033648cf5a887cabd1ac70d4a569bf1af965e3c0eebe2c1a2b746be007b3e76cff666288b29279246b005e2309c7b5e48df20955ee9b685a0d9548636";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/bn-IN/firefox-54.0.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-i686";
+      sha512 = "5cb248381eb1c67f0d18d2a9fef63ecea7bc8b3cf6f3db2aede0e9c25dfd6d0eb8aabc4d9177f2f174f2718e4361166bc5045e815ebbebbb613bf79de3345060";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/br/firefox-54.0.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha512 = "5e0693d9cf46a78cf5f1581e5a18d3ad56f072f975e9169c6505715dc054819fe6773196b9d71e46c40b1757ea2060d8d5365b98550fa068d4f27f63e89ebc1c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/bs/firefox-54.0.tar.bz2";
+      locale = "bs";
+      arch = "linux-i686";
+      sha512 = "71e79a378d6ff2a29a2c3e20f0595688dcb344829e6b241fe97ba6ac0dbf27b982966168a691e0293d8625459f89dbb4c7cb6072547934aba2410dc20b525f3e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ca/firefox-54.0.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha512 = "5a40bf62d0d6691df4588e4db7e9e48d64922d1d81f94d383873588abbd4541a7589ee662c9624b5a9d1c70fffe3e3a468af420e54fef119d1b66c5eac9bea52";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/cak/firefox-54.0.tar.bz2";
+      locale = "cak";
+      arch = "linux-i686";
+      sha512 = "65e760fe89659181582f86424d44406e0a2e4d033b5ae030f199564fe1666a5a85e77839ea9458c474e4c7f26b1ae6656c071c7c27553c53d276cf5a5aa976fc";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/cs/firefox-54.0.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha512 = "5b9e2c3d30d316ed7c013d49ff0524497ce76c02f2bc5d33254c561d94fcac5be8bc4cf269b6239399b22aa9d9c466698499149dd895644d17a65e2960d1b6bf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/cy/firefox-54.0.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha512 = "85ca010fce9e7a15891ff51e1c69a2ddcc686857e0958495b7f7eb8ed59e2faad7de5c81453d2ad901de3db2695f8dde0c3bf4a182cd4b8ad6ce94895669ccb1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/da/firefox-54.0.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha512 = "22913845f9bc2ad7eb58c0d556b2dcc139b98b37ffc3606bf4595d748890e094968adbd4f888117a2ac163ed0dcba2c5a4ab97105ffc48cfef38accc15c06ad1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/de/firefox-54.0.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha512 = "8a650095e1c80dbf8f931b8dd7f883312f52f76f2743a6428d0a5d7526946247e3ae87512454ac77a2601fdec05abc8ae16957d09ce440e02ecdefda243d4a86";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/dsb/firefox-54.0.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha512 = "7d673a98260823cdec8cd44dd564c4dbd0e6f4cbafe1b1234eb4c631dd07edbe34ec6aadc5863d62030271c1d4fb39a7f8be1036ed5048ce98d2af85d4999e09";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/el/firefox-54.0.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha512 = "fddc48117e63558a7a8cbe83ecdd937cf5d3d444c1d58f016026b51ae46cb7a0c4a44f04474d285b8681a985c59c1962c39a8171802821702d6ed4744ab39390";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/en-GB/firefox-54.0.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha512 = "0f27b44e13c620a22ddb24adb03aa504ea48ba1674d25272ad5dff86cd59554b66c517cb378a6d2668d6c9014fbbb4fc9e56565ee943c608479a6c6ab577dd50";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/en-US/firefox-54.0.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha512 = "727ad142bc3861407552a0c4438911493381ca5def555b3ceeb2b15d6a66cb4ef97c05dbace932b06048b3a5636f6568e3940cc8ef45af28a9797b738f2510cf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/en-ZA/firefox-54.0.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-i686";
+      sha512 = "47f1385a47014a0517a15dcdd1ec93752207992de077a89742ca1b6998ea49e9d07b1ca12cee02c3b8381be674e9687cb403d620231003bf8b683e279d281b69";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/eo/firefox-54.0.tar.bz2";
+      locale = "eo";
+      arch = "linux-i686";
+      sha512 = "b3d941ca034a50f2f998ca6827682cfb18a9a3e280696951dae1964980e153bb2a0461fa33c21109b5aec1f12514bfcb9eb89376df6d8e4d87f81fcf5f9b7d9d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/es-AR/firefox-54.0.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha512 = "39f930dab3f08441b6dbeb08d85803ace7e81e43208a03fc820c6245ae66de183f3759081c4f2ea4dae9ea8724f8fe5081123cd4b82bfe695e1bf0afe34407fa";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/es-CL/firefox-54.0.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-i686";
+      sha512 = "469a2e7af658fb21f41cdaad5bcd77610e031c965cc5e8e1e6abb32c2553f68a6c7b60eceec56a3eed99f65dce34b09046748e0551bf95f0bf98cfe97a3f726e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/es-ES/firefox-54.0.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha512 = "1e33b0a7dce58908bf98b63e3248628a8d62e5c980555b4385ffa990d8401cdeb14240f4a79eeaf6e3f5f0830455aa00009c142dd499714bf50209d10a083f51";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/es-MX/firefox-54.0.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-i686";
+      sha512 = "8d847605bd336079728087716b781fea40d256304c8f5bd839d83c0e5b4062ee13f30fd257da84bbe4203656aa31c8acd570c400ae04f39107f6c56f7d2ebb09";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/et/firefox-54.0.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha512 = "9502f47b30053aa89d0a79f6fc88a698e4206bd7cc37a2befed76d7811c5d758d61716f949de21e73c5690fb348ee26df7bd6eaa05473e4b257e4e9d6721ea77";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/eu/firefox-54.0.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha512 = "7bbf574f723999e238ca8daff96a81dc124545046e6a0143c95ac6ea05ee3aefec86dc33b588fe206c862d2fdbc882112fe0cc1d30ac5e4b215f16f41957413f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/fa/firefox-54.0.tar.bz2";
+      locale = "fa";
+      arch = "linux-i686";
+      sha512 = "05ff15f72e785af68f91a890a72982c218e0dd8075e7ab5a43f11d9a0ea03b67535b5a7b088a6ebe1ef97bb6f08a1ead394fde51dc708e8aec8843c611765e3f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ff/firefox-54.0.tar.bz2";
+      locale = "ff";
+      arch = "linux-i686";
+      sha512 = "b70de55bcb1e582fbafe6ff7a61da548300e0c21c78ba80178e07540dda9088024e3286c3c9dd8d5473e02a1692916adf0417baae8c949ee19a8f00f6882cb65";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/fi/firefox-54.0.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha512 = "fd895e153156ebe879115c24e6e35d3983dc0e8968a061de017584f6c255d4b9aefda19ac244eca5e8b833e9a7836df2bff4e61a39ea71dadec1242431202971";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/fr/firefox-54.0.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha512 = "ec36040ceb536d4b99da9b9b5b300b066f4e54b29faacd248c7d29834e1e902da446fdcbb3972b4a07c1bab71bc144f53650e0ace150ecb3e659cc8fc15be71b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/fy-NL/firefox-54.0.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha512 = "085a76fdf7def5a9bde73b7d92369fe577b448b8fb829445ddccf15fa3918f9fd1a6cdcea68376ec0c0b716592c8148b1ab638f5cdbe22e0a6ba7135e9702c2b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ga-IE/firefox-54.0.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha512 = "c344ca0fcdc266361ce5dde1e8adda69c9bf0ca093538ae339e520035c5cbd16906e4b40db03098647511071f6e11df819bbbf07661fb61edf8cd14662429374";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/gd/firefox-54.0.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha512 = "4d44ef6abde187c2546b01bb59a1453bff07491152a9e08abc8674f72fdb201d0ca84bde913f0de7f46a69d6687affb419060994f49f5f934628456964eae075";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/gl/firefox-54.0.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha512 = "c3f3d6de8511b7f782a57d99a368ad82f8caecf86caf88508f01e4c86cda35504bc99eba89b007ed1b79e089863a3ba8a93efd348e13ed64cf2ac6b9501da65f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/gn/firefox-54.0.tar.bz2";
+      locale = "gn";
+      arch = "linux-i686";
+      sha512 = "126c042e28e2aaa6ea6d36a52ee5d80a0700f4660d5ead0a7d756e59a1aa42044e67e2dd297d95282b71b94fe9ede9ec8ccd1a553c1e03ac2217769ea407d09a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/gu-IN/firefox-54.0.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-i686";
+      sha512 = "ec796a9f4b1d8e8c5b2c16d96efeaf1841aec9e66429f0ec2aa87b81281c29e7f99b94228a3963dd81e30685d1125d673d8b0f287593cecdbd64563353a0420d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/he/firefox-54.0.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha512 = "1fde862295fe781992694670e015e1b3baf717032d2c8f3ce7cdf3d4a97e708c2fc7e3d0aebe2bd46b960c108f2a7843e69cdea2c0bbfc29f36f10b1a7895f89";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/hi-IN/firefox-54.0.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-i686";
+      sha512 = "f06fb8d9e06e02b9292000556a3c3e7b7076fcb832fee023411a53acb7e8a6292d5bd25afb19d840424623213149432bab52edff0976a7a05ae70a340927480f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/hr/firefox-54.0.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha512 = "7c7ddabc990da13351a2796bcd8797d67200076d3bc4df772f1db1d6b894832d54b3cb6d491d928a4266b32716a27a5dd4bb5a70e8e5b008ae72613e65894cab";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/hsb/firefox-54.0.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha512 = "304907257fa32adfa16afa23743f7c4f8dda5b79f92c99bbebbd971965376a2fa81995873ca13ad85698117404ae3ddc60f29b1aa19d1a54e0441eced35e56e3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/hu/firefox-54.0.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha512 = "4f9cadd48ddc7a4e25d79388a833d74418b013346a597edff0b9a7f418fe899f2ada685406fd02d0d4912126fd35c31ee51772cdab0951aaa2a38da3cef4dfc5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/hy-AM/firefox-54.0.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha512 = "d8b57889da068cb0aa8c5bd8b3900d81b2944795dca03e09abc2803b985d0bf5b8ec183493ff51423bebee7ce3294ae8e9c5c3feec3e2af4c20627c4ee2f20e3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/id/firefox-54.0.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha512 = "9f37f651b8fea3bab155550923a8bb6baf1d0a887f2a21c01da3c15c7935d176d7b63abfeef0fcd883807017aef39d66bf2cf5e80dbf3a42e8fe1691c12f965f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/is/firefox-54.0.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha512 = "2d98104a4b4c000416cbf3fd9fbf03e2923b502ff32cfc8e94aa10a6f86170b0ee1a6a3caa2ad6974203a3ec81b7ba17a55c7d7935170eaf67e8f59c29973d78";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/it/firefox-54.0.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha512 = "0ae1021ec2e8ad2a4c028c44fa568f3561dce73feca12245b033650a9df023a7eb957fa748159fccc0735e16b227caaf019f738094ecf06d2c09dd537a8a7adb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ja/firefox-54.0.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha512 = "9f555cdf704922c3151ae41bda1222371c149aa7ba1f8f6ac61962a7f296effc337ed3579a7aad4eb187bd2a7fb40a5374342ea87112589dd4a9d9335a4b8f35";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ka/firefox-54.0.tar.bz2";
+      locale = "ka";
+      arch = "linux-i686";
+      sha512 = "9b4a943cca2841617fd4e62cbd6e5b696282903e540f7d177e790da5ff388b1af2e2397f27b82af136fee37149bfbcd6b18906996f383f14a0bc79351efe8ffe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/kab/firefox-54.0.tar.bz2";
+      locale = "kab";
+      arch = "linux-i686";
+      sha512 = "39688e228149ccf9f0435fe1bc2c04bfaa3ea4da66eb0310b9eb2d757ecabbcf157ff8af7821565b2d78743f9075e398a76024854815427bc04ac99148634d01";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/kk/firefox-54.0.tar.bz2";
+      locale = "kk";
+      arch = "linux-i686";
+      sha512 = "46c7f12f73a4fa5d7835e957ea7179b81438132fdc3683b4fd61bf68aeb78fe3cfbdcf5c92b77dfb2eea1e5e3c249e03dc5c0d9adeca75417938ddf8f8be9dff";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/km/firefox-54.0.tar.bz2";
+      locale = "km";
+      arch = "linux-i686";
+      sha512 = "de65d654b3381b111694134697866e6c9924e42e2957449cafbd50fa67d1330c53ee1dcad21e59dcb9993d706ca08fa0e82bbce4cb2e48d318bba46134a12a59";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/kn/firefox-54.0.tar.bz2";
+      locale = "kn";
+      arch = "linux-i686";
+      sha512 = "10c8be44d567ef6dbd5030611a3bf72604485504033d27df336e7db6e44b9e319771026dfef3db666c7107e6c9e53e57e7923b9059091ea288f44a594dba1953";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ko/firefox-54.0.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha512 = "d0a3a812c96990eacc2b332696b6f17a602b65691fff54d8e1511b5261cd8d482e590abaa93e56ef801388b02cb8dcb20575658d7429ceb1dba24bc2e30cd8e7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/lij/firefox-54.0.tar.bz2";
+      locale = "lij";
+      arch = "linux-i686";
+      sha512 = "700991c2ff12ecca4f11540a563b3cfa72c928fcb864471d638777ed53eaee105c62f62e6de768df895d54c2718cb4dc0ae1648e4869d5af102eb567d6fccaf2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/lt/firefox-54.0.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha512 = "488b215810ee0672b0a0f44a3891881df312095537f6f7936ae4fcb17b211a6675080ef720b977c1a35ea2fdae38b1e0393aab57dc2a008705d6a8d27560b0c2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/lv/firefox-54.0.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha512 = "b5ab118ebb407c17dabbcd32ae297fd22b663bed8f9feff40d442a9a24f2dc0c5a2762cb5136ef8910820014f404fd9ef4160a413c70bc2840ffcf11578ed56a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/mai/firefox-54.0.tar.bz2";
+      locale = "mai";
+      arch = "linux-i686";
+      sha512 = "b77d5a3b1d57ddeb45bb765610901ba6c142a125450d5a247088ec2b113ffcdce33341ddcbad277a9789972297f98bb9c120501bcd47578d9d633697bded8af3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/mk/firefox-54.0.tar.bz2";
+      locale = "mk";
+      arch = "linux-i686";
+      sha512 = "180a9730ffed7c69db3fe5deb0496d077a655106c06492e0da3611c5775acadc62c5ebf47e525aeb3cb51a0beb7f8599aafdb725884ffb2a9a9a5a8b61d7c032";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ml/firefox-54.0.tar.bz2";
+      locale = "ml";
+      arch = "linux-i686";
+      sha512 = "07a29dda4ab7aee1a67b8d832e5237ba5bcec6be8fc848985428f7385687269b798530582788e11cc7858a1e0be0cfba5a134d0ac164bfa61c0e2cffc5640c82";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/mr/firefox-54.0.tar.bz2";
+      locale = "mr";
+      arch = "linux-i686";
+      sha512 = "18b6d2f31c180ddf27082bc7d15f84c605004641bc6e48277ea061d0cddf02dee872657febab9fd84149688beb36a359864da22d9dd3ff3cfccd05dfbfe8b44b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ms/firefox-54.0.tar.bz2";
+      locale = "ms";
+      arch = "linux-i686";
+      sha512 = "3ad92632ab4858581d1a3039c7ba73c94de38af920f95dd3eaff637d84d25b6925af04fddf400f2e33c5821ef9ba40b431eb66b2fac117aad56ad52850a651c2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/my/firefox-54.0.tar.bz2";
+      locale = "my";
+      arch = "linux-i686";
+      sha512 = "e99437ff5a9417b15eaaed82c68d49712d212b2062924f84857e80b030668654e423a270199e6d8b60eaa34918c935614e4a85020e2e93f963c37781e1e059cf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/nb-NO/firefox-54.0.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha512 = "c342735a2470fe7e932c66e6a423bcf4b092966c9c89b1a2283a20583cec5f4d878ea35523e74c1405f69702339c453f96d3a52b3bbb851b9b1bf2ab2e304a21";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/nl/firefox-54.0.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha512 = "e4a68a804e0607431ec387faf5acce61d66e8bd7f39eb6834a3eceb43349f7b2bbc70fd5939dbaaf26b72232e3d1ffb1a71ad9cecdfc9e58afe2e332e67be4f9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/nn-NO/firefox-54.0.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha512 = "8df06d7a97df865099fa00b3c247bade0ea43975fe13d12904da62e0a84931a91e6555d96a5632ade139956837298b66c4b496cb6568e5794caf09236e23e64d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/or/firefox-54.0.tar.bz2";
+      locale = "or";
+      arch = "linux-i686";
+      sha512 = "8db56055a775654b83cf0ff02f9c3c46296245c1a6c3544297495904ca632288bc96f4aecef6439d85706189be3ad1c6cfd6df1c113535dfb9af281a34fcf3e2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/pa-IN/firefox-54.0.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha512 = "a3aee571e2d4d5e4c198a58c4e0cf140fc7db77f8a86aca77166b1eda04117456f1518f79d8000ea961e9a2c7c54fba5db5838bd380724c29260cc494c81a978";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/pl/firefox-54.0.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha512 = "39a69b56e20f6436e1dea3eba50d816c4aac496107da5a06f093e9f177eb3e11efb169cb25f27766c87f3347d00d9ac63c4028246ea31871b6861ecabccf511d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/pt-BR/firefox-54.0.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha512 = "02d450c530e1f219d97b894d2c3c9d2f376aeafb89edba9b2f65d5db5ef7ddf90f43fb4aecb98c0253777158f96b3f49b6adcb9c3fdbd1adf1448fb57420c401";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/pt-PT/firefox-54.0.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha512 = "319b5e765a3a561e54aa9ec967246e335e080c0008a102b1f023725f0905cb624e90dc5afa65e8a6d2209d9b04e59df50a6229f40c590041a5ad9abce9701ef0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/rm/firefox-54.0.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha512 = "66e70a6969a28f55276ec1a50e581b96b585b671bac733ebcdc5045c4c8473fb8c191ffcf43813cc0eeccd5dfe1068215c4731923a2e5fead423eb52ebd4724d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ro/firefox-54.0.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha512 = "2372437efb96d9e62215d191d3201ea2ea54bb7a328137ceb0532ce08638aa67bd88573e8a2c9746074a91717f431acf68782b75773a81a34ece7ecb117c1c12";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ru/firefox-54.0.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha512 = "aa8c61333efdd8808819c07b00301db4a16aff10a2cd2fb57f172df538ed58148e32b9be87ff0cff69a09306036df1aff13c55532c8a63aceeee93c7692ce8c3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/si/firefox-54.0.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha512 = "5f2ed1bc75093da1b3bd2355170575127709f61fd627e84c0170950e9991efe7d6511a29b20907f694fc797cc824fdbe793087e28dd998bd4aacab328151457f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/sk/firefox-54.0.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha512 = "9eb52821878542601040b926ac80035f92cbc9b568d5fba5c79e49d53245b4e4480b5e1ece0b671d0d77e86d3596758f5defd2f87e640836d1722341f24eed15";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/sl/firefox-54.0.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha512 = "0f0d38df630f9e501e074d7fa1c0d7e8f4841a0e7a17aaee9d369432f2a7a14321011759c843fba3cea41f24a5aa929f94b47be8b76409d3b8931cb660dfe938";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/son/firefox-54.0.tar.bz2";
+      locale = "son";
+      arch = "linux-i686";
+      sha512 = "1a68b374225b6dfe831ad090c26985abf309b788ac418baba20ba9296dd647e0d66ed6563235918dcba80839f06ec8f3e64e1d54b8d8baef9a10275f860b99bb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/sq/firefox-54.0.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha512 = "382fa3024f3a776ba18e10a66d6dd6b5b9640dab2b1f1088f1e6f385332dccf1fd5acf2f77881128444c36bdd4e82a311327755c8d469e7e02360b054a7b3c20";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/sr/firefox-54.0.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha512 = "e31e17699727e40eb3be4f21b483163edc385c5ab19f1fe6bbe51b50525f17ff126d94937e2faf31d2c993730697d5911703bf6b9519338a995c1694a016da22";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/sv-SE/firefox-54.0.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha512 = "a7ec76ad1db4e9d0a472625ba476f410018f0df6a9c76b81079cff894300ef21b489e0be73107e349982aeb3fa496ac6aad99651228b001422270d97e8caf1a4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ta/firefox-54.0.tar.bz2";
+      locale = "ta";
+      arch = "linux-i686";
+      sha512 = "cd47c0d9cdc92f91ec284aeb2f858317c6fc52afa183ebd2bdc6c038a8dc1d343f7881ceec53844c821c5a6786fc05b5344cd2e213f4ba598d5ae23a78c7a6a1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/te/firefox-54.0.tar.bz2";
+      locale = "te";
+      arch = "linux-i686";
+      sha512 = "bd0b47f0f85a5b05bbc1a7640da9ce79f018cd7daee8d5fa2b011f8c91ded499305c4bb53290ec0a0224e69f500e5b9ad173898d10a4071e425c7004ed8fe5ad";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/th/firefox-54.0.tar.bz2";
+      locale = "th";
+      arch = "linux-i686";
+      sha512 = "ecdbf45a5a5b1fdcbdc3fe52a69f7310dc3b1b76c758ed5a055daebe7b0aa47be398ad8cc6df403db93a9b49b85eba5611debeb6abceff4511a58ce6d71632c8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/tr/firefox-54.0.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha512 = "dad56a8230094269fcc64d01f33b38d399fbbcedcafec26ea34e2c6edd6caac2f821b3aa2ba755ae9222400076f1753ed5a31c374a1c858cb53151a5af9614e9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/uk/firefox-54.0.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha512 = "3ec96ff7b5ae14eb7331970899138c9cb12e3d369c48df1af970cf4805be9fb232c9197b0956dc69b48470eef29f85b6507dd7707da78c64611ee5229c82dd3f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/ur/firefox-54.0.tar.bz2";
+      locale = "ur";
+      arch = "linux-i686";
+      sha512 = "b02959b4f8c456fbc1017b36d468449aab678008e05bf73dbeed4b69becdc9688bdc6f1c404cd749327b7cabf44c4b969c2f851402ab9ac7196ab53b5c974c26";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/uz/firefox-54.0.tar.bz2";
+      locale = "uz";
+      arch = "linux-i686";
+      sha512 = "bff5034a765276f48aa43c0cf72ce1fc29ac8c39a296f72b330668ba6dd28cc32abf7eec4c31b247f12e7458f8f4640978fe0dc5a2d4a883b13e3335ede042a3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/vi/firefox-54.0.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha512 = "172665812d4c239ab8d9bc7610744fd88e721801d1939eff27dd8f7bc1614ca09bbc67d0de2518b76617cc804c7b98080b4a4c673b0dcf880fe57e58f8e75dff";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/xh/firefox-54.0.tar.bz2";
+      locale = "xh";
+      arch = "linux-i686";
+      sha512 = "1a238fa435714d9e83a4d3e0d31f33350e40b2617d0b72698a6e381e7a8ece884a129fea5b7803b3564625089f26b4760e7547f497c964a9fce66fff11bbbd43";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/zh-CN/firefox-54.0.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha512 = "60fea3731a2d67b9480158011a2ea9df119b4db54018e0ac4194a1e86312f495647ee1861aa8ae1b9f6ff6cee28f925c061064c035f1fd23d37495211ad8744c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/54.0/linux-i686/zh-TW/firefox-54.0.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha512 = "0462e6b2ba08a09ec422aadcef76ed2f406f57addd4ae4a8469e4801010d7a5fe89a69e9f201cdd2c5258cad4e381f2f0616dc1c1daed07d8ebf7fc1c036e143";
+    }
+    ];
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
deleted file mode 100644
index 44066161448..00000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ /dev/null
@@ -1,935 +0,0 @@
-{
-  version = "53.0.3";
-  sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ach/firefox-53.0.3.tar.bz2";
-      locale = "ach";
-      arch = "linux-x86_64";
-      sha512 = "3ed2b420a4e9e1d05c4fc8750f0f426283a8c10ef914a163ed203ce65368bdaf11191151a17b0a5efcf80f7fc5ca5d910fd58e7afabe650328792aae36e1ab52";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/af/firefox-53.0.3.tar.bz2";
-      locale = "af";
-      arch = "linux-x86_64";
-      sha512 = "e3fd2b922d6371ac4908dad8a18ab5fc2a331f6f07b369bcd25465f958c6425a61a737b20b490a59cd27484fde718ebe5139c8fa5149ea48d4a47d7149d7ee28";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/an/firefox-53.0.3.tar.bz2";
-      locale = "an";
-      arch = "linux-x86_64";
-      sha512 = "ead664ef262bccfed1326f55df271afdcbcbd1e172dd413c0488b2590a22ee8ba828d4e78df77ce7df3310b0e6e64cc446775093efa858baacee88f5a986901c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ar/firefox-53.0.3.tar.bz2";
-      locale = "ar";
-      arch = "linux-x86_64";
-      sha512 = "a4a50be0ddf294f11f083956583c0ad2e2475a77d9f7d93669ef0fa9b81c11a3bbb3ac3531b213ebbc0be1ab68dd8c9ccdb1d6308eca91b48de9bd5712ac90ed";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/as/firefox-53.0.3.tar.bz2";
-      locale = "as";
-      arch = "linux-x86_64";
-      sha512 = "93260ffc4f050ac7731771e07b84b749e7dfa1b5ae44daf9e2149e794220911805837f56a47777debb5dd321a50295723e9c6289f02045db949a1e5bc773a3da";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ast/firefox-53.0.3.tar.bz2";
-      locale = "ast";
-      arch = "linux-x86_64";
-      sha512 = "f55ef36a1985d30852b84b6fe0255534c1d425e54dbfdb8a50c538869cad59f8a9089f0129dfe61f9c2f834c560050233c9ba87638846eb833d112516273c54b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/az/firefox-53.0.3.tar.bz2";
-      locale = "az";
-      arch = "linux-x86_64";
-      sha512 = "0e07ad2848c0c2f45fa7cbaaa80ccc505458766dcaff7cb9bbd060c1a05bcf6b1ca85e602a78cb6cb6b57b95c7b49df374021a2ac429a4e8f99d2b08864ab215";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/bg/firefox-53.0.3.tar.bz2";
-      locale = "bg";
-      arch = "linux-x86_64";
-      sha512 = "a1d253a65f790faf026dc4431fc090677a001697d575c172270228abddf29a3574d2a30f519938b1a950b2f3a3bfba8efc5218fea90e5a9d11c158a8d1dd6491";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/bn-BD/firefox-53.0.3.tar.bz2";
-      locale = "bn-BD";
-      arch = "linux-x86_64";
-      sha512 = "1a5dbe0fc52a8daf5c13b055b1cb12bf7eff5b5ca6715abe78b6ef1093efcdb3744fc268955d62258a7580b2bd363435bdb289f9db5c91eff294736b272b20f2";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/bn-IN/firefox-53.0.3.tar.bz2";
-      locale = "bn-IN";
-      arch = "linux-x86_64";
-      sha512 = "487fc98d5a1b15344287e8088053c43a81633ac4a6b567c41fd4b15886a02830e12dfa98c673f1076ab5b90e1e7ceae924e28415913a6cfefe6599915177c17f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/br/firefox-53.0.3.tar.bz2";
-      locale = "br";
-      arch = "linux-x86_64";
-      sha512 = "37bca2e9f120ab1a491ca318e0440a3704b4b1c7d01c7704af5ac3a32295b0896e9944a8c41e01b6b4a7bf08093fa947376f69103abefd568d3bc4a78991958c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/bs/firefox-53.0.3.tar.bz2";
-      locale = "bs";
-      arch = "linux-x86_64";
-      sha512 = "0f2b0572d5f77d046a095e89e0a449015ecf0bb6a4ca38573fe20aa2ab2971c7f5f38a7efc5ddddb84cff5758c4b62928f369f037841485d16dc79e1c660b233";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ca/firefox-53.0.3.tar.bz2";
-      locale = "ca";
-      arch = "linux-x86_64";
-      sha512 = "2380f8a53e96bd7ac2b366eea27483d181c347bfdec3ffdda9e31b487bf93a1ae80d950cb5321c6c76bc8808e03feb0d3eeaa466f6168c7f4db5cd358076ec28";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/cak/firefox-53.0.3.tar.bz2";
-      locale = "cak";
-      arch = "linux-x86_64";
-      sha512 = "df86bac5a6fd67c3bedb9a04ba1f1de27090f58dda3a0e1b5a5d23569e610d1d16a1bbc5c9d1d068d73d6ab0f87f24d819293189dcf1e562e58772f63ee7a11a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/cs/firefox-53.0.3.tar.bz2";
-      locale = "cs";
-      arch = "linux-x86_64";
-      sha512 = "6d17878babeeea65e7eb2b32c44b13700b2a294eb75116e98e9b4603c921614cb5278142cbafdbbdac5948f33e5381ee266933beb53bba1cf76152a60c402808";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/cy/firefox-53.0.3.tar.bz2";
-      locale = "cy";
-      arch = "linux-x86_64";
-      sha512 = "9088b69d9bcad59215fd64905ada085f9b5f27c850e73174bccc9b6beb99d7423d1b688a36e82dc4fb4923e1fe3624ac2039175a08389f1a3459b856ab762f9f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/da/firefox-53.0.3.tar.bz2";
-      locale = "da";
-      arch = "linux-x86_64";
-      sha512 = "4333533bc2496b5059dbd0d727de207419008d5e1a45855504e602d7351d27419abf0a82b56004a35fe6c104370c44eaf52d240943641a07bc281d23f3294fa0";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/de/firefox-53.0.3.tar.bz2";
-      locale = "de";
-      arch = "linux-x86_64";
-      sha512 = "8962dd969b0f6e4c03d52dd222cd1307d838ef5e03d938852e11ed3ba0df4578f1fdcce0ab560772d1b3810982b011fae9846bb93f723be1103686012447141a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/dsb/firefox-53.0.3.tar.bz2";
-      locale = "dsb";
-      arch = "linux-x86_64";
-      sha512 = "b33a1fe8f235d6522345bbbbcca791036236c6ceee16d42883830048f866b1bd816d4f065350cda7fc7be2f0bb8bad1a37c455ac3353b8db7aa80e8bb3921c30";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/el/firefox-53.0.3.tar.bz2";
-      locale = "el";
-      arch = "linux-x86_64";
-      sha512 = "ff32cf67e9d5e424fe318fbefae5c10fca855f8105b3a0ced52a4a894b76731fd8e581ee9835d5424e3a08aefdbb4024fc94f02dbaa1ba6beeea0e07dd67e22f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/en-GB/firefox-53.0.3.tar.bz2";
-      locale = "en-GB";
-      arch = "linux-x86_64";
-      sha512 = "863336e62c3ef2e99babb2bd08a57b29097a9b7fd8a9b5a790bb7002a6a6f7cdc29d921783845271b7602af6a40c8905c3b075551f0a5e73887177417887770b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/en-US/firefox-53.0.3.tar.bz2";
-      locale = "en-US";
-      arch = "linux-x86_64";
-      sha512 = "57d31466390e60d45a77ba2b41a78bafc17d22c4258d184252993a9a1ce9334988cdcda45fcec43afd23f13db5438d04d795e6da383434e434c1b426c2f53362";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/en-ZA/firefox-53.0.3.tar.bz2";
-      locale = "en-ZA";
-      arch = "linux-x86_64";
-      sha512 = "3283d2a67baca3e552a1c7507e4ec3d36679c61501773d1ca2c8d7e972a864c59f24ba29895e0ccd11eca0ad335f4a47ffb5e6bc2f1282c451d1b34aa306ea0e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/eo/firefox-53.0.3.tar.bz2";
-      locale = "eo";
-      arch = "linux-x86_64";
-      sha512 = "a708cd2f3bbdabd87a07d957db31dc2fa7bb873f50f0139b5feca2d95b9ad1424ea0c809d194dd38cc0c33170be34dd4ddcb1fc1da52d91bfb1006d066b4688a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/es-AR/firefox-53.0.3.tar.bz2";
-      locale = "es-AR";
-      arch = "linux-x86_64";
-      sha512 = "ef930196f23ef40dffef2bfe9772ee65306497019200b8932865bd03f2053069c02a08bf4857bc291e7d3d6597dba7e90c82a15cb33eb99d2818a1ce5390879b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/es-CL/firefox-53.0.3.tar.bz2";
-      locale = "es-CL";
-      arch = "linux-x86_64";
-      sha512 = "6f16598409eee0b14c98185d764d691c31f1da63a66e0be70261227d5c7739010964b54ca42dd3aabce0ae82448a6839b8abdf5794a5bed621dab269a3ff5866";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/es-ES/firefox-53.0.3.tar.bz2";
-      locale = "es-ES";
-      arch = "linux-x86_64";
-      sha512 = "6e6a5f74d26cb0b53a53e1a600ecf34efeeb79f56d36747116e11ab25a63c4b48bab7c7d57b2cc8748297a1b106671367b4ed463f56978a4142f830cf1a2ed9f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/es-MX/firefox-53.0.3.tar.bz2";
-      locale = "es-MX";
-      arch = "linux-x86_64";
-      sha512 = "3b5eb1e55060caa77c86e56ff11d89435b816e2ae0b42c3059be5c0f50f3e4d3ed6e818386cd0ae75d00fb0e6541df0c3d3cdb313237d504df48667818f3a204";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/et/firefox-53.0.3.tar.bz2";
-      locale = "et";
-      arch = "linux-x86_64";
-      sha512 = "7d1bd7e1fafdb2f58c09ea30bfc52ab233ef744465163fb39c59b2481090c1e3d3ed6d2beab304aa6d2784ee4240c7c9f13cbea787ceb505ae7be369669d785c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/eu/firefox-53.0.3.tar.bz2";
-      locale = "eu";
-      arch = "linux-x86_64";
-      sha512 = "f8829234556a6fbacddc2e5702c9ece833414eb480421e6a6820ac854377b5d9a7f704fe8e9f793b09598695e8cfd256bd0dab357c81d6530a2d7fdc1934afbe";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/fa/firefox-53.0.3.tar.bz2";
-      locale = "fa";
-      arch = "linux-x86_64";
-      sha512 = "40016acde4a5cea189fbe1abad75851e054b69d1446216fddb553151732466f48a93443d377b989e0092cb01276a45cee56436fab5275fac84f4dceff3f93225";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ff/firefox-53.0.3.tar.bz2";
-      locale = "ff";
-      arch = "linux-x86_64";
-      sha512 = "5eec968da6bac4064562309c3253d2e57999399f241d9e59c83284fb6fb35e0619180e1c41d1e39c9741037d3419d6ff7fb2560d2c5c1b1eea33d56494d52d1f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/fi/firefox-53.0.3.tar.bz2";
-      locale = "fi";
-      arch = "linux-x86_64";
-      sha512 = "f90b091a238398259972884fc759c48d5aba51b4879dd70595139202119eb8982a51d3c6c38ef5efcd1c7774a27dbdfe95243e7f22ae62c510c41131c77d4c07";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/fr/firefox-53.0.3.tar.bz2";
-      locale = "fr";
-      arch = "linux-x86_64";
-      sha512 = "18772c36b65bfbb383b1b953e2505275bfce8096278ef9d0ea31d421368bf5d71d48b61b15c0c1de603439a584656870292abe46a37a3a1e6a6630b759fa7c4f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/fy-NL/firefox-53.0.3.tar.bz2";
-      locale = "fy-NL";
-      arch = "linux-x86_64";
-      sha512 = "3cde666bb2f708450e094a20d452ce4b5f1e69f345bde017c2d61bdd5dbf90172caf2f4f27f2dfae3a68fb27edf11beb0152fbaab981d36d34e0fc96b9b09801";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ga-IE/firefox-53.0.3.tar.bz2";
-      locale = "ga-IE";
-      arch = "linux-x86_64";
-      sha512 = "02324de8476db9c5d64aa04e7e034856495833f01b115e1ea8a9063b778e74e19350f9352f1c0d544837ca7970b871525d28785af54057064fdee9018eae1d38";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/gd/firefox-53.0.3.tar.bz2";
-      locale = "gd";
-      arch = "linux-x86_64";
-      sha512 = "d08c084011c92b161245587d1c01870332bc82c3f032dd2198849f1a87eb31eeab6daba435193cbc2ccf9086e0a3008a9ab50c5a938260ae7c14730f60608d8d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/gl/firefox-53.0.3.tar.bz2";
-      locale = "gl";
-      arch = "linux-x86_64";
-      sha512 = "fb9cc6fc39708c04d7581879977de4f4070f7766e8050889302d9cd0c4faaf0b25dfc41f46f7ee380f416bda55deba0b7f9e6baf69a8d9abb643d60ab009d57a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/gn/firefox-53.0.3.tar.bz2";
-      locale = "gn";
-      arch = "linux-x86_64";
-      sha512 = "b836aed3b5fa3cc5fd4675753b090305d195bdce97de29865eba72e7f5faacb5ba21b0646d9766f5545151650157e4bd5a6e0a6f43c6fb452ee590fef886ffc0";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/gu-IN/firefox-53.0.3.tar.bz2";
-      locale = "gu-IN";
-      arch = "linux-x86_64";
-      sha512 = "2c2325aa1f52d3e5ca639d95f76fd7671805c5402ae9b943f416260184bc03fe087f2186f21b935e12c0669720bbad3aeada2286a6c77f06ff76c0663b86954f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/he/firefox-53.0.3.tar.bz2";
-      locale = "he";
-      arch = "linux-x86_64";
-      sha512 = "c00eea318d9e96e3da14b815f0dfd75aaf196aa2623dc7732ff6dedd911329445b4eb2d2ee2fb0004a68f461c15210c2b1f867d41ecc808bba21cd5db7cbd790";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/hi-IN/firefox-53.0.3.tar.bz2";
-      locale = "hi-IN";
-      arch = "linux-x86_64";
-      sha512 = "f301e9983fc30107dad8ba206ba0ade4a24d845395333bf7faeffb1eaf688a5854798ade11692326e14a7107d407542199cf3db4903c2fbcb3a20bca29e31e0a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/hr/firefox-53.0.3.tar.bz2";
-      locale = "hr";
-      arch = "linux-x86_64";
-      sha512 = "931681f57455ef67512d5f68a8c0b2284314dbff1e7f5aefc7d08048ff4efc083158daf6c4b41310943063d91afcf15f952b1b3a743ba18158b9a88290751b2d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/hsb/firefox-53.0.3.tar.bz2";
-      locale = "hsb";
-      arch = "linux-x86_64";
-      sha512 = "840e9c919251be5f31d692ceb111272611c7f4b468304b643580b0b4b12baa54b1a2e2f208369013854f145bf747aa326e4f2767534e49c27e62ccbe626bf8d8";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/hu/firefox-53.0.3.tar.bz2";
-      locale = "hu";
-      arch = "linux-x86_64";
-      sha512 = "05b04d6ee4ce2c0999397471eda64305afe5f5c4d714a404f5ed98f6298d77599cb7c10225e876559a790cb37984db5a3a1fa31f3db83adb04f505f46eca9704";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/hy-AM/firefox-53.0.3.tar.bz2";
-      locale = "hy-AM";
-      arch = "linux-x86_64";
-      sha512 = "3696cba2a380c8d0b1a2c116dfac8dc3c3afb9f28e0ba5f03b07b52f23c52d5b6fce293b3c83d8ed041df3a2f4f9c387113753387e1ff94a2854d09284a322e5";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/id/firefox-53.0.3.tar.bz2";
-      locale = "id";
-      arch = "linux-x86_64";
-      sha512 = "fda5ebc2e4e0aff27a3ed719fa9caaca3d622221b9288d4075e3964fccbb3efca312f0cb7c36090474d3296aca6944967ba9fce7446c9bc33d82c5518ad182f4";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/is/firefox-53.0.3.tar.bz2";
-      locale = "is";
-      arch = "linux-x86_64";
-      sha512 = "4c106cce385024290a02953f793caa5f28b65b9a2369ee9644d64d3f547d0c4fb6a9e4fd4f2a03337b8c29e5559c1df7bec9f6138b74fb199a0b259fe599b493";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/it/firefox-53.0.3.tar.bz2";
-      locale = "it";
-      arch = "linux-x86_64";
-      sha512 = "bdf7c1f37b60ba514ff5098917f82dcdcd96a871bc546f9aa951153e8c633fd218411a2c10481c6d0f1a02b22db10b51751ea9c5a954155ee7fcc43e2e160b63";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ja/firefox-53.0.3.tar.bz2";
-      locale = "ja";
-      arch = "linux-x86_64";
-      sha512 = "09b741a0edd5608f96a5309167a5fb082c004fc2c7ca6ab2a9ddf8133d106563a942cd3763966623f2e98407375987071f8fe05e8132fbb28fe68589e6c1ffe3";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ka/firefox-53.0.3.tar.bz2";
-      locale = "ka";
-      arch = "linux-x86_64";
-      sha512 = "8dc9a1fedc8f0a4fbb7b85cbb1f2571f13d6e1e3a421b84b6efc80a7ba69fce43eb11e9ce2b5969bde8443062340515e875ac14246905421b4832c771277125e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/kab/firefox-53.0.3.tar.bz2";
-      locale = "kab";
-      arch = "linux-x86_64";
-      sha512 = "63db0e66a5696388887077b8666fbe4e9706c9ad05ee3c2ba5e7fddf8a861ba03da3ab2fd80ac005595f59ee3d5f0a85a7e38e7f9d8032052ad1d56335790c2f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/kk/firefox-53.0.3.tar.bz2";
-      locale = "kk";
-      arch = "linux-x86_64";
-      sha512 = "a9191d0d3ad3f42de52cd63631acfc1829b5cdba4b92d59d6966bc9a0ceec93aa0d1fbc258310706c9993df51f5a917fb781f936cbac3a1d1848de281a00eaad";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/km/firefox-53.0.3.tar.bz2";
-      locale = "km";
-      arch = "linux-x86_64";
-      sha512 = "3ceda47889de3f7041dc0acda2440ce25285aa21a9d4323da8c50d7e1c3abc03c92806195afe25e8f4998a97d481aa8be3f0761b679795f57eb2edaaf1b92092";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/kn/firefox-53.0.3.tar.bz2";
-      locale = "kn";
-      arch = "linux-x86_64";
-      sha512 = "fecfd001bebf9ed11dfdbfaa96933eec721a12d213fc5b3e7f115cfb8de27d01792662799856ba26d2f3529d10a8ecdbf08df33124c7f60c18c8ffe45e35994d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ko/firefox-53.0.3.tar.bz2";
-      locale = "ko";
-      arch = "linux-x86_64";
-      sha512 = "c863345b98c37662b8848ddbdd3f567e1b14ad1c303fca517918126722c7819f57ee4b4ab7e222c1e7d84f7b04aaa6bd7ab1bc1e68df27086ef48b785c3d4047";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/lij/firefox-53.0.3.tar.bz2";
-      locale = "lij";
-      arch = "linux-x86_64";
-      sha512 = "5b0d6dcf400e32d51be63feb5fdb0d8161ce4fac9ebb2f6f2f70dac6d3df052bef7aebd25d53f79db73589e48145945ba2671bc0a34a429822e56d9913405136";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/lt/firefox-53.0.3.tar.bz2";
-      locale = "lt";
-      arch = "linux-x86_64";
-      sha512 = "3d9bad39dcd2cfc80fc16c7a443d8553540b0f22d712f6ec9a6b98de988442e1fcc3a57b1424ae784ebf5dd9e6fffe64b9ba6afbc09ed8942a6bb7f8b4ccf805";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/lv/firefox-53.0.3.tar.bz2";
-      locale = "lv";
-      arch = "linux-x86_64";
-      sha512 = "d2ae12c346575f634801bbdde46791cadf0002508c210fd76970201786aa849e18abdf433ab3917056c1b7d61f02aefbf7f43bfa940dcde76ee16b1cf307beb5";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/mai/firefox-53.0.3.tar.bz2";
-      locale = "mai";
-      arch = "linux-x86_64";
-      sha512 = "5b60c10506d243bc557e791edc8eb92830346f309a514b98d42b75340e330367eae6566b4eeb20d4c7e63d0cab0f74686ccdc6eea48b816b13fe27e7f311de4e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/mk/firefox-53.0.3.tar.bz2";
-      locale = "mk";
-      arch = "linux-x86_64";
-      sha512 = "44636a0e2b9424ee2fb0db99d2bf080f2c1d5b5c27642486bea11d70c3db41e9013e6095f502c426c3ae22bc13cdd414f0561579abe08e9f81324125cf2f2b70";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ml/firefox-53.0.3.tar.bz2";
-      locale = "ml";
-      arch = "linux-x86_64";
-      sha512 = "2a1d4a1890ba1dc90e79a92589b713fb1b0d3485af70cd37a04e5e75cfe5d5474fb98e1ecb18c819570e7b1b2f9796a8440b08b0b72c38757f5399ac6644d54a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/mr/firefox-53.0.3.tar.bz2";
-      locale = "mr";
-      arch = "linux-x86_64";
-      sha512 = "e637a7aeb70e77299eef5dcb351822158a876d9c09eb32baba0e3d48627114ad3f2776d0fe58b9b1979a2ac49b1930656ce46877773fc0981c39c114c0bc7464";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ms/firefox-53.0.3.tar.bz2";
-      locale = "ms";
-      arch = "linux-x86_64";
-      sha512 = "f112dff09f6589982d3ef7f9861302cb161274f9a54b1884955472b0e4032c5686e6e459a925bb34f060e8fe820ce012d7ab2cdf11181bac795f58a379499ccb";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/nb-NO/firefox-53.0.3.tar.bz2";
-      locale = "nb-NO";
-      arch = "linux-x86_64";
-      sha512 = "121ccfff0492ee00ce4934fe741247a663f36bdbb65944d2f21fbde45d7f5dcbbc42d1770b31d5a23d3369d3e6959edfd5231900ed8d905ed55c43e0f528f1c8";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/nl/firefox-53.0.3.tar.bz2";
-      locale = "nl";
-      arch = "linux-x86_64";
-      sha512 = "c74a422603fbfc1afce6b5bf3da5197a9a5b10c643ada427a7833e7331c1a307212960b6a8252ccae876a33743a0d14393260bff7914f7527bd1c79868618d00";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/nn-NO/firefox-53.0.3.tar.bz2";
-      locale = "nn-NO";
-      arch = "linux-x86_64";
-      sha512 = "da0e91486235f65ed42a3bae7e230313a75020e3d0f0da5c10822cb91eb2aa4db2566ce33149bce25fdacea768f516e45ae6b5cd071d332f94d6ee2d3ad7aa3f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/or/firefox-53.0.3.tar.bz2";
-      locale = "or";
-      arch = "linux-x86_64";
-      sha512 = "e47f99475bd827edbc4bd79499a481333823a138a4d5ffc105105e3ef707ace1c695db0d4d9cf4ed41f8e498f6e1152d8905e84ea45b7407c4a14b7bc7668833";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/pa-IN/firefox-53.0.3.tar.bz2";
-      locale = "pa-IN";
-      arch = "linux-x86_64";
-      sha512 = "e90471400caf622d690c0b3bd7abbb55094871742a263aefe89a83add637459bb4f004d9bfabac7f32258f77123e5a85bd414fe56cc286a2eaa7f0342ef8e46d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/pl/firefox-53.0.3.tar.bz2";
-      locale = "pl";
-      arch = "linux-x86_64";
-      sha512 = "ae97799d80447aa54c9989780fcabe3f2840bbc1bcc9ccf2378de85eacf5957b99522b345c528d751cf055ce04a90bf206da3f53c55ff704ad8202e6f0d298e1";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/pt-BR/firefox-53.0.3.tar.bz2";
-      locale = "pt-BR";
-      arch = "linux-x86_64";
-      sha512 = "7fe17634ccb071ff55eb49c63cfe6e0fe7ad5b65aa158bf64d8cdaf4725fa54feeb7c5546c057f5f73690cc805637d6149e3ca938bc31f1798337f69a79eb0f6";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/pt-PT/firefox-53.0.3.tar.bz2";
-      locale = "pt-PT";
-      arch = "linux-x86_64";
-      sha512 = "50d0597479e726eb8342eb0ff41be5130a991cdeefcf0a020e46fff70940bcd4422ed9cdb12260d9ccb91ee04cc2cd2d3d103aed6cc49f4ebd40270fd7180954";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/rm/firefox-53.0.3.tar.bz2";
-      locale = "rm";
-      arch = "linux-x86_64";
-      sha512 = "5a7c05944c5cd97cdd45e467244cfd0118cf960f8353d34746463eae627a2aadf298097d97f5545a570e7a3eddfaf2dfb02541efe9cb24fb36b8bcb3d1b8e1f2";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ro/firefox-53.0.3.tar.bz2";
-      locale = "ro";
-      arch = "linux-x86_64";
-      sha512 = "daba193469d8114eb8b6fb85b0f79ce7b7a9a6f61b34bc6debcd9ef5254e0f716024cee6760a3ccb2fe3c0f0e5948fd56753e0a3036177ea4bfa3c3f11c5561e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ru/firefox-53.0.3.tar.bz2";
-      locale = "ru";
-      arch = "linux-x86_64";
-      sha512 = "2421185e831ba4720c01f471fc919ffefeeb5684050834fcc039da0508fe71a2a3bfbdb1a8968d1dbd1d282ba6b7075a8568290f32adca9d987fe7c1cfe83a4b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/si/firefox-53.0.3.tar.bz2";
-      locale = "si";
-      arch = "linux-x86_64";
-      sha512 = "d8ece0794a893d1b0469203084720bdf06c8e68c31ed9c84c4f998061c310460849d979c7cf4d30a6e339ac05191a5196c280ce8c734378082b629090e2c46cf";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/sk/firefox-53.0.3.tar.bz2";
-      locale = "sk";
-      arch = "linux-x86_64";
-      sha512 = "9ebd01ceaee3927a4a45e0add1de69b2a3b142c00a3495488f649a56884b503235ccb67fb0f693c305a5c5c13f1f314c3e9ecf4a7d6887ac6f22f14186ff9508";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/sl/firefox-53.0.3.tar.bz2";
-      locale = "sl";
-      arch = "linux-x86_64";
-      sha512 = "9517e4379531feb4741e6f679e8e7e366a75c61fb9f47885ee7cab83446807ec91519a2829e2cb947d0816b5801788d21ff7d4c17181403703aa26c849d14e89";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/son/firefox-53.0.3.tar.bz2";
-      locale = "son";
-      arch = "linux-x86_64";
-      sha512 = "1f3ea9241c91249f7dd35da0ca27487a844e9902fc6ca567bde28306f2556448dd32291bfffe3567ccd12162dfc92b06c26b25cbd1af8565cace2934993ea358";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/sq/firefox-53.0.3.tar.bz2";
-      locale = "sq";
-      arch = "linux-x86_64";
-      sha512 = "1359d549c9bf298b869968d5d5fee722ce2ebc11095f3b7472111df07d2148153358e0ed31a722192deba68b67fc9d5a1f237f975412fc5d762fc3f396652b5e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/sr/firefox-53.0.3.tar.bz2";
-      locale = "sr";
-      arch = "linux-x86_64";
-      sha512 = "4200ca53e3b4b61baa929385dbaab5bbf4b5f8fb922695c8ee378f5be6ed7b4c505c616782fc992df0f88ba5cc95a06ca1f8cbba79319f2e9734be42ab336093";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/sv-SE/firefox-53.0.3.tar.bz2";
-      locale = "sv-SE";
-      arch = "linux-x86_64";
-      sha512 = "5208eca959275c6c491b609f9afa750c7c509eb8fea1a7996ef74314c6001797879887111048071bfa06583e9caf710be75edc8015f16b4e0975f949a21a9229";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ta/firefox-53.0.3.tar.bz2";
-      locale = "ta";
-      arch = "linux-x86_64";
-      sha512 = "a3c9dcdf28703bbe2ec1243e93074462729c4ff81c0cd0c8d8b83dfbfe1f0d1e6d0480f292a6df5b6f961f928fb503563ad5ac19c02802ae69fd415d9b4782df";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/te/firefox-53.0.3.tar.bz2";
-      locale = "te";
-      arch = "linux-x86_64";
-      sha512 = "d39abe44752af8ad2eaed332306c5708c619cb8223f47bc639d0872e3199561a2546c003c39a6e14ce7ffc1ece686314cb0ee93e747dc89ba699c5ab2f9de2d0";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/th/firefox-53.0.3.tar.bz2";
-      locale = "th";
-      arch = "linux-x86_64";
-      sha512 = "1f2900ca72f19786ff7832d4b279c26ae56fbef6e85f12f41c0fb180fc84da7dc795c6b09e413a616325744d6a970a8aeba037bca2bd2ab136f68f658bc255d7";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/tr/firefox-53.0.3.tar.bz2";
-      locale = "tr";
-      arch = "linux-x86_64";
-      sha512 = "7854700e0274974799e1f7496896a06122351c8915d30eecd9b0109a94dc22f095d964187614cf38d4be4d453231b07ee9517227acc6cbe4003856e18455539b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/uk/firefox-53.0.3.tar.bz2";
-      locale = "uk";
-      arch = "linux-x86_64";
-      sha512 = "536075f5842b5ecd79032cb9a62f7d5efe8235ca34b3f089bf9e7b44af5e9e39dcdc8ca04b45392ffb943f2d53c64fe39e34b28df1345beb63307ef359d66ede";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/ur/firefox-53.0.3.tar.bz2";
-      locale = "ur";
-      arch = "linux-x86_64";
-      sha512 = "219c7b7437e70a7970bac631bdcd1d70c98bb19bb51a7f95ab45106b97f2207a3d19f45b55fc8b26d136029f2ead5767acf6bb241b1e62b0d4e45cec6fdb6d19";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/uz/firefox-53.0.3.tar.bz2";
-      locale = "uz";
-      arch = "linux-x86_64";
-      sha512 = "c90d39920c732bf022a417c7ee4ac6ff616274cd37c3a0263afd97efd9edf992aeae7dd9a3a7303a2d4e65b1bac49e70554e9e0310088c5367aa7a15963ab233";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/vi/firefox-53.0.3.tar.bz2";
-      locale = "vi";
-      arch = "linux-x86_64";
-      sha512 = "66f08964c0eee2befc58c8edd0faa9140ea3a9a2ea90a31cb28dc20faf3aa471f06ac12568ca0d8ded0bd6dc5e34b90a141602c37742bd6918f00a0d02a20972";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/xh/firefox-53.0.3.tar.bz2";
-      locale = "xh";
-      arch = "linux-x86_64";
-      sha512 = "06510ed45ff6eac5af3a5ce6e58487abc849b91148587dc8905cabd2762ab04890561dc0f49959c51fd52fdcc9664fee4452de189f13c4acabc99308f6db16d1";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/zh-CN/firefox-53.0.3.tar.bz2";
-      locale = "zh-CN";
-      arch = "linux-x86_64";
-      sha512 = "e9c6459671027431433a8734e9126575713a1bdc6c4059f0010c9357f6cc6474ab294c6b1db093513d51e6ba48afa1b467ea90502ee92c09b540e93b5eb80764";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-x86_64/zh-TW/firefox-53.0.3.tar.bz2";
-      locale = "zh-TW";
-      arch = "linux-x86_64";
-      sha512 = "a1e9b1490cd6d309131cf3432aac9fb82d4f473d832c935252fa9c3cd5dbeeecceacf31f11bb51c06c58ef998339201331663f12d9e586f4d3a2abc1bcbf7f4b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ach/firefox-53.0.3.tar.bz2";
-      locale = "ach";
-      arch = "linux-i686";
-      sha512 = "9644dc1f73f520aa89998e7ef37fe658a63cd625d90ea0ba478f321506aafce4a1c18470f94adac25ce1be2aed8dfbf2e255984febc4008bb031b369dbf494ea";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/af/firefox-53.0.3.tar.bz2";
-      locale = "af";
-      arch = "linux-i686";
-      sha512 = "98b2d5862db2853d0c9253ba63604ff55766d7e601620a1dfbca8a4bc8c356652e24e91892c530195651fbe93ab38b69eea7e4a7aa8da8c1c19b2489790f88b5";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/an/firefox-53.0.3.tar.bz2";
-      locale = "an";
-      arch = "linux-i686";
-      sha512 = "d69ac47458c5ba751f21db719336114e49a6601db52b1c4d2fb6636cf4d869ee5eca1f32e9d106ae384719d511bfca595445dfa30a8ec2347b544661e7203177";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ar/firefox-53.0.3.tar.bz2";
-      locale = "ar";
-      arch = "linux-i686";
-      sha512 = "6f09ceb03ce77ecf8eaea8cc4087f8531290ba0c1c3bb727811fa03c25228f0d38cea020281cff53d7acd682560590de2e2355d3ca5c46e8e777696e6424717c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/as/firefox-53.0.3.tar.bz2";
-      locale = "as";
-      arch = "linux-i686";
-      sha512 = "428974d2c110cc2bc88c792c0fe835232a51cc5b2c8bff1ecc08490a20e9641b3a465b3412e0a05dfa8859bd2839846a7ed75e26b31456db77bf35a9079162c9";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ast/firefox-53.0.3.tar.bz2";
-      locale = "ast";
-      arch = "linux-i686";
-      sha512 = "5368dfb536053eff3ea846366e8d5b4c025c3c5b828f41bb015276ca40c9c6b529cdac715a181d53e70df3ff99b1ea310b1a9c5a5da74e36ab97504b03c99e3e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/az/firefox-53.0.3.tar.bz2";
-      locale = "az";
-      arch = "linux-i686";
-      sha512 = "d9c69659d8f77949b3c12419202ba95a53c2a0bd9a8b1e580afafe93e245609071239cd69722e391af7373ad431f1acd09dd9484038d6eade48d0642c667f137";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/bg/firefox-53.0.3.tar.bz2";
-      locale = "bg";
-      arch = "linux-i686";
-      sha512 = "20dceee7ca9dedd1fc063fec6485acbfca5db804d6f7dec8a8fa0513615f1a8b73c51f8dc4cd427e5e06d1fa49e74f2b94293880a47fec95e7c670f0a6c9fc2e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/bn-BD/firefox-53.0.3.tar.bz2";
-      locale = "bn-BD";
-      arch = "linux-i686";
-      sha512 = "00050cc713a7901848eb73bcfe15c3757a028391e71d59d6e20843b67aa1f19283e45fc5fd22e9301a15a4178f2f461a5984ff196473125682ec5eb5dcab41b0";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/bn-IN/firefox-53.0.3.tar.bz2";
-      locale = "bn-IN";
-      arch = "linux-i686";
-      sha512 = "6439b4ba4808ac648543818388f08752dd7ee07d30390afa6735777b70e84cd1110e6846d3baa1424262fd3e1fe78acec9815781a2b0a1942798b2292d26fe3a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/br/firefox-53.0.3.tar.bz2";
-      locale = "br";
-      arch = "linux-i686";
-      sha512 = "7d9380030df59be07f1b5d8952313d1de06b7f2d4a04edec74eab06a35997609624d8b90400158ce43638d0134db7a71fc3194db8bf60e480f0bbc4ae358a884";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/bs/firefox-53.0.3.tar.bz2";
-      locale = "bs";
-      arch = "linux-i686";
-      sha512 = "0326ce367d48f4696868defb1c5ef6295d71abfb4e152df57fa37644c0e9c9ddc4d1a859bde9710baa7e1dd164d2509a690b49782e691755117f8955ce019981";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ca/firefox-53.0.3.tar.bz2";
-      locale = "ca";
-      arch = "linux-i686";
-      sha512 = "7225dbb158fafc1fd3b0aaed1b2b012b30a3595c0763b9d695a757dac6f279909a3a5ced7afe260b2b22afa1b80286f15edd04889b91d0a5d0f02d4e3af464cf";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/cak/firefox-53.0.3.tar.bz2";
-      locale = "cak";
-      arch = "linux-i686";
-      sha512 = "ecad96912d70051d7ea41e32f100c028a45c5ad819e22e8e9cd60c72b87d57300f797d661f9af20bfb18bade2921b59260c0eb08b5430316a1d706ff8f0cbd1d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/cs/firefox-53.0.3.tar.bz2";
-      locale = "cs";
-      arch = "linux-i686";
-      sha512 = "d1d78d58b141cd919153b2c2d4667628786c330df01f9183b63f4592faab8863af3103204786f14bbdbb3e8a1e769ad2578e337ab528191dabdd82f51a45809e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/cy/firefox-53.0.3.tar.bz2";
-      locale = "cy";
-      arch = "linux-i686";
-      sha512 = "fa97198f6850be7fad4a6740813eee763f2a9c69d0c23cc5f1bab5067874cf843bd529f63e2078731d68f916a0b628008fede65fafc1e899441472fd32d6efbc";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/da/firefox-53.0.3.tar.bz2";
-      locale = "da";
-      arch = "linux-i686";
-      sha512 = "a19211b6d5aa3e4b4f3b15ea4c44355227c30aa01e0cb501187eaa92633d549a67df89e7b6edafc4671b69f7110f28d197f27c02dd7f603f9fbc7a1e70bfe629";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/de/firefox-53.0.3.tar.bz2";
-      locale = "de";
-      arch = "linux-i686";
-      sha512 = "195878e23fcee7b344b0b318a6e8c7b2af30de97ef9228e5a0c80cce7e7c7405e6a58ee8489c100a5b2d8801c388598e80a22048686cbd9b736b30298757cc86";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/dsb/firefox-53.0.3.tar.bz2";
-      locale = "dsb";
-      arch = "linux-i686";
-      sha512 = "b1bfbd251b59a122932edc3d4edeaa311f72fa093d103bae8f18ec900063cf9b88bf26f695decbcc2cbe7a8b0cf6c978db3ece86b8aa11c7d097db47bf8fcb93";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/el/firefox-53.0.3.tar.bz2";
-      locale = "el";
-      arch = "linux-i686";
-      sha512 = "a8cdda39a3f221adf0361871c5eba486808209809eca5a1b9d3b9d2c0c91e68569451dac2907e33018ad97efb4c3d646ddd6db87a9cd98461fe8a5a6de2a492a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/en-GB/firefox-53.0.3.tar.bz2";
-      locale = "en-GB";
-      arch = "linux-i686";
-      sha512 = "b99dfa1b518e7fd0b5ac3780b69cdefc6fff26d5a30a0a0c95aae9bca88def65a0cbcc1ac22aaa369fa854686dff0de75e138edee1d8d13cd5c1d25110c0befa";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/en-US/firefox-53.0.3.tar.bz2";
-      locale = "en-US";
-      arch = "linux-i686";
-      sha512 = "df0f895b336faeefdb24a65f110d73709a9d9c37aeb66348d8f347db237b5f4989a4b37e3e15fd638b7cb907e567e40e88f4372fdd1f10c924f44c5bb61086a2";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/en-ZA/firefox-53.0.3.tar.bz2";
-      locale = "en-ZA";
-      arch = "linux-i686";
-      sha512 = "928e0efcdb9284ed8eebfc9a05fb9b33ff05a72f5db28813928064970e0c6b5c67de429fbc49b85cb780fc18ed3964e14b445460dbcee8d9c271ea112c43a402";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/eo/firefox-53.0.3.tar.bz2";
-      locale = "eo";
-      arch = "linux-i686";
-      sha512 = "a624a4d42a096929ac6eb467251de6bf3eadd5b6492b5b9e5ab7923601015ccee69f976186c66bbb2ea268b791cc2708fe9e128a4d978176a5d9ca3801631774";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/es-AR/firefox-53.0.3.tar.bz2";
-      locale = "es-AR";
-      arch = "linux-i686";
-      sha512 = "7a2d2ff9251935b8cc3f592b2c7708ad86e85a389d8599620801f514b797a64cc28bc0458c0d7903261f5251be65e29ae8eb1628d45d9a7ae70f57ea56f20e12";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/es-CL/firefox-53.0.3.tar.bz2";
-      locale = "es-CL";
-      arch = "linux-i686";
-      sha512 = "0b9ccf6f2024409348623ade927d0b21df79211ef7a01f9efe414ce389a6a4d98ab5f34f8c3b4c0dd01209c8304d102068e8a9517be097b64768a163aff96ae6";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/es-ES/firefox-53.0.3.tar.bz2";
-      locale = "es-ES";
-      arch = "linux-i686";
-      sha512 = "02b8f2b83d869db41cc910f647d6c6c8136609d499b6e77f2526915654e6bc22fa202b09f9c93a3f2fca7a432deea9a08a2e983f0783b5712341d9ec02d4754c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/es-MX/firefox-53.0.3.tar.bz2";
-      locale = "es-MX";
-      arch = "linux-i686";
-      sha512 = "b18d0971d8b595c8a6bad2fe51fb46d995565947890979b2a157664ea9c5d20852043340c944754d90b820ad5b65f35bc5d0f847a7bcfd322b2a952b3a5fd4ed";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/et/firefox-53.0.3.tar.bz2";
-      locale = "et";
-      arch = "linux-i686";
-      sha512 = "f8836395758112d16b6ff74bd5144279184b125e9d415d239b1dbc87899da2000880af3bb9e0b4d49dfaa641f3c8cef4585c31699014fb2dc95969407fae4a69";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/eu/firefox-53.0.3.tar.bz2";
-      locale = "eu";
-      arch = "linux-i686";
-      sha512 = "05584c588f76685791c54f24bfdbeea37c9ec36f0080ea5efda8fb5db5b59789b68384be1e36aafbc79338cacb200f1246d786afe1b3331ce1b1bfcb6c86c403";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/fa/firefox-53.0.3.tar.bz2";
-      locale = "fa";
-      arch = "linux-i686";
-      sha512 = "c89ecae7468b0c0689995df31c8d0b04b25ee8b3f6633db9a84197bd7e7348b4289af95b8d656794bef22250e9aa7598be3a871661e0d03e02267766c2caabb4";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ff/firefox-53.0.3.tar.bz2";
-      locale = "ff";
-      arch = "linux-i686";
-      sha512 = "63302710dd067dac349a322fe7df8ffb33796790bf17758bb9554d1601e4d414c0f919cb92ea56f3030b4d3604caaa39149ea438bdf03fc6164f384e9cc081c6";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/fi/firefox-53.0.3.tar.bz2";
-      locale = "fi";
-      arch = "linux-i686";
-      sha512 = "df62123c529bf3f9ac017a553268ce58cece1c916bf2d671b03a5207434c762cd9b2f1c81f960e5eb26038f4dd39d99ac8c65d426eca996c230694ea1b4ab2a8";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/fr/firefox-53.0.3.tar.bz2";
-      locale = "fr";
-      arch = "linux-i686";
-      sha512 = "4e6b3b271c1ac945e05e72926a4ade75bfd2e24bb97bed78e350c5f637007810035720c25a24a6cf0c0cd24d49915259a7a38e0f792b78dbd26ac01a30092922";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/fy-NL/firefox-53.0.3.tar.bz2";
-      locale = "fy-NL";
-      arch = "linux-i686";
-      sha512 = "11118697039174892aaf813d434dd2f3ac93839681d9544100560e5d906ea7f71063e89b9a4e2f53e7aff3a4b83726a0645dcc4ad212255b054a51ef3d3cdd1c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ga-IE/firefox-53.0.3.tar.bz2";
-      locale = "ga-IE";
-      arch = "linux-i686";
-      sha512 = "3d22dfe4827d218bb42a65dea5309d058f4e047a33ddbaedf95d0eb98960e567b7735fb7e25e508e06f5b92cc21494e73fd37e02a5228c87a903bb77f37bdf78";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/gd/firefox-53.0.3.tar.bz2";
-      locale = "gd";
-      arch = "linux-i686";
-      sha512 = "71ea69837a36b698b483e44c87db1737a618f4099d4b6450434a5518a9f77a0d1373f85ab91f76397e7594c1a5be921c6302f1cf9b66701b5a8aadf846f64321";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/gl/firefox-53.0.3.tar.bz2";
-      locale = "gl";
-      arch = "linux-i686";
-      sha512 = "86db97e300e8ede881524618b110993999e08c4d21c309ea0228f742ec47a7e7d4d71c6f77eb1b57f16fbbf08fd5b5d7d1e314feeec4bcc10821047bbf1946ac";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/gn/firefox-53.0.3.tar.bz2";
-      locale = "gn";
-      arch = "linux-i686";
-      sha512 = "151c2c8f78f00414d358b296625dcd2c8166de12a8deb5dc31d330e5083e3020c7b12b9334dac7cb09e1508fb28b3b2601ded61914ba9df9df7e239871812f1b";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/gu-IN/firefox-53.0.3.tar.bz2";
-      locale = "gu-IN";
-      arch = "linux-i686";
-      sha512 = "8201dc515ebf1457dbffe1e518f4d1d4073f51b1491fe794edd86f30e8e9d7e0feace1ba2fe74b136157597ed7087a857f204e5a6bafc297fec4fc0e04acee9f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/he/firefox-53.0.3.tar.bz2";
-      locale = "he";
-      arch = "linux-i686";
-      sha512 = "4a665fbcd7e54acb84e7948a326219557e14dd7326a4a0513de7271f128661a928305814dea69ef6a48d349deb148a08bb386b381fc0ea8c18c5632c7b9a3c54";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/hi-IN/firefox-53.0.3.tar.bz2";
-      locale = "hi-IN";
-      arch = "linux-i686";
-      sha512 = "9e071cc2d107b04d874f3bd11b2ebc184fa4ff6534bc4b2a87f85cc3996f8b3d7ca453edbc58ae598bfe5ad90f9b23a1fbc5eb77d6e3095f09fa4b3619282ccb";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/hr/firefox-53.0.3.tar.bz2";
-      locale = "hr";
-      arch = "linux-i686";
-      sha512 = "263c65dcfd77a79dabb9416f23fa48400ec577ef03204daeead577c7159d5ef0b12cb2a17d2d7523078edbdfc61bd0bf41435c300b690b0121a5dbe76df76bde";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/hsb/firefox-53.0.3.tar.bz2";
-      locale = "hsb";
-      arch = "linux-i686";
-      sha512 = "78b3777c2017c60428a15a3531b7864d7a58347686fff2486ac9194852fabb658c170ff11c7b59bc96a9c73e6b35ff8074ebd9e5ee401e74c760ff598b5fc28d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/hu/firefox-53.0.3.tar.bz2";
-      locale = "hu";
-      arch = "linux-i686";
-      sha512 = "688a543527d26ebdc9fd2b2022d34e500aa0d65e6a85d504c957c988d0ea285ef2208a2a17c80be472eacd2cb726e99ddfa9048c1035c70999c0a8cbf98500e9";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/hy-AM/firefox-53.0.3.tar.bz2";
-      locale = "hy-AM";
-      arch = "linux-i686";
-      sha512 = "561cd5c209113abe4c36e9697323a966a09734e9039f9e2ad40bab5e7ee701e2aa5aa1f6f0ded758be914e7a9f33f59e84d895c40d3b15bbe7043b04e9e23918";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/id/firefox-53.0.3.tar.bz2";
-      locale = "id";
-      arch = "linux-i686";
-      sha512 = "c624da71c7f3fd040b5ddc6da0795aff8796c684e44a05b53bb375d69abaea436350588bd6e3c60cd7fe75c5e0d17be11c956d2e3196212fd3e4208af3c4d131";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/is/firefox-53.0.3.tar.bz2";
-      locale = "is";
-      arch = "linux-i686";
-      sha512 = "f43157cc8c0bfc7108d9638c1b6997444d11c4c82fa2d937085fba02e8cf7bcf6e2c3c498d58039baea60461d8895b3a959d39af1612bf1b1f30574ab5c6a6ea";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/it/firefox-53.0.3.tar.bz2";
-      locale = "it";
-      arch = "linux-i686";
-      sha512 = "a8278d7a14f0570f5d418c87e55b710a40dc9e76fcf9c3318f361a72f51e55777d726e99bd2afa495b09f997fef9e86f31ab7a1110a43617719d49456b7f2136";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ja/firefox-53.0.3.tar.bz2";
-      locale = "ja";
-      arch = "linux-i686";
-      sha512 = "d9d305dda59cd09db5444f27599f9846e25869d3a43cfda90af0f8a760504e92df1df95da6559da8294baa75ce6c587721dc45a4d80163f7d8464a1039c9c180";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ka/firefox-53.0.3.tar.bz2";
-      locale = "ka";
-      arch = "linux-i686";
-      sha512 = "d5d8a55002e8828f3e32c90f7a24aaede2eb820f203b3a2d5151010aaa5c3996f47dcdd36a4702ec96a93157cb7cd591ef81affa9c1750e078f3b569a537725e";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/kab/firefox-53.0.3.tar.bz2";
-      locale = "kab";
-      arch = "linux-i686";
-      sha512 = "31b158d5e83cd8f241740a350465ab3d4e1a12fb374d85b97b4f32f848357bcdc4f179b97ac63701ddd619f9934a2edcf41f65ad1c13b8b2141522f79f3b24fc";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/kk/firefox-53.0.3.tar.bz2";
-      locale = "kk";
-      arch = "linux-i686";
-      sha512 = "a32d200a7715a7598fca3f3214ab4c5ad6d25ceb92224f1602d3446af75d7da15b36d8ec1f71e65ae8f74cda8650bd46b81e16b16aae7130795764a8ed2779eb";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/km/firefox-53.0.3.tar.bz2";
-      locale = "km";
-      arch = "linux-i686";
-      sha512 = "9fc0a533296974bd1ab7c16d7e6d2f6c5482e292bce11ab322ae94a96003cda788750a1a26f4064e9c65144003e0acac67d214f89a388c9c433be6d2ecc5444a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/kn/firefox-53.0.3.tar.bz2";
-      locale = "kn";
-      arch = "linux-i686";
-      sha512 = "a613e37c8635508f728d890232e54cf69f2f66b76ee9cb1994d4c0050f579fbacba749efb2307cc40cdea32aadc024497d80f921afc632bcc6d0d4db88828b83";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ko/firefox-53.0.3.tar.bz2";
-      locale = "ko";
-      arch = "linux-i686";
-      sha512 = "014e823ba7c4e4b2d36283157a5931d7fd4a8bb499216e5ff9228cd598602eb426d38a5d8e50452b0187dc8475dace5844c08c18a960db78b26d2139c6d843de";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/lij/firefox-53.0.3.tar.bz2";
-      locale = "lij";
-      arch = "linux-i686";
-      sha512 = "cf8b398d2b1d47c3f5803311cee0a7f3b3ee2a28d74ff7b2b8537a14b7b05fcff37ab5097da6ad0370982cfdecc9b6bdc8b40880c745f491c42e10eeca67eab8";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/lt/firefox-53.0.3.tar.bz2";
-      locale = "lt";
-      arch = "linux-i686";
-      sha512 = "4dce327b10e2a7f79fff55d02e6cdbca3edefd3b5f6618af6bfb9ef4db7049499a274dd6deb3964a3bf473952377ce21b3887deaf2822073b0dff1109ef45b56";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/lv/firefox-53.0.3.tar.bz2";
-      locale = "lv";
-      arch = "linux-i686";
-      sha512 = "c088c08ab0f6f6d4222675808928dbf623be20e64f10e08ddc01e99054724060272d1ea71df8db8e93fe107a91559005954c0fd267634b14b0b9cac874d80761";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/mai/firefox-53.0.3.tar.bz2";
-      locale = "mai";
-      arch = "linux-i686";
-      sha512 = "ebd15fe44dd5c8e8880f45c854ce8785c6a3fd74f4c7991c99ca47d3bcc57371d0378fec3d40d1565aca1ee4a85ba787776690892700fc6714d7212405d94a9a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/mk/firefox-53.0.3.tar.bz2";
-      locale = "mk";
-      arch = "linux-i686";
-      sha512 = "342b993d781d170f23543bfc4e37ae624326ca0b0fea570e58ea30ca49eb0cf8e2d868dc11efec00e84aa7461c6d84594ec816ea1fd5ade1eeac3d54804363c1";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ml/firefox-53.0.3.tar.bz2";
-      locale = "ml";
-      arch = "linux-i686";
-      sha512 = "9f73181a36e7f357fafb9fd7fe740e67bdce13788674396ca34a13560aeb0aa5326efcbce88f55040e4b7516a1cf0baa933b19559eaf6c5ce0a61502c41151a5";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/mr/firefox-53.0.3.tar.bz2";
-      locale = "mr";
-      arch = "linux-i686";
-      sha512 = "042c362723d46b32888fae19cf9b81b2ddc13fbc35123c507cba00171339e2bbb0d107b51f9c18c6d422196bba0c6c1eac2fec2828b1f2f2347eb1d78f10d9e0";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ms/firefox-53.0.3.tar.bz2";
-      locale = "ms";
-      arch = "linux-i686";
-      sha512 = "aa79ef859b97021d4813535fa0ab92af86594a0486444f2ace11176f00b963b456a7c11acf0c3821ba7553777ad464fd2364cf68901e3b6e56acb04db5ad3314";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/nb-NO/firefox-53.0.3.tar.bz2";
-      locale = "nb-NO";
-      arch = "linux-i686";
-      sha512 = "7fc4c59b813029f55931265b65963145a0ab6460e0316dfe30810a7867243057e9dadf500224a5604381eb6b13506cf5ed54b91d673e3635c5ad4f253bc1a9ae";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/nl/firefox-53.0.3.tar.bz2";
-      locale = "nl";
-      arch = "linux-i686";
-      sha512 = "991f9d18873ab9c451e0ad099f468eb7dc70a52ae70194a1133af98a293737a0846bc2cc48ef6a626bf324df2d2e5a20e0977deeccef6d34abdec463b8029a43";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/nn-NO/firefox-53.0.3.tar.bz2";
-      locale = "nn-NO";
-      arch = "linux-i686";
-      sha512 = "594b7c0de90609c9efa5b9081ade9028a21ac0e48dbe998b6dce8010159175698a091e3f06e1c996f81086a9e37a3792a55fd67f0a2435a48f4f103dfc2cf627";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/or/firefox-53.0.3.tar.bz2";
-      locale = "or";
-      arch = "linux-i686";
-      sha512 = "f47de5cc05616ea138d13f29b46baaecc048e47c582c0b17a6d245acbba49dc4247eecd420616c7df62075cdabb49f014cc0028a52771b6cd7fa157e8900fe15";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/pa-IN/firefox-53.0.3.tar.bz2";
-      locale = "pa-IN";
-      arch = "linux-i686";
-      sha512 = "608e53a64a367b34621ad1fedf762fbbcd52428e1d85aa123a24ba099b676f7ab6bde953a45d5598e393b7c0ef53fb80d6189841386c9cef46445560f68fdc69";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/pl/firefox-53.0.3.tar.bz2";
-      locale = "pl";
-      arch = "linux-i686";
-      sha512 = "169b218f454660b3fed1c1b728d14872cc839d95cbdb962c8d8e3035cba4041a111a850bb517c37b90ba0fc211effbfe0359995e030484b6467ea2b333436205";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/pt-BR/firefox-53.0.3.tar.bz2";
-      locale = "pt-BR";
-      arch = "linux-i686";
-      sha512 = "b9e41a078a4b73d30e1c13a6aea84e9268235229032377dca4c88607ea0c54b9addbfc0c4e5a1ad52f16033dc1d51c35150746d600220d27cc07e037ca3354da";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/pt-PT/firefox-53.0.3.tar.bz2";
-      locale = "pt-PT";
-      arch = "linux-i686";
-      sha512 = "bfa18669b700abfb868265b7d5d045d4a8bcbed8b9c0d4430b8035ea9300c9c5270fb2f673d7ac5c1dfa570b4fd4a0d3c2ce43e56f19134f6004c9d5996cd3a4";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/rm/firefox-53.0.3.tar.bz2";
-      locale = "rm";
-      arch = "linux-i686";
-      sha512 = "67e7d274a0cac15f3d7955c1c63064f15a77d83bd3dd0d5916dd59c76affc59e1df3384c47dc5884ee7c988a3b4e21cb1363683b2b13afc03147125c85d2737d";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ro/firefox-53.0.3.tar.bz2";
-      locale = "ro";
-      arch = "linux-i686";
-      sha512 = "e2089b66e855015526ce1800ed93abe81b41b712474f6a29a58d7e7b814fb0838d833669cce24302f76983f1d11b90ec9e50437caf6f951be50f96ded4b22e4a";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ru/firefox-53.0.3.tar.bz2";
-      locale = "ru";
-      arch = "linux-i686";
-      sha512 = "e1cebc4fdd645ed6e013e189b83b923734bb910b422565a88eaea36f55bc95ce31543010c35b64198acef82618829e3de41254053242ac06ad2829b168bef5bc";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/si/firefox-53.0.3.tar.bz2";
-      locale = "si";
-      arch = "linux-i686";
-      sha512 = "65e792b47baa1de0def9e5a381c55ebbfa5e81101ce88e369c0b44781ed04671159bbbdf74461412fd87bb0ae8778f7358da357f73ecb8ed54096563b54be7ae";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/sk/firefox-53.0.3.tar.bz2";
-      locale = "sk";
-      arch = "linux-i686";
-      sha512 = "b5954bd0cb0b2184e3894d425c6af6bcc0750a302d19a220f379da848cc1faeb7d0a73809ac5d9190e19b955e354b62bb08310f06a08fe566fa90775070995f5";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/sl/firefox-53.0.3.tar.bz2";
-      locale = "sl";
-      arch = "linux-i686";
-      sha512 = "de7f5650e3723c4c1be6c85dfd184a47336e9912a3482b5367c734238073d73458fdf6db0350ec7fe229ac6268adb6b3c825b493f7e7c03fefaa538a9a3538e3";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/son/firefox-53.0.3.tar.bz2";
-      locale = "son";
-      arch = "linux-i686";
-      sha512 = "6e751724307db69ff14ca3149bd919e1d0f203083e0d15087f10a5f25715416ba84b25eeb6d8146ed97bafb3f53889fc24ad225c06bc67fa47e07dcaee8655ef";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/sq/firefox-53.0.3.tar.bz2";
-      locale = "sq";
-      arch = "linux-i686";
-      sha512 = "22e2ed05c946c91152d30bfbf0dd38396d07050690294eff0910c80cd3cd7970181b6019c22eec9dbc07f5511fbb14813e87445b04f8e4a9977c34ba242b8008";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/sr/firefox-53.0.3.tar.bz2";
-      locale = "sr";
-      arch = "linux-i686";
-      sha512 = "b8c6a818b0d4ea3830e5840c307f059857a323f094e32233560f34148ff7f889dc0e7af85997cbd39cc09a34ec4409e5cba8ad4a3700b9f296cc1655d76ca613";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/sv-SE/firefox-53.0.3.tar.bz2";
-      locale = "sv-SE";
-      arch = "linux-i686";
-      sha512 = "8d6c1fb2c9f29c5821e7a104a131d8d18e7cca5bed59a67fb0fe7338f569b8ae514514cae3cee55cc9a28a42e429cdc3728fb73484deb85a2493c6f966de10fb";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ta/firefox-53.0.3.tar.bz2";
-      locale = "ta";
-      arch = "linux-i686";
-      sha512 = "5177a282aa879798962fdab652799739f30c66b5d56cae807dd2df1a58932968b1f668c4239c253fb81a4e2a51f014f17146d15f9534b8afd8f4ad76e0786325";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/te/firefox-53.0.3.tar.bz2";
-      locale = "te";
-      arch = "linux-i686";
-      sha512 = "524913d7bd13d930501a87e63461233a8afbe5ee8efeabff09a47ce835457dba0b197766bd92e1857c2a2d957e8a37c45819514b06cc9264b6be7a91c4112ce4";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/th/firefox-53.0.3.tar.bz2";
-      locale = "th";
-      arch = "linux-i686";
-      sha512 = "3f56c618b406e8b7a9ad2bc8646bbe3d48d405b5ca960bede132c0b05558a85a09f9054055256a53a4fffdcb7e60a4265aed09522e432b6461581b444b003501";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/tr/firefox-53.0.3.tar.bz2";
-      locale = "tr";
-      arch = "linux-i686";
-      sha512 = "7dafa29e3663967a1fcad46395433d43e523cd48872bcd78292703610d39fd206646809f8126b87436424a3db2666585fabd2d6f8f431ba524217b4086d7ed47";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/uk/firefox-53.0.3.tar.bz2";
-      locale = "uk";
-      arch = "linux-i686";
-      sha512 = "6d304c4f822f650061dff8f41803c30c767a48dd73e8f32e5b164f63d9370243d5954c280ac6a19822b85836b7a0a9202ca1bb892319a51bdee7113cdfc10dbe";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/ur/firefox-53.0.3.tar.bz2";
-      locale = "ur";
-      arch = "linux-i686";
-      sha512 = "9bb203445fbc293a2f972b39569dd31b3b87d5f5e7be4ae5fca946fed828a05ccfe06ddc0ae34401471cc08a907e7ffa336727d25610729470e0842b4680bb1c";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/uz/firefox-53.0.3.tar.bz2";
-      locale = "uz";
-      arch = "linux-i686";
-      sha512 = "71377fb8fda9ca8a0d606ae1944328195fabc51d57923edc9e9bcc10b08859141553c855ecd325fe02cf422a6af2f1a9b104bfbfb7d96399f0d7fbb1ac050bde";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/vi/firefox-53.0.3.tar.bz2";
-      locale = "vi";
-      arch = "linux-i686";
-      sha512 = "a1e62493b7629b5acc950e1f0ed18845d3dec9cf01b561058a9d67e3420418110391f245fc584535c500e8bace53218305a66e60439e781de340f9bac7085f39";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/xh/firefox-53.0.3.tar.bz2";
-      locale = "xh";
-      arch = "linux-i686";
-      sha512 = "948854c1ddd02f6dc0df035156481c66ff66c475988c9555cc2eb79dbebf9134291e4f4624a82e95736f08c1043e2d61077bbadb22b765682ee1a76338209d32";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/zh-CN/firefox-53.0.3.tar.bz2";
-      locale = "zh-CN";
-      arch = "linux-i686";
-      sha512 = "79f2ed7038f129ea81fc20dd41d93b91731a38b0fd984f7ea2354b5d6391fda9301a99df9afc87e2130ffbb72b4efc1ba26678b2d7cf4c274f82407d6265961f";
-    }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/53.0.3/linux-i686/zh-TW/firefox-53.0.3.tar.bz2";
-      locale = "zh-TW";
-      arch = "linux-i686";
-      sha512 = "f8f081aaf28264a566909d36dd63d7bdafecc8b84f2238974eda749fb83c7f90b774d5bd46aba6e8a7e7bd14c57167123eddaf2a28fb83db7c5029cef886ca52";
-    }
-    ];
-}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
index a6cf8c1c1e0..9c29d1288d1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -1,4 +1,5 @@
 { name
+, channel
 , writeScript
 , xidel
 , coreutils
@@ -8,13 +9,19 @@
 , gnupg
 , baseName ? "firefox"
 , basePath ? "pkgs/applications/networking/browsers/firefox-bin"
-, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
 }:
 
 let
-  version = (builtins.parseDrvName name).version;
-  isBeta = builtins.stringLength version + 1 == builtins.stringLength (builtins.replaceStrings ["b"] ["bb"] version);
-in writeScript "update-${baseName}-bin" ''
+
+  baseUrl =
+    if channel == "devedition"
+      then "http://archive.mozilla.org/pub/devedition/releases/"
+      else "http://archive.mozilla.org/pub/firefox/releases/";
+
+  isBeta =
+    channel != "release";
+
+in writeScript "update-${name}" ''
   PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin
   set -eux
   pushd ${basePath}
@@ -80,7 +87,7 @@ in writeScript "update-${baseName}-bin" ''
   }
   EOF
 
-  mv $tmpfile ${if isBeta then "beta_" else ""}sources.nix
+  mv $tmpfile ${channel}_sources.nix
 
   popd
 ''
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index c15e070fefb..bf33595b54c 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -6,10 +6,10 @@ rec {
 
   firefox = common rec {
     pname = "firefox";
-    version = "53.0.3";
+    version = "54.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "cef5de1e9d6ddf6509a80cd30169fdce701b2fed022979ba5931ccea7b8f77cb644b01984dae028d350e32321cfe2eefc0236c0731bf5a2be12a994fc3fc1118";
+      sha512 = "0ff6960804e7f6d3e15faeb14b237fee45acae31b4652a6cc5cafa1a1b1eab3537616c3e8ea6d8f3109c87dcc8f86f0df3da2627903b80061c8a62fb11598ed9";
     };
 
     meta = {
@@ -25,10 +25,10 @@ rec {
 
   firefox-esr = common rec {
     pname = "firefox-esr";
-    version = "52.1.2esr";
+    version = "52.2.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "76362738f6db82a41ff6af4e12a15a302068a5ce10d23739f29375f3279573d0ea43ecee9d2e46fce833a029e437efcfcceab9442c288560f476e0cff2ea9e1d";
+      sha512 = "62a2bd47c9f4b325199b8a0b155a7a412ffbd493e8ca6ff246ade5b10aacea22bc806bc646824059f7c97b71d27e167025c600293c781fbad3fdefb8bbc8d18e";
     };
 
     meta = firefox.meta // {
diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix
index fb4b33ef71a..42f45419198 100644
--- a/pkgs/applications/networking/browsers/lynx/default.nix
+++ b/pkgs/applications/networking/browsers/lynx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, gzip
+{ stdenv, fetchurl, ncurses, gzip, pkgconfig
 , sslSupport ? true, openssl ? null
 }:
 
@@ -13,14 +13,10 @@ stdenv.mkDerivation rec {
     sha256 = "1cqm1i7d209brkrpzaqqf2x951ra3l67dw8x9yg10vz7rpr9441a";
   };
 
-  configureFlags = []
-    ++ stdenv.lib.optionals sslSupport [ "--with-ssl=${openssl.dev}" ];
+  configureFlags = [ "--enable-widec" ] ++ stdenv.lib.optional sslSupport "--with-ssl";
 
-  buildInputs = [ ncurses gzip ];
-
-  crossAttrs = {
-    configureFlags = configureFlags ++ [ "--enable-widec" ];
-  };
+  nativeBuildInputs = stdenv.lib.optional sslSupport pkgconfig;
+  buildInputs = [ ncurses gzip ] ++ stdenv.lib.optional sslSupport openssl.dev;
 
   meta = with stdenv.lib; {
     homepage = http://lynx.isc.org/;
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 69fdb285d6f..5936c86c1cc 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -73,25 +73,25 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
-  version = "25.0.0.171";
+  version = "26.0.0.126";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_npapi_linux_debug.${arch}.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/26/flash_player_npapi_linux_debug.${arch}.tar.gz"
       else
         "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "0rm7kdb8h1pf9z2sl3lv8siyizz3dw4fyfmizn48622nsfh13dzd"
+          "0i5rr8bymbdzwqpns854i2r9390av89v1ikh8msincczq5vpj012"
         else
-          "1akvvya0jn708ifmrf4pbpp3dpi10i3mgyld46275lcwpz8xhyw5"
+          "1mzq3wvq6rxqfdlapd0b1ymw7389414jxwhkd6wk3677qdhr1y42"
       else
         if arch == "x86_64" then
-          "1r6cr00ax590jgjfp20wya67gkpw6cw0dgb9ixvlxnld4wi4mzk0"
+          "0684kizzfwfzaj0i54cdlkx3fqb3kyhb9jw88n031bjrzv7ddiz7"
         else
-          "1x326qihprq59s70szf0yh96p78mbnkw41lhar71128nv91mnfc3";
+          "1pn15wnldabacmahlqdsl8nd60982j77bghjlf2cdc7drysby3ns";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 94f6d8bf26c..e29af0eaf4e 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -55,19 +55,19 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-standalone-${version}";
-  version = "25.0.0.171";
+  version = "26.0.0.126";
 
   src = fetchurl {
     url =
       if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_sa_linux_debug.x86_64.tar.gz"
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/26/flash_player_sa_linux_debug.x86_64.tar.gz"
       else
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_sa_linux.x86_64.tar.gz";
+        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/26/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "1llvglydsqp5r9f903bzn8i09zg6rcka7lzxlhb8xi0gbw4imsv2"
+        "17s55b1ncjj0hnldjmxm133z0i4jf49wbh4sn1cfwrw6xrhgbkiw"
       else
-        "1sx20mgja17hi6zp5ygqg4sklp5h0h55j3jw5b759j9c2x1frq5g";
+        "02j98ji2jw2sxrs9hhlkkdrhpf2c4hc336cfvqzdf1iajza5was8";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 4443c848066..09ca83b5acd 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -6,7 +6,6 @@
 , zlib
 
 # libxul run-time dependencies
-, alsaLib
 , atk
 , cairo
 , dbus
@@ -16,14 +15,15 @@
 , gdk_pixbuf
 , glib
 , gtk2
+, libxcb
 , libX11
 , libXext
 , libXrender
 , libXt
 , pango
 
-# Pulseaudio support
-, pulseaudioSupport ? mediaSupport
+, audioSupport ? mediaSupport
+, pulseaudioSupport ? audioSupport
 , libpulseaudio
 
 # Media support (implies pulseaudio support)
@@ -43,7 +43,6 @@ with stdenv.lib;
 
 let
   libPath = makeLibraryPath ([
-    alsaLib
     atk
     cairo
     dbus
@@ -53,6 +52,7 @@ let
     gdk_pixbuf
     glib
     gtk2
+    libxcb
     libX11
     libXext
     libXrender
@@ -81,19 +81,25 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "6.5.2";
+  version = "7.0.1";
 
   lang = "en-US";
 
   srcs = {
     "x86_64-linux" = fetchurl {
-      url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "0jn98arczlgjigpmql1qg5b7izabv4zy4mji6vvcg3b8g1ma108r";
+      urls = [
+        "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
+        "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
+      ];
+      sha256 = "1zmczf1bpbd85zcrs5qw91d1xmplikbna5xs053jnjl6pbbq1fs9";
     };
 
     "i686-linux" = fetchurl {
-      url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "0micxgkbys0py4bj6csbc8xz4gq0x5v2zirgi38krnm5x5riqj3w";
+      urls = [
+        "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
+        "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
+      ];
+      sha256 = "0mdlgmqkryg0i55jgf3x1nnjni0x45g1xcjwsfacsck3m70v4flq";
     };
   };
 in
@@ -105,6 +111,7 @@ stdenv.mkDerivation rec {
   src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
 
   preferLocalBuild = true;
+  allowSubstitutes = false;
 
   desktopItem = makeDesktopItem {
     name = "torbrowser";
diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix
index 188ccdd71d4..e7aa7bb6728 100644
--- a/pkgs/applications/networking/c14/default.nix
+++ b/pkgs/applications/networking/c14/default.nix
@@ -1,15 +1,17 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "c14-cli-2016-09-09";
+  name = "c14-cli-unstable-${version}";
+  version = "2017-05-15";
+  rev = "97f437ef5133f73edd551c883db3076c76cb1f6b";
+
   goPackagePath = "github.com/online-net/c14-cli";
-  subPackages = [ "cmd/c14" ];
 
   src = fetchFromGitHub {
     owner = "online-net";
     repo = "c14-cli";
-    rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
-    sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
+    inherit rev;
+    sha256 = "1b44bh0zhh6rhw4d3nprnnxhjgaskl9kzp2cvwwyli5svhjxrfdj";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/c14/deps.nix b/pkgs/applications/networking/c14/deps.nix
index 60b6b738438..fe51488c706 100644
--- a/pkgs/applications/networking/c14/deps.nix
+++ b/pkgs/applications/networking/c14/deps.nix
@@ -1,65 +1 @@
-[
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "6d212800a42e8ab5c146b8ace3490ee17e5225f9";
-      sha256 = "01i0n1s4j7khb7n6mz2wymniz37q0vbzkgfv7rbi6p9hpg227q93";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "87d4004f2ab62d0d255e0a38f1680aa534549fe3";
-      sha256 = "0d51avdl4z38f7jd8qmzrzyh4gxkcjpxd0vvma9zfqhmqy15jqhb";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "ed8eb9e318d7a84ce5915b495b7d35e0cfe7b5a8";
-      sha256 = "034fhyqmiqmn0v9gdbdmm0ca5d0pki2q1ch1rd34p9kh9574mjyq";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8";
-      sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5";
-    };
-  }
-  {
-    goPackagePath = "github.com/online-net/c14-cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/online-net/c14-cli";
-      rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
-      sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "792786c7400a136282c1664665ae0a8db921c6c2";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "d77da356e56a7428ad25149ca77381849a6a5232";
-      sha256 = "11id286pkzyswxcx2xz6185fzh0nz6yzkk055dd6z02gvinl6pqa";
-    };
-  }
-]
+[]
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 8268b3baa98..19b6c030f2e 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -34,6 +34,10 @@ stdenv.mkDerivation {
     tar -xvzf $src
     cp ${arch}/helm $out/bin/${pname}
     chmod +x $out/bin/${pname}
+    mkdir -p $out/share/bash-completion/completions
+    mkdir -p $out/share/zsh/site-functions
+    $out/bin/helm completion bash > $out/share/bash-completion/completions/helm
+    $out/bin/helm completion zsh > $out/share/zsh/site-functions/_helm
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index ea25fa6ccb5..aaade82e31d 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -2,24 +2,37 @@
 
 buildGoPackage rec {
   name = "kops-${version}";
-  version = "1.4.0";
-  rev = "v${version}";
+  version = "1.6.0";
 
   goPackagePath = "k8s.io/kops";
 
   src = fetchFromGitHub {
-    inherit rev;
+    rev = version;
     owner = "kubernetes";
     repo = "kops";
-    sha256 = "1jwgn7l8c639j5annwymqjdw5mcajwn58y21042jy5lhgdh8pdf5";
+    sha256 = "1z890kjgsdnghg71v4sp7lljvw14dhzr23m2qjmk6wndyssscykr";
   };
 
   buildInputs = [go-bindata];
   subPackages = ["cmd/kops"];
 
+  buildFlagsArray = ''
+    -ldflags=
+        -X k8s.io/kops.Version=${version}
+        -X k8s.io/kops.GitVersion=${version}
+  '';
+
   preBuild = ''
     (cd go/src/k8s.io/kops
-     go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...)
+     go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...
+     go-bindata -o federation/model/bindata.go -pkg model -prefix federation/model federation/model/...)
+  '';
+
+  postInstall = ''
+    mkdir -p $bin/share/bash-completion/completions
+    mkdir -p $bin/share/zsh/site-functions
+    $bin/bin/kops completion bash > $bin/share/bash-completion/completions/kops
+    $bin/bin/kops completion zsh > $bin/share/zsh/site-functions/_kops
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix
index a0df23e6f62..c276c2e752f 100644
--- a/pkgs/applications/networking/cluster/pachyderm/default.nix
+++ b/pkgs/applications/networking/cluster/pachyderm/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "pachyderm-${version}";
-  version = "1.3.0";
+  version = "1.4.6";
   rev = "v${version}";
 
   goPackagePath = "github.com/pachyderm/pachyderm";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "pachyderm";
     repo = "pachyderm";
-    sha256 = "0y25xh6h7p8hg0bzrjlschmz62r6dwh5mrvbnni1hb1pm0w9jb6g";
+    sha256 = "1fivihn9s04lmzdiwg0f05qm708fb14xy81pbc31wxdyjw28m8ns";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index c89f871b1c5..0173a898575 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -48,13 +48,9 @@ in {
     sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb";
   };
 
-  terraform_0_9_4 = generic {
-    version   = "0.9.4";
-    sha256    = "07vcmjyl0y48hm5lqqzdd51hmrxapvywzbdkg5f3rcqd7dn9c2xs";
-    postPatch = ''
-      rm builtin/providers/dns/data_dns_cname_record_set_test.go
-      rm builtin/providers/vsphere/resource_vsphere_file_test.go
-    '';
-    doCheck   = true;
+  terraform_0_9_6 = generic {
+    version = "0.9.6";
+    sha256 = "1f6z1zkklzpqgc7akgdz1g306ccmhni5lmg7i6g762n3qai60bnv";
+    doCheck = true;
   };
 }
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index b894322062f..12ed28979d2 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 = "26.4.24";
+  version = "28.4.14";
   sha256 =
     {
-      "x86_64-linux" = "1qzz88d3akbqfk1539w2z0ldyjjscqjqgsvadf9i4xr2y0syfv4y";
-      "i686-linux"   = "12xwmmycrg56xl88k9pqd7mcn0jqi4jijf36vn4fdjvmn7ksskcw";
+      "x86_64-linux" = "02pfly33bg85c8y3igvkhyshra8ra089ghjibhzl1a4fmd45wf52";
+      "i686-linux"   = "10swkjbzkyf19cilzw7ja6byla4dllr52pbz19wjzb8rv088gcla";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
new file mode 100644
index 00000000000..a9e3c1d74e2
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, qmakeHook, qtwebengine, qttools, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  name = "rssguard-${version}";
+  version = "3.4.0";
+
+  src = fetchgit {
+    url = https://github.com/martinrotter/rssguard;
+    rev = "refs/tags/${version}";
+    sha256 = "1cdpfjj2lm1q2qh0w0mh505blcmi4n78458d3z3c1zn9ls9b9zsp";
+    fetchSubmodules = true;
+  };
+
+  buildInputs =  [ qtwebengine qttools ];
+  nativeBuildInputs = [ qmakeHook wrapGAppsHook ];
+  qmakeFlags = [ "CONFIG+=release" ];
+
+  meta = with stdenv.lib; {
+    description = "Simple RSS/Atom feed reader with online synchronization";
+    longDescription = ''
+      RSS Guard is a simple, light and easy-to-use RSS/ATOM feed aggregator
+      developed using Qt framework and with online feed synchronization support
+      for ownCloud/Nextcloud.
+    '';
+    homepage = https://github.com/martinrotter/rssguard;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index cdb9c142da6..94adef2dda8 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -13,13 +13,13 @@
  }:
 
 stdenv.mkDerivation rec {
-  name = "dino-unstable-2017-05-11";
+  name = "dino-unstable-2017-05-31";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
-    rev = "b09a056a13de131a4f2f072ffa2f795a0bb2abe7";
-    sha256 = "1dis1kgaqb1925anmxlcy9n722zzyn5wvq8lmczi6h2h3j7wnnmz";
+    rev = "2480c1ec26a8e0ccef3ea76e3c29566221405ffb";
+    sha256 = "0wdjj38gbr2j6yklna3pd8nsfpdfp1j936dy8s49pzayw4pxs2g2";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 1228804f5b9..a21a82848e0 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -25,13 +25,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gajim-${version}";
-  version = "0.16.7";
+  version = "0.16.8";
 
   src = fetchurl {
     name = "${name}.tar.bz2";
     url = "https://dev.gajim.org/gajim/gajim/repository/archive.tar.bz2?"
         + "ref=${name}";
-    sha256 = "18srrsswq09i54gcqqy0ylmrix1rrq43f0b8sz1lijr39h3ayw3j";
+    sha256 = "009cpzqh4zy7hc9pq3r5m4lgagwawhjab13rjzavb0n9ggijcscb";
   };
 
   patches = let
@@ -42,11 +42,12 @@ stdenv.mkDerivation rec {
       #  sha256 = "<replace-with-sha256>";
       #};
     };
-  in mapAttrsToList (name: { rev, sha256 }: fetchurl {
+  in (mapAttrsToList (name: { rev, sha256 }: fetchurl {
     name = "gajim-${name}.patch";
     url = "https://dev.gajim.org/gajim/gajim/commit/${rev}.diff";
     inherit sha256;
-  }) cherries;
+  }) cherries)
+    ++ [./fix-tests.patch]; # https://dev.gajim.org/gajim/gajim/issues/8660
 
   postPatch = ''
     sed -i -e '0,/^[^#]/ {
diff --git a/pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch b/pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch
new file mode 100644
index 00000000000..cb866bb2d73
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common/gajim.py b/src/common/gajim.py
+index 4a5d884b6..95d401b67 100644
+--- a/src/common/gajim.py
++++ b/src/common/gajim.py
+@@ -415,7 +415,7 @@ def get_jid_from_account(account_name, full=False):
+     jid = name + '@' + hostname
+     if full:
+         resource = connections[account_name].server_resource
+-        jid += '/' + resource
++        jid += '/' + str(resource)
+     return jid
+ 
+ def get_our_jids():
diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix
index 25d71fa8859..a9cb3f09bce 100644
--- a/pkgs/applications/networking/instant-messengers/jackline/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix
@@ -3,18 +3,16 @@
 assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
 
 stdenv.mkDerivation rec {
-  version = "2016-11-18";
+  version = "2017-05-21";
   name = "jackline-${version}";
 
   src = fetchFromGitHub {
     owner  = "hannesm";
     repo   = "jackline";
-    rev    = "cab34acab004023911997ec9aee8b00a976af7e4";
-    sha256 = "0h7wdsic4v6ys130w61zvxm5s2vc7y574hn7zby12rq88lhhrjh7";
+    rev    = "0a1e4ea23245633fe23edf09b2309659a1bc3649";
+    sha256 = "1wnmwsp3a5nh3qs4h9grrdsvv0i3p419cfmhrrql3lj2x3ngdw82";
   };
 
-  patches = [ ./uchar.patch ];
-
   buildInputs = with ocamlPackages; [
                   ocaml ocamlbuild findlib topkg ppx_sexp_conv
                   erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
diff --git a/pkgs/applications/networking/instant-messengers/jackline/uchar.patch b/pkgs/applications/networking/instant-messengers/jackline/uchar.patch
deleted file mode 100644
index f861135090e..00000000000
--- a/pkgs/applications/networking/instant-messengers/jackline/uchar.patch
+++ /dev/null
@@ -1,302 +0,0 @@
-diff --git a/_tags b/_tags
-index 88318d9..b433ee8 100644
---- a/_tags
-+++ b/_tags
-@@ -7,9 +7,11 @@ true : package(sexplib astring)
- 
- <src/xconfig.ml>: package(otr ppx_sexp_conv)
- <src/utils.ml>: package(uutf)
-+<src/muc.ml>: package(uchar)
-+<src/contact.mli>: package(uchar)
- <src/persistency.ml>: package(lwt nocrypto)
- <src/xjid.{ml,mli}>: package(ppx_sexp_conv erm_xmpp)
--<src/user.{ml,mli}>: package(ppx_sexp_conv otr hex ptime ptime.clock.os)
-+<src/user.{ml,mli}>: package(uchar ppx_sexp_conv otr hex ptime ptime.clock.os)
- <src/xmpp_callbacks.ml>: package(erm_xmpp lwt tls tls.lwt ptime)
- <src/xmpp_connection.ml>: package(erm_xmpp lwt tls tls.lwt)
- 
-@@ -18,6 +20,6 @@ true : package(sexplib astring)
- <cli/cli_input.ml>: package(notty lwt erm_xmpp otr)
- <cli/cli_commands.ml>: package(lwt otr erm_xmpp)
- <cli/cli_config.ml>: package(lwt nocrypto otr notty tls.lwt x509)
--<cli/cli_state.ml>: package(hex lwt nocrypto erm_xmpp tls.lwt x509)
-+<cli/cli_state.ml>: package(uchar hex lwt nocrypto erm_xmpp tls.lwt x509)
- 
- <bin/jackline.{ml,byte,native}>: package(erm_xmpp hex lwt notty notty.lwt nocrypto otr sexplib tls tls.lwt ptime ptime.clock.os)
-diff --git a/cli/cli_config.ml b/cli/cli_config.ml
-index 618d655..dac6e68 100644
---- a/cli/cli_config.ml
-+++ b/cli/cli_config.ml
-@@ -34,7 +34,7 @@ let rewrap term above below (prefix, inp, inp2) (width, _) =
-     let height = if col mod width = 0 then succ h else h in
-     (succ (col mod width), height)
-   in
--  Notty_lwt.Term.cursor term (Some (col, row))
-+  Notty_lwt.Term.cursor term (Some (col - 1, row - 1))
- 
- let read_line ?(above = []) ?(prefix = "") ?default ?(below = []) term =
-   let rec go (pre, post) =
-@@ -56,8 +56,8 @@ let read_line ?(above = []) ?(prefix = "") ?default ?(below = []) term =
-       | `Unhandled k ->
-         match k with
-         | `Key (`Enter, []) -> Lwt.return (char_list_to_str (pre @ post))
--        | `Key (`Uchar 0x43, [`Ctrl]) -> Lwt.fail (Invalid_argument "Ctrl-c")
--        | `Key (`Uchar 0x44, [`Ctrl]) -> Lwt.fail (Invalid_argument "Ctrl-d")
-+        | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x43 -> Lwt.fail (Invalid_argument "Ctrl-c")
-+        | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x44 -> Lwt.fail (Invalid_argument "Ctrl-d")
-         | _ -> go (pre, post)
-   in
-   let pre = Utils.option [] str_to_char_list default in
-@@ -180,7 +180,7 @@ let configure term () =
-     let pw = "Password: " in
-     let chars = match password with
-       | None -> I.string A.empty "will be asked at startup"
--      | Some _ -> I.uchar A.empty 0x2605 5 1
-+      | Some _ -> I.uchar A.empty (Uchar.of_int 0x2605) 5 1
-     in
-     above @ [I.(string A.empty pw <|> chars)]
-   in
-diff --git a/cli/cli_input.ml b/cli/cli_input.ml
-index 34b4288..07488f2 100644
---- a/cli/cli_input.ml
-+++ b/cli/cli_input.ml
-@@ -314,19 +314,19 @@ let read_terminal term mvar input_mvar () =
-           | `Key (`Arrow `Up, []) -> p (fun s -> ok (history s Up)) >>= fun () -> loop ()
-           | `Key (`Arrow `Down, []) -> p (fun s -> ok (history s Down)) >>= fun () -> loop ()
- 
--          | `Key (`Uchar 0x44, [`Ctrl]) (* C-d *) -> p (fun s -> Lwt.return (`Quit s))
-+          | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x44 (* C-d *) -> p (fun s -> Lwt.return (`Quit s))
- 
-           (* UI navigation and toggles *)
-           | `Key (`Page `Up, []) -> p (fun s -> ok (navigate_buddy_list s Up)) >>= fun () -> loop ()
-           | `Key (`Page `Down, []) -> p (fun s -> ok (navigate_buddy_list s Down)) >>= fun () -> loop ()
- 
-           | `Key (`Page `Up, [`Ctrl]) -> p (fun s -> ok (navigate_message_buffer s Up)) >>= fun () -> loop ()
--          | `Key (`Uchar 0x50, [`Ctrl]) (* C-p *) -> p (fun s -> ok (navigate_message_buffer s Up)) >>= fun () -> loop ()
-+          | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x50 (* C-p *) -> p (fun s -> ok (navigate_message_buffer s Up)) >>= fun () -> loop ()
-           | `Key (`Page `Down, [`Ctrl]) -> p (fun s -> ok (navigate_message_buffer s Down)) >>= fun () -> loop ()
--          | `Key (`Uchar 0x4E, [`Ctrl]) (* C-n *) -> p (fun s -> ok (navigate_message_buffer s Down)) >>= fun () -> loop ()
-+          | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x4E (* C-n *) -> p (fun s -> ok (navigate_message_buffer s Down)) >>= fun () -> loop ()
- 
--          | `Key (`Uchar 0x58, [`Ctrl]) (* C-x *) -> p (fun s -> ok (activate_contact s s.last_active_contact)) >>= fun () -> loop ()
--          | `Key (`Uchar 0x51, [`Ctrl]) (* C-q *) ->
-+          | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x58 (* C-x *) -> p (fun s -> ok (activate_contact s s.last_active_contact)) >>= fun () -> loop ()
-+          | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x51 (* C-q *) ->
-             let handle s =
-               let s = match List.rev s.notifications with
-                 | x::_ -> activate_contact s x
-diff --git a/cli/cli_state.ml b/cli/cli_state.ml
-index 5603cfe..ee320ce 100644
---- a/cli/cli_state.ml
-+++ b/cli/cli_state.ml
-@@ -24,7 +24,7 @@ type connect_v =
-   | Reconnect
-   | Presence of (User.presence * string option * int option)
- 
--type input = int list * int list
-+type input = Uchar.t list * Uchar.t list
- 
- type state = {
-   (* set only initially *)
-diff --git a/cli/cli_support.ml b/cli/cli_support.ml
-index 1c54df6..8275c38 100644
---- a/cli/cli_support.ml
-+++ b/cli/cli_support.ml
-@@ -4,17 +4,17 @@ open Notty
- module Char = struct
-   let hdash a w =
-     if !Utils.unicode then
--      I.uchar a 0x2500 w 1
-+      I.uchar a (Uchar.of_int 0x2500) w 1
-     else
-       I.char a '-' w 1
-   and vdash a h =
-     if !Utils.unicode then
--      I.uchar a 0x2502 1 h
-+      I.uchar a (Uchar.of_int 0x2502) 1 h
-     else
-       I.char a '|' 1 h
-   and star a w =
-     if !Utils.unicode then
--      I.uchar a 0x2605 w 1
-+      I.uchar a (Uchar.of_int 0x2605) w 1
-     else
-       I.char a '*' w 1
- end
-@@ -186,8 +186,8 @@ let v_center left right width =
-   and rw = I.width right
-   in
-   match rw, lw >= width with
--  | 0, true -> (I.hcrop (lw - width + 1) 0 left, width)
--  | 0, false -> (left, succ lw)
-+  | 0, true -> (I.hcrop (lw - width + 1) 0 left, width - 1)
-+  | 0, false -> (left, lw)
-   | _, _ ->
-     if lw + rw >= width then
-       let leftw = min (max (width - rw) (width / 2)) lw in
-@@ -195,11 +195,11 @@ let v_center left right width =
-       let l = I.hcrop (lw - leftw) 0 left
-       and r = I.hcrop 0 (rw - rightw) right
-       in
--      (I.(l <|> r), succ leftw)
-+      (I.(l <|> r), leftw)
-     else
--      (I.(left <|> right), succ lw)
-+      (I.(left <|> right), lw)
- 
--let str_to_char_list str : int list =
-+let str_to_char_list str : Uchar.t list =
-   let open Uutf in
-   List.rev (String.fold_utf_8 (fun acc _ -> function `Uchar i -> i :: acc | `Malformed _ -> acc) [] str)
- 
-@@ -236,22 +236,26 @@ let readline_input = function
-   | k -> `Unhandled k
- 
- let emacs_bindings = function
--  | `Key (`Uchar 0x41, [`Ctrl]) (* C-a *) -> `Ok (fun (pre, post) -> ([], pre @ post))
--  | `Key (`Uchar 0x45, [`Ctrl]) (* C-e *) -> `Ok (fun (pre, post) -> (pre @ post, []))
-+  | `Key (`Uchar u, [`Ctrl]) as k ->
-+    begin match Uchar.to_int u with
-+    | 0x41 (* C-a *) -> `Ok (fun (pre, post) -> ([], pre @ post))
-+    | 0x45 (* C-e *) -> `Ok (fun (pre, post) -> (pre @ post, []))
- 
--  | `Key (`Uchar 0x4b, [`Ctrl]) (* C-k *) -> `Ok (fun (pre, _) -> (pre, []))
--  | `Key (`Uchar 0x55, [`Ctrl]) (* C-u *) -> `Ok (fun (_, post) -> ([], post))
-+    | 0x4b (* C-k *) -> `Ok (fun (pre, _) -> (pre, []))
-+    | 0x55 (* C-u *) -> `Ok (fun (_, post) -> ([], post))
- 
--  | `Key (`Uchar 0x46, [`Ctrl]) (* C-f *) ->
-+    | 0x46 (* C-f *) ->
-     `Ok (fun (pre, post) ->
-         match post with
-         | [] -> (pre, post)
-         | hd::tl -> (pre @ [hd], tl))
--  | `Key (`Uchar 0x42, [`Ctrl]) (* C-b *) ->
-+    | 0x42 (* C-b *) ->
-     `Ok (fun (pre, post) ->
-         match List.rev pre with
-         | [] -> ([], post)
-         | hd::tl -> (List.rev tl, hd :: post))
-+    | _ -> `Unhandled k
-+    end
- 
-   | `Key (`Arrow `Left, [`Ctrl]) ->
-     `Ok (fun (pre, post) ->
-diff --git a/src/contact.mli b/src/contact.mli
-index 6926296..d6c795b 100644
---- a/src/contact.mli
-+++ b/src/contact.mli
-@@ -8,7 +8,7 @@ val bare : contact -> Xjid.bare_jid
- val preserve_messages : contact -> bool
- val expanded : contact -> bool
- val messages : contact -> User.message list
--val input_buffer : contact -> (int list * int list)
-+val input_buffer : contact -> (Uchar.t list * Uchar.t list)
- 
- val readline_history : contact -> string list
- val add_readline_history : contact -> string -> contact
-@@ -18,7 +18,7 @@ val set_history_position : contact -> int -> contact
- val received : contact -> string -> contact
- 
- val expand : contact -> contact
--val set_input_buffer : contact -> (int list * int list) -> contact
-+val set_input_buffer : contact -> (Uchar.t list * Uchar.t list) -> contact
- val set_preserve_messages : contact -> bool -> contact
- 
- val reset : contact -> contact
-diff --git a/src/muc.ml b/src/muc.ml
-index 1c98037..3293541 100644
---- a/src/muc.ml
-+++ b/src/muc.ml
-@@ -132,7 +132,7 @@ type groupchat = {
-   expand : bool ;
-   preserve_messages : bool ;
-   message_history : User.message list ; (* persistent if preserve_messages *)
--  input_buffer : (int list * int list) ;
-+  input_buffer : (Uchar.t list * Uchar.t list) ;
-   readline_history : string list ;
-   history_position : int ;
-   autojoin : bool ;
-diff --git a/src/user.ml b/src/user.ml
-index d039278..42a8c47 100644
---- a/src/user.ml
-+++ b/src/user.ml
-@@ -229,7 +229,7 @@ type user = {
-   properties        : property list ;
-   preserve_messages : bool ;
-   message_history   : message list ; (* persistent if preserve_messages is true *)
--  input_buffer: (int list * int list) ; (* not persistent *)
-+  input_buffer: (Uchar.t list * Uchar.t list) ; (* not persistent *)
-   readline_history  : string list ; (* not persistent *)
-   history_position  : int ; (* not persistent *)
-   otr_fingerprints  : fingerprint list ;
-diff --git a/src/user.mli b/src/user.mli
-index 52b503d..5ce41be 100644
---- a/src/user.mli
-+++ b/src/user.mli
-@@ -118,7 +118,7 @@ type user = {
-   properties        : property list ;
-   preserve_messages : bool ;
-   message_history   : message list ; (* persistent if preserve_messages is true *)
--  input_buffer: (int list * int list) ; (* not persistent *)
-+  input_buffer: (Uchar.t list * Uchar.t list) ; (* not persistent *)
-   readline_history  : string list ; (* not persistent *)
-   history_position  : int ;
-   otr_fingerprints  : fingerprint list ;
-diff --git a/src/utils.ml b/src/utils.ml
-index 0b4a3a7..cd9cb10 100644
---- a/src/utils.ml
-+++ b/src/utils.ml
-@@ -30,31 +30,33 @@ let validate_utf8 txt =
-   let rec loop d buf = match Uutf.decode d with
-     | `Await -> Buffer.contents buf
-     | `End -> Buffer.contents buf
--    | `Malformed _ -> if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD; loop d buf
--    | `Uchar 0x000A -> (* newline *) Uutf.Buffer.add_utf_8 buf 0x000A ; loop d buf
--    | `Uchar 0x0009 -> (* tab -> 4 spaces *) Uutf.Buffer.add_utf_8 buf 0x0020 ; Uutf.Buffer.add_utf_8 buf 0x0020 ; Uutf.Buffer.add_utf_8 buf 0x0020 ; Uutf.Buffer.add_utf_8 buf 0x0020 ; loop d buf
--    | `Uchar 0x007F (* DEL *)
-+    | `Malformed _ -> if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD); loop d buf
-+    | `Uchar u ->
-+      match Uchar.to_int u with
-+      | 0x000A -> (* newline *) Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x000A) ; loop d buf
-+      | 0x0009 -> (* tab -> 4 spaces *) Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; loop d buf
-+      | 0x007F (* DEL *)
-     (* See https://en.wikipedia.org/wiki/Unicode_control_characters / https://en.wikipedia.org/wiki/Bi-directional_text *)
--    | `Uchar 0x200E | `Uchar 0x200F (* left-to-right / right-to-left *)
--    | `Uchar 0x202A | `Uchar 0x202D (* left-to-right embedding / override *)
--    | `Uchar 0x202B | `Uchar 0x202E (* right-to-left embedding / override *)
--    | `Uchar 0x202C  (* pop directional format *)
--    | `Uchar 0x2066 | `Uchar 0x2067 (* l-t-r isolate r-t-l isolate *)
--    | `Uchar 0x2068 | `Uchar 0x2069 (* first strong isolate / pop directional isolate *)
--    | `Uchar 0x2028 | `Uchar 0x2029 (* line separator / page separator *) ->
--      if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD ; loop d buf
--    | `Uchar x when x < 0x20 ->
-+      | 0x200E | 0x200F (* left-to-right / right-to-left *)
-+      | 0x202A | 0x202D (* left-to-right embedding / override *)
-+      | 0x202B | 0x202E (* right-to-left embedding / override *)
-+      | 0x202C  (* pop directional format *)
-+      | 0x2066 | 0x2067 (* l-t-r isolate r-t-l isolate *)
-+      | 0x2068 | 0x2069 (* first strong isolate / pop directional isolate *)
-+      | 0x2028 | 0x2029 (* line separator / page separator *) ->
-+      if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD) ; loop d buf
-+      | x when x < 0x20 ->
-       (* other control characters *)
--      if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD ; loop d buf
--    | `Uchar x when x >= 0x0080 && x <= 0x009F ->
-+      if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD) ; loop d buf
-+      | x when x >= 0x0080 && x <= 0x009F ->
-       (* ctrl chars used in conjunction with ISO 8859 character sets (C0/C1) *)
--      if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD ; loop d buf
-+      if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD) ; loop d buf
- 
--    | `Uchar x ->
-+      | x ->
-       let c = if !unicode then x else if x > 0xff then 0x3f else x in
--      Uutf.Buffer.add_utf_8 buf c ; loop d buf
-+      Uutf.Buffer.add_utf_8 buf (Uchar.of_int c) ; loop d buf
-   in
--  let nln = `Readline 0x000A in
-+  let nln = `Readline (Uchar.of_int 0x000A) in
-   loop (Uutf.decoder ~nln ~encoding:`UTF_8 (`String txt)) (Buffer.create (String.length txt))
- 
- let version = "%%VERSION_NUM%%"
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index 32f4f8f32b3..e1a068393b1 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -3,10 +3,12 @@
 
 , autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
 , notifySupport ? false,   libnotify ? null, gdk_pixbuf ? null
+, traySupport ? false,     gnome2 ? null
 }:
 
 assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
 assert notifySupport   -> libnotify != null && gdk_pixbuf != null;
+assert traySupport     -> gnome2 != null;
 
 with stdenv.lib;
 
@@ -23,7 +25,8 @@ stdenv.mkDerivation rec {
     pkgconfig readline libuuid libmesode
     glib openssl expat ncurses libotr curl
   ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
-    ++ optionals notifySupport   [ libnotify gdk_pixbuf ];
+    ++ optionals notifySupport   [ libnotify gdk_pixbuf ]
+    ++ optionals traySupport     [ gnome2.gtk ];
 
   meta = {
     description = "A console based XMPP client";
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index bb5e26f3310..d1773456df2 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "qtox-${version}";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner  = "tux3";
     repo   = "qTox";
     rev    = "v${version}";
-    sha256 = "1c5y7fwhsq1f6z8208xl1jd6bl1r6k8g0fjqxf0z10373c9395jq";
+    sha256 = "0c2633rc9l73q9qs9hybn11hmlqbwsvih3sf6jk1jp4151k5wp1y";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index f3212ea9b77..8f650e889f6 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -6,7 +6,7 @@ let
   bits = if stdenv.system == "x86_64-linux" then "x64"
          else "ia32";
 
-  version = "0.5.3";
+  version = "0.5.9";
 
   myIcon = fetchurl {
     url = "https://raw.githubusercontent.com/saenzramiro/rambox/9e4444e6297dd35743b79fe23f8d451a104028d5/resources/Icon.png";
@@ -25,8 +25,8 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/saenzramiro/rambox/releases/download/${version}/Rambox-${version}-${bits}.tar.gz";
     sha256 = if bits == "x64" then
-      "14pp466l0fj98p5qsb7i11hd603gwsir26m3j4gljzcizb9hirqv" else
-      "13xmljsdahffdzndg30qxh8mj7bgd9jwkxknrvlh3l6w35pbj085";
+      "0wx1cj3h1h28lhvl8ysmvr2wxq39lklk37361i598vph2pvnibi0" else
+      "1dqjd5rmml63h3y43n1r68il3pn8zwy0wwr0866cnpizsbis96fy";
   };
 
   # don't remove runtime deps
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
 
   deps = (with xorg; [
     libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
-    libXrender libX11 libXtst libXScrnSaver
+    libXrender libX11 libXtst libXScrnSaver libxcb
   ]) ++ [
     gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
     gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc
diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
index d9a3dfc690d..9d2de536dbf 100644
--- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
+++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
@@ -1,14 +1,12 @@
-{ stdenv, fetchgit, python3Packages }:
+{ stdenv, fetchurl, python3Packages }:
 
-python3Packages.buildPythonPackage {
-  name = "scudcloud-1.44";
+let version = "1.58";
+in python3Packages.buildPythonPackage {
+  name = "scudcloud-${version}";
 
-  # Branch 254-port-to-qt5
-  # https://github.com/raelgc/scudcloud/commit/65c304416dfdd5f456fa6f7301432a953d5e12d0
-  src = fetchgit {
-      url = https://github.com/raelgc/scudcloud/;
-      rev = "65c304416dfdd5f456fa6f7301432a953d5e12d0";
-      sha256 = "0h1055y88kldqw31ayqfx9zsksgxsyqd8h0hwnhj80yn3jcx0rp6";
+  src = fetchurl {
+    url = "https://github.com/raelgc/scudcloud/archive/v${version}.tar.gz";
+    sha256 = "1j84qdc2j3dvl1nhrjqm0blc8ww723p9a6hqprkkp8alw77myq1l";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index aa89e802cb2..9bad366b8ef 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "5.2.0.1";
+  version = "5.3.0.1";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -24,7 +24,7 @@ let
     gnome2.pango
 
     gnome2.gnome_keyring
-    
+
     libnotify
     nspr
     nss
@@ -49,8 +49,8 @@ let
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_5.2.0.1_amd64.deb";
-        sha256 = "1dwyj5wm2amkysbnzxsskq6sl7rbqggm6n4sabnq7wd5xnbq4i06";
+        url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
+        sha256 = "08sf9nqnznsydw4965w7ixwwba54hjc02ga7vcnz9vpx5hln3nrz";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index c0d50a86c71..edd66bd900b 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, dpkg
-, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib, gnome2
-, libnotify, nspr, nss, systemd, xorg }:
+, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
+, gnome2, libnotify, libxcb, nspr, nss, systemd, xorg }:
 
 let
 
-  version = "2.5.2";
+  version = "2.6.2";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -22,6 +22,7 @@ let
     gnome2.gtk
     gnome2.pango
     libnotify
+    libxcb
     nspr
     nss
     stdenv.cc.cc
@@ -45,7 +46,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "0mg8js18lnnwyvqksrhpym7d04bin16bh7sdmxbm36iijb9ajxmi";
+        sha256 = "01zdzzpnv8qpmcpy6h9x7izrnwm0y015j5p5rnjwx8ki712wnmm8";
       }
     else
       throw "Slack is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 36a91716f5e..efafbd9050c 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype
-, xorg, fontconfig, qtbase, xkeyboard_config, alsaLib, libpulseaudio ? null
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl
+, xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, xkeyboard_config, alsaLib, libpulseaudio ? null
 , libredirect, quazip, less, which, unzip, llvmPackages
 }:
 
@@ -10,10 +10,10 @@ let
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
   deps =
-    [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender
+    [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl
       xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
-      xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qtbase libpulseaudio
-      llvmPackages.libcxx llvmPackages.libcxxabi
+      xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qtbase qtwebengine qtwebchannel libpulseaudio
+      quazip llvmPackages.libcxx llvmPackages.libcxxabi
     ];
 
   desktopItem = makeDesktopItem {
@@ -31,7 +31,7 @@ in
 stdenv.mkDerivation rec {
   name = "teamspeak-client-${version}";
 
-  version = "3.0.19.4";
+  version = "3.1.4";
 
   src = fetchurl {
     urls = [
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
       "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
     ];
     sha256 = if stdenv.is64bit
-                then "f74617d2a2f5cb78e0ead345e6ee66c93e4a251355779018fd060828e212294a"
-                else "e11467dc1732ddc21ec0d86c2853c322af7a6b8307e3e8dfebc6b4b4d7404841";
+                then "337aec99070366aa3bb82b1bedd8215372b9c74014b198d45d5d6375d1f1c3a8"
+                else "4e126e005b1180655b0847cbdbfc9c47c59c639b7f93f0d988b54a8c4c6ec80f";
   };
 
   # grab the plugin sdk for the desktop icon
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
     ''
       # Delete unecessary libraries - these are provided by nixos.
       rm *.so.* *.so
+      rm QtWebEngineProcess
       rm qt.conf
 
       # Install files.
@@ -89,7 +90,6 @@ stdenv.mkDerivation rec {
       ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
 
       wrapProgram $out/bin/ts3client \
-        --set LD_LIBRARY_PATH "${quazip}/lib" \
         --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
         --set QT_PLUGIN_PATH "$out/lib/teamspeak/platforms" \
         --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index 73e8ab83f72..c86de07bc84 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper }:
 
 let
-  version = "3.0.13.5";
+  version = "3.0.13.6";
   arch = if stdenv.is64bit then "amd64" else "x86";
   libDir = if stdenv.is64bit then "lib64" else "lib";
 in
@@ -15,8 +15,8 @@ stdenv.mkDerivation {
       "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
     ];
     sha256 = if stdenv.is64bit 
-      then "bd5933dd17d17f93d56f69332927cd1ce6f34439ec464a0ce2ca73102d85080c"
-      else "848e1a44af3c2b00840a280ba558a13407f4844432ddfd262ee8a7800365386b";
+      then "19ccd8db5427758d972a864b70d4a1263ebb9628fcc42c3de75ba87de105d179"
+      else "2f70b3e70a3d9bf86106fab67a938922c8d27fec24e66e229913f78a0791b967";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
new file mode 100644
index 00000000000..a1e94817b24
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -0,0 +1,92 @@
+{ stdenv, fetchurl, system, makeWrapper,
+  alsaLib, dbus, glib, gstreamer, fontconfig, freetype, libpulseaudio, libxml2,
+  libxslt, mesa, nspr, nss, sqlite, utillinux, zlib, xorg }:
+
+let
+
+  version = "2.0.91373.0502";
+  srcs = {
+    x86_64-linux = fetchurl {
+      url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
+      sha256 = "0gcbfsvybkvnyklm82irgz19x3jl0hz9bwf2l9jga188057pfj7a";
+    };
+  };
+
+in stdenv.mkDerivation {
+  name = "zoom-us-${version}";
+
+  src = srcs.${system};
+
+  buildInputs = [ makeWrapper ];
+
+  libPath = stdenv.lib.makeLibraryPath [
+    alsaLib
+    dbus
+    glib
+    gstreamer
+    fontconfig
+    freetype
+    libpulseaudio
+    libxml2
+    libxslt
+    mesa
+    nspr
+    nss
+    sqlite
+    utillinux
+    zlib
+
+    xorg.libX11
+    xorg.libSM
+    xorg.libICE
+    xorg.libxcb
+    xorg.xcbutilimage
+    xorg.xcbutilkeysyms
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXdamage
+    xorg.libXtst
+    xorg.libxshmfence
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXcomposite
+
+    stdenv.cc.cc
+  ];
+
+  installPhase = ''
+    $preInstallHooks
+
+    packagePath=$out/share/zoom-us
+    mkdir -p $packagePath
+    mkdir -p $out/bin
+    cp -ar * $packagePath
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $packagePath/zoom
+    # included from https://github.com/NixOS/nixpkgs/commit/fc218766333a05c9352b386e0cbb16e1ae84bf53
+    # it works for me without it, but, well...
+    paxmark m $packagePath/zoom
+    #paxmark m $packagePath/QtWebEngineProcess # is this what dtzWill talked about?
+
+    # RUNPATH set via patchelf is used only for half of libraries (why?), so wrap it
+    wrapProgram $packagePath/zoom \
+        --prefix LD_LIBRARY_PATH : "$packagePath:$libPath" \
+        --set QT_PLUGIN_PATH "$packagePath/platforms" \
+        --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \
+        --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale"
+    ln -s "$packagePath/zoom" "$out/bin/zoom-us"
+
+    $postInstallHooks
+  '';
+
+  meta = {
+    homepage = http://zoom.us;
+    description = "zoom.us video conferencing application";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ danbst ];
+  };
+
+}
diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix
index 86cc9bded10..5690705d1f2 100644
--- a/pkgs/applications/networking/insync/default.nix
+++ b/pkgs/applications/networking/insync/default.nix
@@ -2,11 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "insync-${version}";
-  version = "1.3.13.36129";
-  src = fetchurl {
-    url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
-    sha256 = "18d8ww529nvhwcl5k31qmkzb83k9753ics0dw64w202r8vwbm3cd";
-  };
+  version = "1.3.16.36155";
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
+        sha256 = "1gf1qg7mkbcgqhwxkiljmd1w2zvarq6vhxhips3w06bqdyg12210";
+      }
+    else
+      throw "${name} is not supported on ${stdenv.system}";
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index a00aebef296..84a2106f2a2 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,15 +2,15 @@
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.6";
-  rev = "ed729423ce548785834cdcaa21aab11ebc3a1b1a";
+  version = "0.4.9";
+  rev = "7ea34c6c6ed18e886f869a1fbe725a848d13695c";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
 
   extraSrcPaths = [
     (fetchgx {
       inherit name src;
-      sha256 = "1wwzbps3ry3vlrr0iqhvxd44x0wi99dcp5hlxvh79dc0g9r7myfk";
+      sha256 = "1xgk9gdnlcxkrpj98h2mrnlpr9b8084k4q926i4pbmxipwxkwl4b";
     })
   ];
 
@@ -18,7 +18,7 @@ buildGoPackage rec {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "1b262k1lhb1g68l8hghly4pdrxx1c6wbv6ij6dg399zdwqzczl13";
+    sha256 = "1n2m2yah54cx4i9nlcsmljrwqi3wqxih517y8jpyjij6wraa334j";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 7ab6a4438f3..60a04f05991 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.2";
+  version = "1.0.3";
   name = "irssi-${version}";
 
   src = fetchurl {
     url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
-    sha256 = "1fas6dqz6g8m2400spvkhfxihj3w06qb917h4vhcb716g9wpjkwf";
+    sha256 = "08nfm1pcf2b9npnp83175yi2vcwnhjdiwsq8whz7iky33hlhvijk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 4800fa938a0..d4e1bf39f1a 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -20,11 +20,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mutt-${version}";
-  version = "1.8.2";
+  version = "1.8.3";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
-    sha256 = "0dgjjryp1ggbc6ivy9cfz5jl3gnbahb6d6hcwn7c7wk5npqpn18x";
+    sha256 = "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv";
   };
 
   patchPhase = optionalString (openssl != null) ''
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index ad2f6e7b3ca..d9ec66a53e7 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,21 +1,29 @@
 { stdenv, fetchFromGitHub, which, autoreconfHook, ncurses, perl
-, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
+, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }:
 
 stdenv.mkDerivation rec {
-  version = "20170428";
+  version = "20170602";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = "neomutt-${version}";
-    sha256 = "1p6214agfv9plskkzalh03r5naiiyg1habrnknnjgck3nypb78ik";
+    sha256 = "0rpvxmv10ypl7la4nmp0s02ixmm9g5pn9g9ms8ygzsix9pa86w45";
   };
 
-  nativeBuildInputs = [ which autoreconfHook ];
-  buildInputs =
-    [ cyrus_sasl gdbm gpgme kerberos libidn ncurses
-      notmuch openssl perl lmdb ];
+  nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
+  buildInputs = [
+    cyrus_sasl gdbm gpgme kerberos libidn ncurses
+    notmuch openssl perl lmdb
+  ];
+
+  postPatch = ''
+    for f in doc/*.xsl ; do
+      substituteInPlace $f \
+        --replace http://docbook.sourceforge.net/release/xsl/current ${docbook_xsl}/share/xml/docbook-xsl
+    done
+  '';
 
   configureFlags = [
     "--enable-debug"
@@ -46,6 +54,8 @@ stdenv.mkDerivation rec {
 
   configureScript = "./prepare";
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A small but very powerful text-based mail client";
     homepage = http://www.neomutt.org;
diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix
new file mode 100644
index 00000000000..7622cb76ad2
--- /dev/null
+++ b/pkgs/applications/networking/resilio-sync/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, ... }:
+
+let
+  arch = {
+    "x86_64-linux" = "x64";
+    "i686-linux" = "i386";
+  }.${stdenv.system};
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
+
+in stdenv.mkDerivation rec {
+  name = "resilio-sync-${version}";
+  version = "2.5.2";
+
+  src = fetchurl {
+    url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
+    sha256 = {
+      "x86_64-linux" = "15gji5zqs1py92bpwvvq0r1spl0yynbrsnh4ajphwq17bqys3192";
+      "i686-linux"   = "1y67bd63b95va7g2676rgp2clvcy09pnmivy00r2w46y7kwwwbj8";
+    }.${stdenv.system};
+  };
+
+  dontStrip = true; # Don't strip, otherwise patching the rpaths breaks
+  sourceRoot = ".";
+
+  installPhase = ''
+    install -D rslsync "$out/bin/rslsync"
+    patchelf \
+      --interpreter "$(< $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath} "$out/bin/rslsync"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automatically sync files via secure, distributed technology";
+    homepage    = https://www.resilio.com/;
+    license     = licenses.unfreeRedistributable;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ domenkozar thoughtpolice cwoac ];
+  };
+}
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index c8880e630a6..4e5d9893c2c 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -12,7 +12,7 @@ assert withQt  -> !withGtk && qt5  != null;
 with stdenv.lib;
 
 let
-  version = "2.2.5";
+  version = "2.2.6";
   variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2";
-    sha256 = "1j4sc3pmy8l6k41007spglcqiabjlzc7f85pn3jmjr9ksv9qipbm";
+    sha256 = "0jd89i9si43lyv3hsl6p1lkjmz4zagvc37wcbigsxxc5v8gda9zn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 2daa846990a..ed48bce7b2e 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation (rec {
     description = "Bidirectional file synchronizer";
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; unix;
   };
 
 })
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 568f7359697..e0ba43986e3 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, go, pkgs, removeReferencesTo }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.28";
+  version = "0.14.30";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner  = "syncthing";
     repo   = "syncthing";
     rev    = "v${version}";
-    sha256 = "0bb4ccyb5rjga651z633abiwlps5gy9hpalr5gi0wlrfxwbdivrb";
+    sha256 = "14f2v8i8ga9vii015vbx70k1vd85ac0ygykz2z614ii932g5lfdr";
   };
 
   buildInputs = [ go removeReferencesTo ];
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index fcd9f954a67..fda320dd54a 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,24 +1,35 @@
 { stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
 , goffice, gnome3, makeWrapper, gtk3, bison, pythonPackages
+, itstool
 }:
 
 let
   inherit (pythonPackages) python pygobject3;
+  isopub = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isopub.ent; sha256 = "073l492jz70chcadr2p7ssx7gz5hd731s2cazhxx4r845kilyr77"; };
+  isonum = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent; sha256 = "04b62dw2g3cj9i4vn9xyrsrlz8fpmmijq98dm0nrkky31bwbbrs3"; };
+  isogrk1 = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent; sha256 = "04b23anhs5wr62n4rgsjirzvw7rpjcsf8smz4ffzaqh3b0vw90vm"; };
 in stdenv.mkDerivation rec {
-  name = "gnumeric-1.12.32";
+  name = "gnumeric-1.12.34";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
-    sha256 = "a07bc83e2adaeb94bfa2c737c9a19d90381a19cb203dd7c4d5f7d6cfdbee6de8";
+    sha256 = "0b4920812d82ec4c25204543dff9dd3bdbac17bfaaabd1aa02d47fbe2981c725";
   };
 
   configureFlags = "--disable-component";
 
+  prePatch = ''
+    substituteInPlace doc/C/gnumeric.xml \
+	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isopub.ent ${isopub} \
+	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent ${isonum} \
+	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent ${isogrk1}
+  '';
+
   # ToDo: optional libgda, introspection?
   buildInputs = [
     pkgconfig intltool perl perlXMLParser bison
     goffice gtk3 makeWrapper gnome3.defaultIconTheme
-    python pygobject3
+    python pygobject3 itstool
   ];
 
   enableParallelBuilding = true;
@@ -35,7 +46,7 @@ in stdenv.mkDerivation rec {
     description = "The GNOME Office Spreadsheet";
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://projects.gnome.org/gnumeric/;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index ac2f71c872d..65a7c9730e9 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,10 +2,10 @@
 , hicolor_icon_theme, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.1.4";
+  name = "homebank-5.1.5";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "07zxb9n7d281nfv29gi09fsp7y73fx4w2s48hgdn9s4vij25zwqa";
+    sha256 = "03rkl4bvi1cmb8rqyvmhxhg63bdmb3nzqa3firfimsbphm3x6gsw";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 0a14a87cf56..95286f3ab65 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -36,14 +36,14 @@ let
     then "i386"
     else "amd64";
 
-  shortVersion = "1.17.9-stable";
+  shortVersion = "1.17.10-stable";
 
   version = "${shortVersion}_${arch}";
 
   url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
   sha256 = if stdenv.system == arch32
-    then "0z04r3ipwp2vca3qhp3b1zj0m12h023ynmbjsz4sysnd1bb5f2yr"
-    else "0h3m6s3s5283g9w3sm4fszhhnzgmqw49nr0ihvdwyxrgawxmz4vg";
+    then "0sc9fsprdpl39q8wqbjp59pnr10c1a8gss60b81h54agjni55yrg"
+    else "02ncfdxcrdwghpch2nlfhc7d0vgjsfqn8sxjkb5yn4bf5wi8z9bq";
 
   deps = [
     qt5.qtbase
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index d6640b6c5bb..41dd8595c30 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -1,32 +1,38 @@
-{stdenv, fetchurl, unzip, libX11, libcxxabi, glib, xorg, qt4, fontconfig, phonon, freetype, zlib, libpng12, libICE, libXrender, cups, lib}:
+{ stdenv, fetchurl, fetchFromGitHub
+, libX11, glib, xorg, fontconfig, freetype
+, zlib, libpng12, libICE, libXrender, cups }:
+
+let
+  bits = if stdenv.system == "x86_64-linux" then "x86_64"
+         else "x86";
 
-stdenv.mkDerivation rec{
-  name = "wpsoffice-${version}";
   version = "10.1.0.5672";
+in stdenv.mkDerivation rec{
+  name = "wpsoffice-${version}";
 
   src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_10.1.0.5672~a21_x86_64.tar.xz";
-    sha1 = "7e9b17572ed5cea50af24f01457f726fc558a515";
+    name = "${name}.tar.xz";
+    url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
+    sha256 = if bits == "x86_64" then
+      "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
+      "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
   };
   
   meta = {
     description = "Office program originally named Kingsoft Office";
     homepage = http://wps-community.org/;
-    platforms = [ "x86_64-linux" ];
-    # Binary for i686 is also available if someone can package it
-    license = lib.licenses.unfreeRedistributable;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    hydraPlatforms = [];
+    license = stdenv.lib.licenses.unfreeRedistributable;
   };
 
   libPath = stdenv.lib.makeLibraryPath [
     libX11
-    libcxxabi
     libpng12
     glib
     xorg.libSM
     xorg.libXext
     fontconfig
-    phonon
     zlib
     freetype
     libICE
@@ -34,19 +40,36 @@ stdenv.mkDerivation rec{
     libXrender
   ];
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontPatchELF = true;
 
   installPhase = ''
-    cp -r . "$out"
-    chmod +x "$out/office6/wpp"
-    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/wpp"
-    chmod +x "$out/office6/wps"
-    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/wps"
-    chmod +x "$out/office6/et"
-    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/et"
-    mkdir -p "$out/bin/"
-    ln -s "$out/office6/wpp" "$out/bin/wpspresentation"
-    ln -s "$out/office6/wps" "$out/bin/wpswriter"
-    ln -s "$out/office6/et" "$out/bin/wpsspreadsheets"
+    prefix=$out/opt/kingsoft/wps-office
+    mkdir -p $prefix
+    cp -r . $prefix
+
+    # Avoid forbidden reference error due use of patchelf
+    rm -r $PWD
+
+    mkdir $out/bin
+    for i in wps wpp et; do
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --force-rpath --set-rpath "$prefix/office6:$libPath" \
+        $prefix/office6/$i
+
+      substitute $prefix/$i $out/bin/$i \
+        --replace /opt/kingsoft/wps-office $prefix
+      chmod +x $out/bin/$i
+
+      substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \
+        --replace /usr/bin $out/bin
+    done
+
+    # China fonts
+    mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d
+    ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office
+    ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d
+
+    ln -s $prefix/resource $out/share
   '';
 }
diff --git a/pkgs/applications/science/biology/snpeff/default.nix b/pkgs/applications/science/biology/snpeff/default.nix
index 6c7a6b969ee..844374fceb9 100644
--- a/pkgs/applications/science/biology/snpeff/default.nix
+++ b/pkgs/applications/science/biology/snpeff/default.nix
@@ -2,15 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "snpeff-${version}";
-  version = "4.3i";
+  version = "4.3p";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/snpeff/snpEff_latest_core.zip";
-    sha256 = "0i1slg201c8yjfr4wrg4xcgzwi0c8b9l3fb1i73fphq6q6zdblzb";
+    url = "mirror://sourceforge/project/snpeff/snpEff_v4_3p_core.zip";
+    sha256 = "1xb3k0yxd634znw2q083ligm2ww4p6v64041r9sdy3930lhjvxb1";
   };
 
   buildInputs = [ unzip jre makeWrapper ];
 
+  sourceRoot = "snpEff";
+
   installPhase = ''
     mkdir -p $out/libexec/snpeff
     cp *.jar *.config $out/libexec/snpeff
diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix
index af0c2e85549..ed208014f7d 100644
--- a/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/pkgs/applications/science/chemistry/pymol/default.nix
@@ -1,24 +1,50 @@
-{ stdenv, fetchurl, python27Packages, glew, freeglut, libpng, libxml2, tk, freetype }:
+{ stdenv, fetchurl, makeDesktopItem
+, python3, python3Packages
+, glew, freeglut, libpng, libxml2, tk, freetype }:
+
+
+with stdenv.lib;
 
 let
-  version = "1.8.4.0";
+  pname = "pymol";
+  ver_maj = "1.8";
+  ver_min = "4";
+  version = "${ver_maj}.${ver_min}.0";
+  description = "A Python-enhanced molecular graphics tool";
+
+  desktopItem = makeDesktopItem {
+    name = "${pname}";
+    exec = "${pname}";
+    desktopName = "PyMol Molecular Graphics System";
+    genericName = "Molecular Modeller";
+    comment = description;
+    mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;";
+    categories = "Graphics;Education;Science;Chemistry;";
+  };
 in
-python27Packages.buildPythonApplication {
+python3Packages.buildPythonApplication {
   name = "pymol-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/project/pymol/pymol/1.8/pymol-v1.8.4.0.tar.bz2";
+    url = "mirror://sourceforge/project/pymol/pymol/${ver_maj}/pymol-v${version}.tar.bz2";
     sha256 = "0yfj8g5yic9zz6f0bw2n8h6ifvgsn8qvhq84alixsi28wzppn55n";
   };
 
-  buildInputs = [ python27Packages.numpy glew freeglut libpng libxml2 tk freetype ];
+  buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype ];
   NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
 
   installPhase = ''
     python setup.py install --home=$out
+    cp -r ${desktopItem}/share/ $out/
+    runHook postInstall
+  '';
+
+  postInstall = with python3Packages; ''
+    wrapProgram $out/bin/pymol \
+      --prefix PYTHONPATH : ${makeSearchPathOutput "lib" python3.sitePackages [ Pmw tkinter ]}
   '';
 
-  meta = with stdenv.lib; {
-    description = "A Python-enhanced molecular graphics tool";
+  meta = {
+    description = description;
     homepage = "https://www.pymol.org/";
     license = licenses.psfl;
   };
diff --git a/pkgs/applications/science/logic/cryptominisat/default.nix b/pkgs/applications/science/logic/cryptominisat/default.nix
new file mode 100644
index 00000000000..26efbc5fe72
--- /dev/null
+++ b/pkgs/applications/science/logic/cryptominisat/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, python, vim }:
+
+stdenv.mkDerivation rec {
+  name = "cryptominisat-${version}";
+  version = "5.0.1";
+
+  src = fetchFromGitHub {
+    owner = "msoos";
+    repo = "cryptominisat";
+    rev = version;
+    sha256 = "0cpw5d9vplxvv3aaplhnga55gz1hy29p7s4pkw1306knkbhlzvkb";
+  };
+
+  # vim for xxd binary
+  buildInputs = [ python vim ];
+  nativeBuildInputs = [ cmake ];
+
+  patches = [(fetchpatch rec {
+    name = "fix-exported-library-name.patch";
+    url = "https://github.com/msoos/cryptominisat/commit/7a47795cbe5ad5a899731102d297f234bcade077.patch";
+    sha256 = "11hf3cfqs4cykn7rlgjglq29lzqfxvlm0f20qasi0kdrz01cr30f";
+  })];
+
+  meta = with stdenv.lib; {
+    description = "An advanced SAT Solver";
+    maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+    homepage = https://github.com/msoos/cryptominisat;
+  };
+}
diff --git a/pkgs/applications/science/logic/minisat/unstable.nix b/pkgs/applications/science/logic/minisat/unstable.nix
new file mode 100644
index 00000000000..9d63f32c544
--- /dev/null
+++ b/pkgs/applications/science/logic/minisat/unstable.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, zlib, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "minisat-unstable-2013-09-25";
+
+  src = fetchFromGitHub {
+    owner = "niklasso";
+    repo = "minisat";
+    rev = "37dc6c67e2af26379d88ce349eb9c4c6160e8543";
+    sha256 = "091hf3qkm197s5r7xcr3m07xsdwyz2rqk1hc9kj0hn13imz09irq";
+  };
+
+  buildInputs = [ zlib ];
+  nativeBuildInputs =  [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Compact and readable SAT solver";
+    maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+    homepage = "http://minisat.se/";
+  };
+}
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
index 444bb06c4a0..8c0b82cc549 100644
--- a/pkgs/applications/science/logic/stp/default.nix
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -1,23 +1,32 @@
-{stdenv, cmake, boost, bison, flex, fetchgit, perl, zlib}: 
+{ stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }:
+
 stdenv.mkDerivation rec {
-  version = "2014.01.07";
+  version = "2.2.0";
   name = "stp-${version}";
-  src = fetchgit {
-    url    = "git://github.com/stp/stp";
-    rev    = "3aa11620a823d617fc033d26aedae91853d18635";
-    sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
+
+  src = fetchFromGitHub {
+    owner = "stp";
+    repo = "stp";
+    rev    = "stp-${version}";
+    sha256 = "1jh23wjm62nnqfx447g2y53bbangq04hjrvqc35v9xxpcjgj3i49";
   };
-  buildInputs = [ cmake boost bison flex perl zlib ];
-  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
-  patchPhase = ''
-      sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
-      patch -p1 < ${./fixbuild.diff}
-      patch -p1 < ${./fixrefs.diff}
+
+  buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ];
+  nativeBuildInputs = [ cmake bison flex perl ];
+  preConfigure = ''
+    python_install_dir=$out/${python3Packages.python.sitePackages}
+    mkdir -p $python_install_dir
+    cmakeFlagsArray=(
+      $cmakeFlagsArray
+      "-DBUILD_SHARED_LIBS=ON"
+      "-DPYTHON_LIB_INSTALL_DIR=$python_install_dir"
+    )
   '';
-  meta = {
-    description = ''Simple Theorem Prover'';
-    maintainers = with stdenv.lib.maintainers; [mornfall];
-    platforms = with stdenv.lib.platforms; linux;
-    license = stdenv.lib.licenses.mit;
+
+  meta = with stdenv.lib; {
+    description = "Simple Theorem Prover";
+    maintainers = with maintainers; [ mornfall ];
+    platforms = platforms.linux;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/science/logic/stp/fixbuild.diff b/pkgs/applications/science/logic/stp/fixbuild.diff
deleted file mode 100644
index 01782cb4f40..00000000000
--- a/pkgs/applications/science/logic/stp/fixbuild.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/src/libstp/CMakeLists.txt b/src/libstp/CMakeLists.txt
-index 83bd03a..9c0304b 100644
---- a/src/libstp/CMakeLists.txt
-+++ b/src/libstp/CMakeLists.txt
-@@ -23,6 +23,15 @@ set(stp_lib_targets
-     printer
- )
- 
-+include_directories(${CMAKE_SOURCE_DIR}/src/AST/)
-+include_directories(${CMAKE_BINARY_DIR}/src/AST/)
-+
-+add_library(globalstp OBJECT
-+    ../main/Globals.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../main/GitSHA1.cpp
-+)
-+add_dependencies(globalstp ASTKind_header)
-+
- # Create list of objects and gather list of
- # associated public headers.
- set(stp_lib_objects "")
-@@ -31,6 +40,7 @@ foreach(target ${stp_lib_targets})
-     list(APPEND stp_lib_objects $<TARGET_OBJECTS:${target}>)
- 
-     get_target_property(TARGETS_PUBLIC_HEADERS ${target} PUBLIC_HEADER)
-+    set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
-     if (EXISTS "${TARGETS_PUBLIC_HEADERS}")
-         list(APPEND stp_public_headers "${TARGETS_PUBLIC_HEADERS}")
-         message("Adding public header(s) ${TARGETS_PUBLIC_HEADERS} to target libstp")
-diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
-index 0735137..73039f5 100644
---- a/src/main/CMakeLists.txt
-+++ b/src/main/CMakeLists.txt
-@@ -3,12 +3,6 @@ include_directories(${CMAKE_BINARY_DIR}/src/AST/)
- 
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/GitSHA1.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp" @ONLY)
- 
--add_library(globalstp OBJECT
--    Globals.cpp
--    ${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp
--)
--add_dependencies(globalstp ASTKind_header)
--
- # -----------------------------------------------------------------------------
- # Create binary
- # -----------------------------------------------------------------------------
diff --git a/pkgs/applications/science/logic/stp/fixrefs.diff b/pkgs/applications/science/logic/stp/fixrefs.diff
deleted file mode 100644
index 60ad4949f07..00000000000
--- a/pkgs/applications/science/logic/stp/fixrefs.diff
+++ /dev/null
@@ -1,192 +0,0 @@
-commit 53b6043e25b2eba264faab845077fbf6736cf22f
-Author: Petr Rockai <me@mornfall.net>
-Date:   Tue Jan 7 13:30:07 2014 +0100
-
-    aig: Comment out unused functions with undefined references in them.
-
-diff --git a/src/extlib-abc/aig/aig/aigPart.c b/src/extlib-abc/aig/aig/aigPart.c
-index a4cc116..5bd5f08 100644
---- a/src/extlib-abc/aig/aig/aigPart.c
-+++ b/src/extlib-abc/aig/aig/aigPart.c
-@@ -869,6 +869,7 @@ Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSi
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )

- {

-     extern int Cmd_CommandExecute( void * pAbc, char * sCommand );

-@@ -981,6 +982,7 @@ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )
-     Aig_ManMarkValidChoices( pAig );

-     return pAig;

- }

-+#endif

- 

- 

- ////////////////////////////////////////////////////////////////////////

-diff --git a/src/extlib-abc/aig/aig/aigShow.c b/src/extlib-abc/aig/aig/aigShow.c
-index ae8fa8b..f04eedc 100644
---- a/src/extlib-abc/aig/aig/aigShow.c
-+++ b/src/extlib-abc/aig/aig/aigShow.c
-@@ -326,6 +326,7 @@ void Aig_WriteDotAig( Aig_Man_t * pMan, char * pFileName, int fHaig, Vec_Ptr_t *
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )

- {

-     extern void Abc_ShowFile( char * FileNameDot );

-@@ -347,7 +348,7 @@ void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )
-     // visualize the file 

-     Abc_ShowFile( FileNameDot );

- }

--

-+#endif

- 

- ////////////////////////////////////////////////////////////////////////

- ///                       END OF FILE                                ///

-diff --git a/src/extlib-abc/aig/dar/darRefact.c b/src/extlib-abc/aig/dar/darRefact.c
-index d744b4f..23fc3d5 100644
---- a/src/extlib-abc/aig/dar/darRefact.c
-+++ b/src/extlib-abc/aig/dar/darRefact.c
-@@ -340,6 +340,7 @@ printf( "\n" );
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, int Required )

- {

-     Vec_Ptr_t * vCut;

-@@ -428,6 +429,7 @@ int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, in
-     }

-     return p->GainBest;

- }

-+#endif

- 

- /**Function*************************************************************

- 

-@@ -461,6 +463,7 @@ int Dar_ObjCutLevelAchieved( Vec_Ptr_t * vCut, int nLevelMin )
-   SeeAlso     []

-  

- ***********************************************************************/

-+#if 0

- int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars )

- {

- //    Bar_Progress_t * pProgress;

-@@ -583,6 +586,7 @@ p->timeOther = p->timeTotal - p->timeCuts - p->timeEval;
-     return 1;

- 

- }

-+#endif

- 

- ////////////////////////////////////////////////////////////////////////

- ///                       END OF FILE                                ///

-diff --git a/src/extlib-abc/aig/dar/darScript.c b/src/extlib-abc/aig/dar/darScript.c
-index e60df00..1b9c24f 100644
---- a/src/extlib-abc/aig/dar/darScript.c
-+++ b/src/extlib-abc/aig/dar/darScript.c
-@@ -64,6 +64,7 @@ Aig_Man_t * Dar_ManRewriteDefault( Aig_Man_t * pAig )
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )

- //alias rwsat       "st; rw -l; b -l; rw -l; rf -l"

- {

-@@ -108,7 +109,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
- 

-     return pAig;

- }

--

-+#endif

- 

- /**Function*************************************************************

- 

-@@ -121,6 +122,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )

- //alias compress2   "b -l; rw -l; rwz -l; b -l; rwz -l; b -l"

- {

-@@ -180,6 +182,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
- 

-     return pAig;

- }

-+#endif

- 

- /**Function*************************************************************

- 

-@@ -192,6 +195,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )

- //alias compress2   "b -l; rw -l; rf -l; b -l; rw -l; rwz -l; b -l; rfz -l; rwz -l; b -l"

- {

-@@ -285,6 +289,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
-     }

-     return pAig;

- }

-+#endif

- 

- /**Function*************************************************************

- 

-@@ -297,6 +302,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )

- //alias resyn    "b; rw; rwz; b; rwz; b"

- //alias resyn2   "b; rw; rf; b; rw; rwz; b; rfz; rwz; b"

-@@ -311,6 +317,7 @@ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateL
-     Vec_PtrPush( vAigs, pAig );

-     return vAigs;

- }

-+#endif

- 

- /**Function*************************************************************

- 

-diff --git a/src/extlib-abc/aig/kit/kitAig.c b/src/extlib-abc/aig/kit/kitAig.c
-index de301f2..7e5df0f 100644
---- a/src/extlib-abc/aig/kit/kitAig.c
-+++ b/src/extlib-abc/aig/kit/kitAig.c
-@@ -95,6 +95,7 @@ Aig_Obj_t * Kit_GraphToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, Kit_Graph_t
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * pTruth, int nVars, Vec_Int_t * vMemory )

- {

-     Aig_Obj_t * pObj;

-@@ -113,6 +114,7 @@ Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * p
-     Kit_GraphFree( pGraph );

-     return pObj;

- }

-+#endif

- 

- ////////////////////////////////////////////////////////////////////////

- ///                       END OF FILE                                ///

-diff --git a/src/extlib-abc/aig/kit/kitGraph.c b/src/extlib-abc/aig/kit/kitGraph.c
-index 39ef587..0485c66 100644
---- a/src/extlib-abc/aig/kit/kitGraph.c
-+++ b/src/extlib-abc/aig/kit/kitGraph.c
-@@ -349,6 +349,7 @@ unsigned Kit_GraphToTruth( Kit_Graph_t * pGraph )
-   SeeAlso     []

- 

- ***********************************************************************/

-+#if 0

- Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemory )

- {

-     Kit_Graph_t * pGraph;

-@@ -365,6 +366,7 @@ Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemor
-     pGraph = Kit_SopFactor( vMemory, RetValue, nVars, vMemory );

-     return pGraph;

- }

-+#endif

- 

- /**Function*************************************************************

- 

diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index 19f769e4365..b8ed7ffac3c 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -34,6 +34,9 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/calc --prefix LD_LIBRARY_PATH : $out/lib
   '';
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = {
     description = "C-style arbitrary precision calculator";
     homepage = http://www.isthe.com/chongo/tech/comp/calc/;
diff --git a/pkgs/applications/science/math/ecm/default.nix b/pkgs/applications/science/math/ecm/default.nix
index 072d772775c..44dc7af98c1 100644
--- a/pkgs/applications/science/math/ecm/default.nix
+++ b/pkgs/applications/science/math/ecm/default.nix
@@ -10,9 +10,12 @@ stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-      url = http://gforge.inria.fr/frs/download.php/file/32159/ecm-6.4.4.tar.gz;
-      sha256 = "0v5h2nicz9yx78c2d72plbhi30iq4nxbvphja1s9501db4aah4y8";
-    };
+    url = http://gforge.inria.fr/frs/download.php/file/32159/ecm-6.4.4.tar.gz;
+    sha256 = "0v5h2nicz9yx78c2d72plbhi30iq4nxbvphja1s9501db4aah4y8";
+  };
+
+  # See https://trac.sagemath.org/ticket/19233
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-asm-redc";
 
   buildInputs = [ m4 gmp ];
 
@@ -23,6 +26,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://ecm.gforge.inria.fr/;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index bc766b96bca..2712388ffe7 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "geogebra-${version}";
-  version = "5-0-355-0";
+  version = "5-0-361-0";
 
   preferLocalBuild = true;
 
   src = fetchurl {
     url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
-    sha256 = "0gm6jqlc3kgnbwnqlz6i9rahdy802jq7xc9gw1q5ynk63smm3ngk";
+    sha256 = "14kidnk8bidklv474zqipv3f77qnfmc697pl407v0rja481c649a";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/msieve/default.nix b/pkgs/applications/science/math/msieve/default.nix
index 4c99b5081cc..6e1926810df 100644
--- a/pkgs/applications/science/math/msieve/default.nix
+++ b/pkgs/applications/science/math/msieve/default.nix
@@ -1,29 +1,30 @@
 {stdenv, fetchurl, zlib, gmp, ecm }:
 
 stdenv.mkDerivation {
-  name = "msieve-1.48";
+  name = "msieve-1.53";
 
   src = fetchurl {
-      url = mirror://sourceforge/msieve/msieve/Msieve%20v1.48/msieve148.tar.gz;
-      sha256 = "05cm23mpfsbwssqda243sbi8m31j783qx89x9gl7sy8a4dnv7h63";
-    };
+    url = mirror://sourceforge/msieve/msieve/Msieve%20v1.53/msieve153_src.tar.gz;
+    sha256 = "1d1vv7j4rh3nnxsmvafi73qy7lw7n3akjlm5pjl3m936yapvmz65";
+  };
 
   buildInputs = [ zlib gmp ecm ];
 
   ECM = if ecm == null then "0" else "1";
 
-  buildFlags = if stdenv.system == "x86_64-linux" then "x86_64"
-               else if stdenv.system == "i686-linux" then "x86"
-               else "generic";
+  # Doesn't hurt Linux but lets clang-based platforms like Darwin work fine too
+  makeFlags = "CC=cc all";
 
-  installPhase = ''mkdir -p $out/bin/
-                   cp msieve $out/bin/'';
+  installPhase = ''
+    mkdir -p $out/bin/
+    cp msieve $out/bin/
+  '';
 
   meta = {
     description = "A C library implementing a suite of algorithms to factor large integers";
     license = stdenv.lib.licenses.publicDomain;
     homepage = http://msieve.sourceforge.net/;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ] ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
index d1996b72154..d38529e92e6 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "git-annex-remote-rclone-${version}";
-  version = "0.4";
+  version = "0.5";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "DanielDent";
     repo = "git-annex-remote-rclone";
-    sha256 = "1myk307hqm8dlxhkmwr347rdd28niv5h0gyrxm30y77zlly30ddk";
+    sha256 = "1353b6q3lnxhpdfy9yd2af65v7aypdhyvgn7ziksmsrbi12lb74i";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index eccd869ba56..bb00a22730b 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -11,7 +11,7 @@
 }:
 
 let
-  version = "2.13.0";
+  version = "2.13.1";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "0n0j36rapw31zb0sabap88ffncv8jg3nwc4miyim64ilyav2mgsb";
+    sha256 = "1zl88rlga9nhgaqc9d04vp1l1g4x6qj1d02698asnxrzk36vxh9v";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 001aa0c5b09..886efefa8bb 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -1,24 +1,41 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchFromGitHub, makeWrapper
+, python, git, gnupg1compat, less }:
 
-stdenv.mkDerivation {
-  name = "git-repo-1.23";
-  src = fetchurl {
-    # I could not find a versioned url for the 1.21 version. In case
-    # the sha mismatches, check the homepage for new version and sha.
-    url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo";
-    sha256 = "1i8xymxh630a7d5nkqi49nmlwk77dqn36vsygpyhri464qwz0iz1";
+stdenv.mkDerivation rec {
+  name = "git-repo-${version}";
+  version = "1.12.37";
+
+  src = fetchFromGitHub {
+    owner = "android";
+    repo = "tools_repo";
+    rev = "v${version}";
+    sha256 = "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd";
   };
 
-  unpackPhase = "true";
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python git gnupg1compat less ];
+
   installPhase = ''
     mkdir -p $out/bin
-    sed -e 's,!/usr/bin/env python,!${python}/bin/python,' < $src > $out/bin/repo
-    chmod +x $out/bin/repo
+    cp $src/repo $out/bin/repo
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/repo --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ git gnupg1compat less ]}"
   '';
 
-  meta = {
-    homepage = "http://source.android.com/source/downloading.html";
+  meta = with stdenv.lib; {
     description = "Android's repo management tool";
-    platforms = stdenv.lib.platforms.unix;
+    longDescription = ''
+      Repo is a Python script based on Git that helps manage many Git
+      repositories, does the uploads to revision control systems, and automates
+      parts of the development workflow. Repo is not meant to replace Git, only
+      to make it easier to work with Git.
+    '';
+    homepage = "https://android.googlesource.com/tools/repo";
+    license = licenses.asl20;
+    maintainers = [ maintainers.primeos ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 1404bd97599..23a3ab7fa5e 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -9,11 +9,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gitkraken-${version}";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "https://release.gitkraken.com/linux/v${version}.deb";
-    sha256 = "1in8caxsc8fld1sl6d9nzch86s9x0770qi6amh573zmb80yyd743";
+    sha256 = "1msdwqp20pwaxv1a6maqb7wmaq00m8jpdga7fmbjcnpvkcdz49l7";
   };
 
   libPath = makeLibraryPath [
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 1916267bb89..398a88a1387 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -920,7 +920,7 @@ DEPENDENCIES
   mysql2 (~> 0.3.16)
   net-ssh (~> 3.0.1)
   newrelic_rpm (~> 3.16)
-  nokogiri (~> 1.6.7, >= 1.6.7.2)
+  nokogiri (< 1.6.8, ~> 1.6.7, >= 1.6.7.2)
   oauth2 (~> 1.2.0)
   octokit (~> 4.6.2)
   oj (~> 2.17.4)
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
index 551a5795d11..4d7ccaf3027 100644
--- a/pkgs/applications/version-management/mr/default.nix
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchgit, perl }:
 
 stdenv.mkDerivation rec {
-  version = "1.20160123";
+  version = "1.20170129";
   name = "mr-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/joeyh/myrepos/archive/${version}.tar.gz";
-    sha256 = "1723cg5haplz2w9dwdzp6ds1ip33cx3awmj4wnb0h4yq171v5lqk";
+  src = fetchgit {
+    url = "git://myrepos.branchable.com/";
+    rev = "refs/tags/" + version;
+    sha256 = "15i9bs2i25l7ibv530ghy8280kklcgm5kr6j86s7iwcqqckd0czp";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index b9848f45aab..d72c2945239 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -4,21 +4,21 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "pijul-${version}";
-  version = "0.4.4";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "https://pijul.org/releases/${name}.tar.gz";
-    sha256 = "8f133b7e14bfa84156c103126d53b12c6dfb996dcdebcf1091199ff9c77f3713";
+    sha256 = "a6b066b49b25d1083320c5ab23941deee795e1fcbe1faa951e95189fd594cdb3";
   };
 
-  sourceRoot = "${name}/pijul";
+  sourceRoot = "pijul";
 
-  buildInputs = [ perl ]++ stdenv.lib.optionals stdenv.isDarwin
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [ Security ]);
 
   doCheck = false;
-  
-  depsSha256 = "1zdvnarg182spgydmqwxxr929j44d771zkq7gyh152173i0xqb20";
+
+  depsSha256 = "0raim0ahqg6fkidb6picfzircdzwdbsdmmv8in70r5hw770bv67r";
 
   meta = with stdenv.lib; {
     description = "A distributed version control system";
diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix
index 4f87f4b569c..e15bc489beb 100644
--- a/pkgs/applications/version-management/vcsh/default.nix
+++ b/pkgs/applications/version-management/vcsh/default.nix
@@ -1,20 +1,25 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchpatch, fetchFromGitHub, which, git, ronn, perl, ShellCommand, TestMost }:
 
 stdenv.mkDerivation rec {
-  version = "1.20151229-1";
+  version = "1.20170226";       # date of commit we're pulling
   name = "vcsh-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/RichiH/vcsh/archive/v${version}.tar.gz";
-    sha256 = "0wgg5zz11ql2v37vby5gbqvnbs80g1q83b9qbvm8d2pqx8bsb0kn";
+  src = fetchFromGitHub {
+    owner = "RichiH";
+    repo = "vcsh";
+    rev = "36a7cedf196793a6d99f9d3ba2e69805cfff23ab";
+    sha256 = "16lb28m4k7n796cc1kifyc1ixry4bg69q9wqivjzygdsb77awgln";
   };
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  patches =
+    [ (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/RichiH/vcsh/pull/222.patch";
+                    sha256 = "0grdbiwq04x5qj0a1yd9a78g5v28dxhwl6mwxvgvvmzs6k5wnl3k";
+                  })
+    ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp vcsh $out/bin
-  '';
+  buildInputs = [ which git ronn perl ShellCommand TestMost ];
+
+  installPhase = "make install PREFIX=$out";
 
   meta = with stdenv.lib; {
     description = "Version Control System for $HOME";
diff --git a/pkgs/applications/video/kodi/commons.nix b/pkgs/applications/video/kodi/commons.nix
new file mode 100644
index 00000000000..7e3446d51db
--- /dev/null
+++ b/pkgs/applications/video/kodi/commons.nix
@@ -0,0 +1,84 @@
+{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib
+, unzip, cmake, kodiPlain, steam, libcec_platform, tinyxml
+, libusb, pcre-cpp, jsoncpp, libhdhomerun }:
+
+rec {
+
+  pluginDir = "/share/kodi/addons";
+
+  kodi-platform = stdenv.mkDerivation rec {
+    project = "kodi-platform";
+    version = "17.1";
+    name = "${project}-${version}";
+
+    src = fetchFromGitHub {
+      owner = "xbmc";
+      repo = project;
+      rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
+      sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
+    };
+
+    buildInputs = [ cmake kodiPlain libcec_platform tinyxml ];
+
+  };
+
+  mkKodiAPIPlugin = { plugin, namespace, version, src, meta, sourceDir ? null, ... }:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+
+    inherit src meta sourceDir;
+
+    name = "kodi-plugin-${plugin}-${version}";
+
+    passthru = {
+      kodiPlugin = pluginDir;
+      namespace = namespace;
+    };
+
+    dontStrip = true;
+
+    installPhase = ''
+      ${if isNull sourceDir then "" else "cd $src/$sourceDir"}
+      d=$out${pluginDir}/${namespace}
+      mkdir -p $d
+      sauce="."
+      [ -d ${namespace} ] && sauce=${namespace}
+      cp -R "$sauce/"* $d
+    '';
+
+  };
+
+  mkKodiPlugin = mkKodiAPIPlugin;
+
+  mkKodiABIPlugin = { plugin, namespace, version, src, meta
+                    , extraBuildInputs ? [], sourceDir ? null, ... }:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+
+    inherit src meta sourceDir;
+
+    name = "kodi-plugin-${plugin}-${version}";
+
+    passthru = {
+      kodiPlugin = pluginDir;
+      namespace = namespace;
+    };
+
+    dontStrip = true;
+
+    buildInputs = [ cmake kodiPlain kodi-platform libcec_platform ]
+               ++ extraBuildInputs;
+
+    # disables check ensuring install prefix is that of kodi
+    cmakeFlags = [
+      "-DOVERRIDE_PATHS=1"
+    ];
+
+    # kodi checks for plugin .so libs existance in the addon folder (share/...)
+    # and the non-wrapped kodi lib/... folder before even trying to dlopen
+    # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
+    installPhase = let n = namespace; in ''
+      make install
+      ln -s $out/lib/addons/${n}/${n}.so.${version} $out/${pluginDir}/${n}.so
+    '';
+
+  };
+}
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 649dad0bb57..33e64c65cf4 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -54,17 +54,16 @@ let
   };
 in stdenv.mkDerivation rec {
     name = "kodi-${version}";
-    version = "17.1";
+    version = "17.3";
 
     src = fetchurl {
       url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
-      sha256 = "1vmvrq0qdjnphw34yils2b5jnm05cmsg777hc4lwqz5mrc1kjgrh";
+      sha256 = "189isc1jagrnq549vwpvb0x1w6p0mkjwv7phm8dzvki96wx6bs0x";
     };
 
     buildInputs = [
-      makeWrapper libxml2 gnutls
-      pkgconfig cmake gnumake yasm python2
-      boost libmicrohttpd autoreconfHook
+      libxml2 gnutls yasm python2
+      boost libmicrohttpd
       gettext pcre-cpp yajl fribidi libva
       openssl gperf tinyxml2 taglib libssh swig jre
       libX11 xproto inputproto which
@@ -91,6 +90,9 @@ in stdenv.mkDerivation rec {
     ++ lib.optional rtmpSupport rtmpdump
     ++ lib.optional joystickSupport SDL2;
 
+    nativeBuildInputs = [
+      autoreconfHook cmake gnumake makeWrapper pkgconfig
+    ];
 
     dontUseCmakeConfigure = true;
 
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 41298269a18..51ff8fece63 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -1,46 +1,9 @@
-{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib
-, unzip, cmake, kodi, steam, libcec_platform, tinyxml }:
+{ stdenv, lib, callPackage, fetchurl, fetchFromGitHub, unzip
+, steam, libusb, pcre-cpp, jsoncpp, libhdhomerun }:
 
-let
+with (callPackage ./commons.nix {});
 
-  pluginDir = "/share/kodi/addons";
-
-  kodi-platform = stdenv.mkDerivation rec {
-    project = "kodi-platform";
-    version = "17.1";
-    name = "${project}-${version}";
-
-    src = fetchFromGitHub {
-      owner = "xbmc";
-      repo = project;
-      rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
-      sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
-    };
-
-    buildInputs = [ cmake kodi libcec_platform tinyxml ];
-  };
-
-  mkKodiPlugin = { plugin, namespace, version, src, meta, sourceDir ? null, ... }:
-  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
-    inherit src meta sourceDir;
-    name = "kodi-plugin-${plugin}-${version}";
-    passthru = {
-      kodiPlugin = pluginDir;
-      namespace = namespace;
-    };
-    dontStrip = true;
-    installPhase = ''
-      ${if isNull sourceDir then "" else "cd $src/$sourceDir"}
-      d=$out${pluginDir}/${namespace}
-      mkdir -p $d
-      sauce="."
-      [ -d ${namespace} ] && sauce=${namespace}
-      cp -R "$sauce/"* $d
-    '';
-  };
-
-in
-{
+rec {
 
   advanced-launcher = mkKodiPlugin rec {
 
@@ -72,6 +35,35 @@ in
 
   };
 
+  advanced-emulator-launcher = mkKodiPlugin rec {
+
+    plugin = "advanced-emulator-launcher";
+    namespace = "plugin.program.advanced.emulator.launcher";
+    version = "0.9.6";
+
+    src = fetchFromGitHub {
+      owner = "Wintermute0110";
+      repo = namespace;
+      rev = version;
+      sha256 = "1sv9z77jj6bam6llcnd9b3dgkbvhwad2m1v541rv3acrackms2z2";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.kodi.tv/showthread.php?tid=287826";
+      description = "A program launcher for Kodi";
+      longDescription = ''
+        Advanced Emulator Launcher is a multi-emulator front-end for Kodi
+        scalable to collections of thousands of ROMs. Includes offline scrapers
+        for MAME and No-Intro ROM sets and also supports scrapping ROM metadata
+        and artwork online. ROM auditing for No-Intro ROMs using No-Intro XML
+        DATs. Launching of games and standalone applications is also available.
+      '';
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
   controllers = let
     pname = "game-controller";
     version = "1.0.3";
@@ -111,11 +103,11 @@ in
 
     plugin = "exodus";
     namespace = "plugin.video.exodus";
-    version = "3.0.5";
+    version = "3.1.13";
 
     src = fetchurl {
       url = "https://offshoregit.com/${plugin}/${namespace}/${namespace}-${version}.zip";
-      sha256 = "0di34sp6y3v72l6gfhj7cvs1vljs9vf0d0x2giix3jk433cj01j0";
+      sha256 = "1zyay7cinljxmpzngzlrr4pnk2a7z9wwfdcsk6a4p416iglyggdj";
     };
 
     meta = with stdenv.lib; {
@@ -155,18 +147,40 @@ in
     };
   };
 
+  joystick = mkKodiABIPlugin rec {
+    namespace = "peripheral.joystick";
+    version = "1.3.6";
+    plugin = namespace;
+
+    src = fetchFromGitHub {
+      owner = "kodi-game";
+      repo = namespace;
+      rev = "5b480ccdd4a87f2ca3283a7b8d1bd69a114af0db";
+      sha256 = "1zf5zwghx96bqk7bx53qra27lfbgfdi1dsk4s3hwixr8ii72cqpp";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Binary addon for raw joystick input.";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+    extraBuildInputs = [ libusb pcre-cpp ];
+
+  };
+
   svtplay = mkKodiPlugin rec {
 
     plugin = "svtplay";
     namespace = "plugin.video.svtplay";
-    version = "4.0.42";
+    version = "4.0.48";
 
     src = fetchFromGitHub {
       name = plugin + "-" + version + ".tar.gz";
       owner = "nilzen";
       repo = "xbmc-" + plugin;
-      rev = "83cb52b949930a1b6d2e51a7a0faf9bd69c7fb7d";
-      sha256 = "0ync2ya4lwmfn6ngg8v0z6bng45whwg280irsn4bam5ca88383iy";
+      rev = "dc18ad002cd69257611d0032fba91f57bb199165";
+      sha256 = "0klk1jpjc243ak306k94mag4b4s17w68v69yb8lzzydszqkaqa7x";
     };
 
     meta = with stdenv.lib; {
@@ -184,6 +198,28 @@ in
 
   };
 
+  steam-controller = mkKodiABIPlugin rec {
+    namespace = "peripheral.steamcontroller";
+    version = "0.9.0";
+    plugin = namespace;
+
+    src = fetchFromGitHub {
+      owner = "kodi-game";
+      repo = namespace;
+      rev = "76f640fad4f68118f4fab6c4c3338d13daca7074";
+      sha256 = "0yqlfdiiymb8z6flyhpval8w3kdc9qv3mli3jg1xn5ac485nxsxh";
+    };
+
+    extraBuildInputs = [ libusb ];
+
+    meta = with stdenv.lib; {
+      description = "Binary addon for steam controller.";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
   steam-launcher = (mkKodiPlugin rec {
 
     plugin = "steam-launcher";
@@ -233,7 +269,8 @@ in
     };
   };
 
-  pvr-hts = (mkKodiPlugin rec {
+  pvr-hts = mkKodiABIPlugin rec {
+
     plugin = "pvr-hts";
     namespace = "pvr.hts";
     version = "3.4.16";
@@ -251,18 +288,30 @@ in
       platforms = platforms.all;
       maintainers = with maintainers; [ cpages ];
     };
-  }).override {
-    buildInputs = [ cmake kodi libcec_platform kodi-platform ];
-
-    # disables check ensuring install prefix is that of kodi
-    cmakeFlags = [ "-DOVERRIDE_PATHS=1" ];
-
-    # kodi checks for plugin .so libs existance in the addon folder (share/...)
-    # and the non-wrapped kodi lib/... folder before even trying to dlopen
-    # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
-    installPhase = ''
-      make install
-      ln -s $out/lib/addons/pvr.hts/pvr.hts.so* $out/share/kodi/addons/pvr.hts
-    '';
+
+  };
+
+  pvr-hdhomerun = mkKodiABIPlugin rec {
+
+    plugin = "pvr-hdhomerun";
+    namespace = "pvr.hdhomerun";
+    version = "2.4.7";
+
+    src = fetchFromGitHub {
+      owner = "kodi-pvr";
+      repo = "pvr.hdhomerun";
+      rev = "60d89d16dd953d38947e8a6da2f8bb84a0f764ef";
+      sha256 = "0dvdv0vk2q12nj0i5h51iaypy3i7jfsxjyxwwpxfy82y8260ragy";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/kodi-pvr/pvr.hdhomerun;
+      description = "Kodi's HDHomeRun PVR client addon";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ titanous ];
+    };
+
+    extraBuildInputs = [ jsoncpp libhdhomerun ];
+
   };
 }
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index c3f54fcaf46..8650142f8b4 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -10,13 +10,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "11.0.0";
+  version = "12.0.0";
 
   src = fetchFromGitHub {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "1qqa8ss2mfjzj984l9vc1fnk7czbvhbmmq53m87gnrc65351gkir";
+    sha256 = "1xn24f9046q2lr1xbl02cpmqa4fhhxqjc14j14c9r6qfc4ix4n9w";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index ba02583a274..37b424d922b 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -93,6 +93,8 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     sed -i /^_install_strip/d configure
+
+    rm -rf ffmpeg
   '';
 
   buildInputs = with stdenv.lib;
@@ -159,6 +161,7 @@ stdenv.mkDerivation rec {
       ${optionalString stdenv.isLinux "--enable-vidix"}
       ${optionalString stdenv.isLinux "--enable-fbdev"}
       --disable-ossaudio
+      --disable-ffmpeg_a
     '';
 
   NIX_LDFLAGS = with stdenv.lib;
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 41967f50bd0..146cb3b0e46 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qmakeHook, qtscript }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-17.4.2";
+  name = "smplayer-17.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "1lc5pj0y56yynygb7cnl98lpvsf82rc0aa4si8isn81nvy07hmq5";
+    sha256 = "0kgrkn50sgr79jfj66p59wka17prnxibf7fbfpg5m0n95kdkr7rg";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/video/smtube/default.nix b/pkgs/applications/video/smtube/default.nix
index ea0bd083b1d..3f0aff6a15b 100644
--- a/pkgs/applications/video/smtube/default.nix
+++ b/pkgs/applications/video/smtube/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, qmakeHook, qtscript, qtwebkit }:
 
 stdenv.mkDerivation rec {
-  version = "17.1.0";
+  version = "17.5.0";
   name = "smtube-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2";
-    sha256 = "1kg45qkr7nvchy9ih24vlbpkn6vd8v8qw5xqsjhjpjkizcmzaa61";
+    sha256 = "13m0ll18n1da8i4r4b7gn0jjz9dgrkkyk9mpfas4rgnjw92m5jld";
   };
 
   makeFlags = [
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index c52d1439012..b806ff65ddb 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -20,19 +20,13 @@ assert (!withQt5 -> qt4 != null);
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.2.4";
+  version = "2.2.6";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
-    sha256 = "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn";
+    sha256 = "1a22b913p2227ljz89c4fgjlyln5gcz8z58w32r0wh4srnnd60y4";
   };
 
-  patches = optional withQt5 (fetchurl {
-    name = "Fix-build-using-old-GCC-intrinsics.patch";
-    url = "https://patches.videolan.org/patch/14061/raw/";
-    sha256 = "16v4k7378a590diz11bdvdaqi9cpf6333hp5wr6v5sfrsma8qvpx";
-  });
-
   # Comment-out the Qt 5.5 version check, as we do apply the relevant patch.
   # https://trac.videolan.org/vlc/ticket/16497
   postPatch = if (!withQt5) then null else
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 4f7ea37ca18..121875a69de 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -23,6 +23,9 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
   hardeningDisable = [ "stackprotector" "pic" "fortify" ];
 
   unpackPhase = ''
+    # $fd is overwritten during the build
+    export OUTPUT_FD=$fd
+
     for file in \
       "${edk2.src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg};
     do
@@ -51,8 +54,8 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
     '';
 
   postFixup = ''
-    mkdir -p $fd/FV
-    mv $out/FV/OVMF{,_CODE,_VARS}.fd $fd/FV
+    mkdir -vp $OUTPUT_FD/FV
+    mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $OUTPUT_FD/FV
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix
index 134df59159b..e40d054520f 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/applications/virtualization/lkl/default.nix
@@ -1,31 +1,35 @@
 { stdenv, fetchFromGitHub, bc, python, fuse, libarchive }:
 
 stdenv.mkDerivation rec {
-  name = "lkl-${stdenv.lib.substring 0 7 rev}";
-  rev  = "d74707304d4e4614081ae2a612a833aeb46622b5";
+  name = "lkl-2017-03-24";
+  rev  = "a063e1631db5e2b9b04f184c5e6d185c1cd645cb";
 
-  buildInputs = [ bc python fuse libarchive ];
+  outputs = [ "dev" "lib" "out" ];
+
+  nativeBuildInputs = [ bc python ];
+
+  buildInputs = [ fuse libarchive ];
 
   src = fetchFromGitHub {
     inherit rev;
     owner  = "lkl";
     repo   = "linux";
-    sha256 = "0x1hdjsrj6hfk1sgfw11ihm00fmp6g158sr2q3cgjy2b6jnsr4hp";
+    sha256 = "07dmira76i0ki577sra4fdl1wvzfzxzd75252lza0sc6jdzrrwvj";
   };
 
   # Fix a /usr/bin/env reference in here that breaks sandboxed builds
   prePatch = "patchShebangs arch/lkl/scripts";
 
   installPhase = ''
-    mkdir -p $out/{bin,lib}
+    mkdir -p $out/bin $lib/lib $dev
 
-    # This tool assumes a different directory structure so let's point it at the right location
     cp tools/lkl/bin/lkl-hijack.sh $out/bin
-    substituteInPlace $out/bin/lkl-hijack.sh --replace '/../' '/../lib'
+    sed -i $out/bin/lkl-hijack.sh \
+        -e "s,LD_LIBRARY_PATH=.*,LD_LIBRARY_PATH=$lib/lib,"
 
     cp tools/lkl/{cptofs,cpfromfs,fs2tar,lklfuse} $out/bin
-    cp -r tools/lkl/include $out
-    cp tools/lkl/liblkl*.{a,so} $out/lib
+    cp -r tools/lkl/include $dev/
+    cp tools/lkl/liblkl*.{a,so} $lib/lib
   '';
 
   # We turn off format and fortify because of these errors (fortify implies -O2, which breaks the jitter entropy code):
@@ -38,7 +42,13 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as extensively as possible with minimal effort and reduced maintenance overhead";
+    description = "The Linux kernel as a library";
+    longDescription = ''
+      LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as
+      extensively as possible with minimal effort and reduced maintenance
+      overhead
+    '';
+    homepage    = https://github.com/lkl/linux/;
     platforms   = [ "x86_64-linux" ]; # Darwin probably works too but I haven't tested it
     license     = licenses.gpl2;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index 81e26f78528..41c2397d59e 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -12,7 +12,7 @@ let
   stage1Dir = "lib/rkt/stage1-images";
 
 in stdenv.mkDerivation rec {
-  version = "1.25.0";
+  version = "1.26.0";
   name = "rkt-${version}";
   BUILDDIR="build-${name}";
 
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
       owner = "coreos";
       repo = "rkt";
       rev = "v${version}";
-      sha256 = "0lcnhyaxq8z0ndwqg0svcc1gg0ahhcprxlf9gifm4mpxqimhaz8j";
+      sha256 = "16zwrx5v6pjjw1c6nbl19cchq71fj0bp5ci52rrfvl5mbn8xrs70";
   };
 
   stage1BaseImage = fetchurl {
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 3ce183d90e2..3c7480e5181 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -5,30 +5,15 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "runc-${version}";
-  version = "1.0.0-rc2";
+  version = "1.0.0-rc3";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "06bxc4g3frh4i1lkzvwdcwmzmr0i52rz4a4pij39s15zaigm79wk";
+    sha256 = "14hdhnni0rz3g0bhcaq95zn2zrhyds0mq2pm2padbamg4bgq4r1c";
   };
 
-  patches = [
-    # Two patches to fix CVE-2016-9962
-    # From https://bugzilla.suse.com/show_bug.cgi?id=1012568
-    (fetchpatch {
-      name = "0001-libcontainer-nsenter-set-init-processes-as-non-dumpa.patch";
-      url = "https://bugzilla.suse.com/attachment.cgi?id=709048&action=diff&context=patch&collapsed=&headers=1&format=raw";
-      sha256 = "1cfsmsyhc45a2929825mdaql0mrhhbrgdm54ly0957j2f46072ck";
-    })
-    (fetchpatch {
-      name = "0002-libcontainer-init-only-pass-stateDirFd-when-creating.patch";
-      url = "https://bugzilla.suse.com/attachment.cgi?id=709049&action=diff&context=patch&collapsed=&headers=1&format=raw";
-      sha256 = "1ykwg1mbvsxsnsrk9a8i4iadma1g0rgdmaj19dvif457hsnn31wl";
-    })
-  ];
-
   outputs = [ "out" "man" ];
 
   hardeningDisable = ["fortify"];
@@ -37,7 +22,16 @@ stdenv.mkDerivation rec {
 
   makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
 
+  preConfigure = ''
+    # Extract the source
+    cd "$NIX_BUILD_TOP"
+    mkdir -p "go/src/github.com/opencontainers"
+    mv "$sourceRoot" "go/src/github.com/opencontainers/runc"
+    export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
+  '';
+
   preBuild = ''
+    cd go/src/github.com/opencontainers/runc
     patchShebangs .
     substituteInPlace libcontainer/apparmor/apparmor.go \
       --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 766779b1299..dad16ffb0f0 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -44,6 +44,10 @@ python2Packages.buildPythonApplication rec {
     ${glib.dev}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas
   '';
 
+  preFixup = ''
+    gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
+  '';
+
   # Failed tests
   doCheck = false;
 
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
index 25a70ee9bce..7e05324a046 100644
--- a/pkgs/applications/virtualization/virt-manager/qt.nix
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "virt-manager-qt-${version}";
-  version = "0.43.70";
+  version = "0.43.70.2";
 
   src = fetchFromGitHub {
     owner  = "F1ash";
     repo   = "qt-virt-manager";
     rev    = "${version}";
-    sha256 = "0d8g0pg15cyi450qgkgi7fh83wkxcqfpphgsh5q10r6jjl87166x";
+    sha256 = "06123bywzgs5y2yskqm8qypj9diym5xip2bdlghfhw30957pcxxg";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index df59f3e0e2e..38f452efe6c 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -97,7 +97,7 @@ stdenv.mkDerivation {
     sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all
 
     # Install binaries
-    install -D -m 4755 lib/VBoxGuestAdditions/mount.vboxsf $out/bin/mount.vboxsf
+    install -D -m 755 lib/VBoxGuestAdditions/mount.vboxsf $out/bin/mount.vboxsf
     install -D -m 755 sbin/VBoxService $out/bin/VBoxService
 
     mkdir -p $out/bin
diff --git a/pkgs/applications/virtualization/xen/4.5.nix b/pkgs/applications/virtualization/xen/4.5.nix
index 3fbdee981c4..c6aa1522160 100644
--- a/pkgs/applications/virtualization/xen/4.5.nix
+++ b/pkgs/applications/virtualization/xen/4.5.nix
@@ -67,6 +67,10 @@ callPackage (import ./generic.nix (rec {
           name = "209-qemuu/0002-cirrus-add-blit_is_unsafe-call-to-cirrus_bitblt_cput";
           sha256 = "0avxqs9922qjfsxxlk7bh10432a526j2yyykhags8dk1bzxkpxwv";
         })
+        (xsaPatch {
+          name = "211-qemuu-4.6";
+          sha256 = "1g090xs8ca8676vyi78b99z5yjdliw6mxkr521b8kimhf8crx4yg";
+        })
       ];
       meta.description = "Xen's fork of upstream Qemu";
     };
@@ -95,6 +99,10 @@ callPackage (import ./generic.nix (rec {
           name = "209-qemut";
           sha256 = "1hq8ghfzw6c47pb5vf9ngxwgs8slhbbw6cq7gk0nam44rwvz743r";
         })
+        (xsaPatch {
+          name = "211-qemut-4.5";
+          sha256 = "1z3phabvqmxv4b5923fx63hwdg4v1fnl15zbl88873ybqn0hp50f";
+        })
       ];
       postPatch = ''
         substituteInPlace xen-hooks.mak \
@@ -219,9 +227,121 @@ callPackage (import ./generic.nix (rec {
         sha256 = "083z9pbdz3f532fnzg7n2d5wzv6rmqc0f4mvc3mnmkd0rzqw8vcp";
       })
       (xsaPatch {
+        name = "206-4.5/0001-xenstored-apply-a-write-transaction-rate-limit";
+        sha256 = "07vsm8mlbxh2s01ny2xywnm1bqhhxas1az31fzwb6f1g14vkzwm4";
+      })
+      (xsaPatch {
+        name = "206-4.5/0002-xenstored-Log-when-the-write-transaction-rate-limit-";
+        sha256 = "17pnvxjmhny22abwwivacfig4vfsy5bqlki07z236whc2y7yzbsx";
+      })
+      (xsaPatch {
+        name = "206-4.5/0003-oxenstored-refactor-putting-response-on-wire";
+        sha256 = "0xf566yicnisliy82cydb2s9k27l3bxc43qgmv6yr2ir3ixxlw5s";
+      })
+      (xsaPatch {
+        name = "206-4.5/0004-oxenstored-remove-some-unused-parameters";
+        sha256 = "16cqx9i0w4w3x06qqdk9rbw4z96yhm0kbc32j40spfgxl82d1zlk";
+      })
+      (xsaPatch {
+        name = "206-4.5/0005-oxenstored-refactor-request-processing";
+        sha256 = "1g2hzlv7w03sqnifbzda85mwlz3bw37rk80l248180sv3k7k6bgv";
+      })
+      (xsaPatch {
+        name = "206-4.5/0006-oxenstored-keep-track-of-each-transaction-s-operatio";
+        sha256 = "0n65yfxvpfd4cz95dpbwqj3nablyzq5g7a0klvi2y9zybhch9cmg";
+      })
+      (xsaPatch {
+        name = "206-4.5/0007-oxenstored-move-functions-that-process-simple-operat";
+        sha256 = "0qllvbc9rnj7jhhlslxxs35gvphvih0ywz52jszj4irm23ka5vnz";
+      })
+      (xsaPatch {
+        name = "206-4.5/0008-oxenstored-replay-transaction-upon-conflict";
+        sha256 = "0lixkxjfzciy9l0f980cmkr8mcsx14c289kg0mn5w1cscg0hb46g";
+      })
+      (xsaPatch {
+        name = "206-4.5/0009-oxenstored-log-request-and-response-during-transacti";
+        sha256 = "09ph8ddcx0k7rndd6hx6kszxh3fhxnvdjsq13p97n996xrpl1x7b";
+      })
+      (xsaPatch {
+        name = "206-4.5/0010-oxenstored-allow-compilation-prior-to-OCaml-3.12.0";
+        sha256 = "1y0m7sqdz89z2vs4dfr45cyvxxas323rxar0xdvvvivgkgxawvxj";
+      })
+      (xsaPatch {
+        name = "206-4.5/0011-oxenstored-comments-explaining-some-variables";
+        sha256 = "1d3n0y9syya4kaavrvqn01d3wsn85gmw7qrbylkclznqgkwdsr2p";
+      })
+      (xsaPatch {
+        name = "206-4.5/0012-oxenstored-handling-of-domain-conflict-credit";
+        sha256 = "12zgid5y9vrhhpk2syxp0x01lzzr6447fa76n6rjmzi1xgdzpaf8";
+      })
+      (xsaPatch {
+        name = "206-4.5/0013-oxenstored-ignore-domains-with-no-conflict-credit";
+        sha256 = "0v3g9pm60w6qi360hdqjcw838s0qcyywz9qpl8gzmhrg7a35avxl";
+      })
+      (xsaPatch {
+        name = "206-4.5/0014-oxenstored-add-transaction-info-relevant-to-history-";
+        sha256 = "0vv3w0h5xh554i9v2vbc8gzm8wabjf2vzya3dyv5yzvly6ygv0sb";
+      })
+      (xsaPatch {
+        name = "206-4.5/0015-oxenstored-support-commit-history-tracking";
+        sha256 = "1iv2vy29g437vj73x9p33rdcr5ln2q0kx1b3pgxq202ghbc1x1zj";
+      })
+      (xsaPatch {
+        name = "206-4.5/0016-oxenstored-only-record-operations-with-side-effects-";
+        sha256 = "1cjkw5ganbg6lq78qsg0igjqvbgph3j349faxgk1p5d6nr492zzy";
+      })
+      (xsaPatch {
+        name = "206-4.5/0017-oxenstored-discard-old-commit-history-on-txn-end";
+        sha256 = "0lm15lq77403qqwpwcqvxlzgirp6ffh301any9g401hs98f9y4ps";
+      })
+      (xsaPatch {
+        name = "206-4.5/0018-oxenstored-track-commit-history";
+        sha256 = "1jh92p6vjhkm3bn5vz260npvsjji63g2imsxflxs4f3r69sz1nkd";
+      })
+      (xsaPatch {
+        name = "206-4.5/0019-oxenstored-blame-the-connection-that-caused-a-transa";
+        sha256 = "17k264pk0fvsamj85578msgpx97mw63nmj0j9v5hbj4bgfazvj4h";
+      })
+      (xsaPatch {
+        name = "206-4.5/0020-oxenstored-allow-self-conflicts";
+        sha256 = "15z3rd49q0pa72si0s8wjsy2zvbm613d0hjswp4ikc6nzsnsh4qy";
+      })
+      (xsaPatch {
+        name = "206-4.5/0021-oxenstored-do-not-commit-read-only-transactions";
+        sha256 = "04wpzazhv90lg3228z5i6vnh1z4lzd08z0d0fvc4br6pkd0w4va8";
+      })
+      (xsaPatch {
+        name = "206-4.5/0022-oxenstored-don-t-wake-to-issue-no-conflict-credit";
+        sha256 = "1shbrn0w68rlywcc633zcgykfccck1a77igmg8ydzwjsbwxsmsjy";
+      })
+      (xsaPatch {
+        name = "206-4.5/0023-oxenstored-transaction-conflicts-improve-logging";
+        sha256 = "1086y268yh8047k1vxnxs2nhp6izp7lfmq01f1gq5n7jiy1sxcq7";
+      })
+      (xsaPatch {
+        name = "206-4.5/0024-oxenstored-trim-history-in-the-frequent_ops-function";
+        sha256 = "014zs6i4gzrimn814k5i7gz66vbb0adkzr2qyai7i4fxc9h9r7w8";
+      })
+      (xsaPatch {
         name = "207";
         sha256 = "0wdlhijmw9mdj6a82pyw1rwwiz605dwzjc392zr3fpb2jklrvibc";
       })
+      (xsaPatch {
+        name = "212";
+        sha256 = "1ggjbbym5irq534a3zc86md9jg8imlpc9wx8xsadb9akgjrr1r8d";
+      })
+      (xsaPatch {
+        name = "213-4.5";
+        sha256 = "1vnqf89ydacr5bq3d6z2r33xb2sn5vsd934rncyc28ybc9rvj6wm";
+      })
+      (xsaPatch {
+        name = "214";
+        sha256 = "0qapzx63z0yl84phnpnglpkxp6b9sy1y7cilhwjhxyigpfnm2rrk";
+      })
+      (xsaPatch {
+        name = "215";
+        sha256 = "0sv8ccc5xp09f1w1gj5a9n3mlsdsh96sdb1n560vh31f4kkd61xs";
+      })
     ];
 
   # Fix build on Glibc 2.24.
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index bfce2cd6ae4..b0b353c5fa2 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -204,6 +204,8 @@ stdenv.mkDerivation (rec {
       --replace SBINDIR=\"$out/sbin\" SBINDIR=\"$out/bin\"
 
     wrapPythonPrograms
+    # We also need to wrap pygrub, which lies in lib
+    wrapPythonProgramsIn "$out/lib" "$out $pythonPath"
 
     shopt -s extglob
     for i in $out/etc/xen/scripts/!(*.sh); do
diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/pkgs/applications/window-managers/fvwm/default.nix
index f8c8a59f6f6..75df68427aa 100644
--- a/pkgs/applications/window-managers/fvwm/default.nix
+++ b/pkgs/applications/window-managers/fvwm/default.nix
@@ -8,11 +8,13 @@
 assert gestures -> libstroke != null;
 
 stdenv.mkDerivation rec {
-  name = "fvwm-2.6.6";
+  pname = "fvwm";
+  version = "2.6.7";
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/fvwmorg/fvwm/releases/download/version-2_6_6/${name}.tar.gz";
-    sha256 = "c5de085ff25b2128a401a80225481e63335f815f84eea139f80a5f66e606dc2c";
+    url = "https://github.com/fvwmorg/fvwm/releases/download/${version}/${name}.tar.gz";
+    sha256 = "01654d5abdcde6dac131cae9befe5cf6f01f9f7524d097c3b0f316e39f84ef73";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/window-managers/i3/blocks-gaps.nix b/pkgs/applications/window-managers/i3/blocks-gaps.nix
index d32e82f100e..83fe3ef163a 100644
--- a/pkgs/applications/window-managers/i3/blocks-gaps.nix
+++ b/pkgs/applications/window-managers/i3/blocks-gaps.nix
@@ -1,5 +1,16 @@
-{ fetchFromGitHub, stdenv }:
+{ fetchFromGitHub, stdenv, perl, makeWrapper
+, iproute, acpi, sysstat, alsaUtils
+, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
+              "load_average" "memory" "volume" "wifi" ]
+}:
 
+with stdenv.lib;
+
+let
+  perlscripts = [ "battery" "cpu_usage" "openvpn" "temperature" ];
+  contains_any = l1: l2: 0 < length( intersectLists l1 l2 );
+
+in
 stdenv.mkDerivation rec {
   name = "i3blocks-gaps-${version}";
   version = "1.4";
@@ -14,6 +25,22 @@ stdenv.mkDerivation rec {
   makeFlags = "all";
   installFlags = "PREFIX=\${out} VERSION=${version}";
 
+  buildInputs = optional (contains_any scripts perlscripts) perl;
+  nativeBuildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/libexec/i3blocks/bandwidth \
+      --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)}
+    wrapProgram $out/libexec/i3blocks/battery \
+      --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
+    wrapProgram $out/libexec/i3blocks/cpu_usage \
+      --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
+    wrapProgram $out/libexec/i3blocks/iface \
+      --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)}
+    wrapProgram $out/libexec/i3blocks/volume \
+      --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
+  '';
+
   meta = with stdenv.lib; {
     description = "A flexible scheduler for your i3bar blocks -- this is a fork to use with i3-gaps";
     homepage = https://github.com/Airblader/i3blocks-gaps;
diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix
index 60f13ce440c..88bf7762dd8 100644
--- a/pkgs/applications/window-managers/i3/blocks.nix
+++ b/pkgs/applications/window-managers/i3/blocks.nix
@@ -1,5 +1,19 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, perl, makeWrapper
+, iproute, acpi, sysstat, xset, playerctl
+, cmus, openvpn, lm_sensors, alsaUtils
+, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
+              "keyindicator" "load_average" "mediaplayer" "memory"
+	            "openvpn" "temperature" "volume" "wifi" ]
+}:
 
+with stdenv.lib;
+
+let
+  perlscripts = [ "battery" "cpu_usage" "keyindicator"
+                  "mediaplayer" "openvpn" "temperature" ];
+  contains_any = l1: l2: 0 < length( intersectLists l1 l2 );
+
+in
 stdenv.mkDerivation rec {
   name = "i3blocks-${version}";
   version = "1.4";
@@ -12,7 +26,31 @@ stdenv.mkDerivation rec {
   buildFlags = "SYSCONFDIR=/etc all";
   installFlags = "PREFIX=\${out} VERSION=${version}";
 
-  meta = with stdenv.lib; {
+  buildInputs = optional (contains_any scripts perlscripts) perl;
+  nativeBuildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/libexec/i3blocks/bandwidth \
+      --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)}
+    wrapProgram $out/libexec/i3blocks/battery \
+      --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
+    wrapProgram $out/libexec/i3blocks/cpu_usage \
+      --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
+    wrapProgram $out/libexec/i3blocks/iface \
+      --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)}
+    wrapProgram $out/libexec/i3blocks/keyindicator \
+      --prefix PATH : ${makeBinPath (optional (elem "keyindicator" scripts) xset)}
+    wrapProgram $out/libexec/i3blocks/mediaplayer \
+      --prefix PATH : ${makeBinPath (optionals (elem "mediaplayer" scripts) [playerctl cmus])}
+    wrapProgram $out/libexec/i3blocks/openvpn \
+      --prefix PATH : ${makeBinPath (optional (elem "openvpn" scripts) openvpn)}
+    wrapProgram $out/libexec/i3blocks/temperature \
+      --prefix PATH : ${makeBinPath (optional (elem "temperature" scripts) lm_sensors)}
+    wrapProgram $out/libexec/i3blocks/volume \
+      --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
+  '';
+
+  meta = {
     description = "A flexible scheduler for your i3bar blocks";
     homepage = https://github.com/vivien/i3blocks;
     license = licenses.gpl3;
diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix
index aa4001f62de..ade6182ec7b 100644
--- a/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/pkgs/applications/window-managers/i3/lock-color.nix
@@ -2,14 +2,14 @@
 , xcbutilimage, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }:
 
 stdenv.mkDerivation rec {
-  version = "2.7-2017-04-01";
+  version = "2.9.1-c";
   name = "i3lock-color-${version}";
 
   src = fetchFromGitHub {
     owner = "chrjguill";
     repo = "i3lock-color";
-    rev = "61f6428aedbe4829d3e0f51d137283c8aec1e206";
-    sha256 = "0h4nzx46kcsp6b1i2lm9y4d1w1icrpvjl8g1h3wbpa5x4crh4703";
+    rev = version;
+    sha256 = "0qnw71qbppgp3ywj1k07av7wkl9syfb8j6izrkhj143q2ks4rkvl";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage pam libX11
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 2082f48d257..40050a69025 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "jwm-${version}";
-  version = "1582";
+  version = "1594";
   
   src = fetchFromGitHub {
     owner = "joewing";
     repo = "jwm";
     rev = "s${version}";
-    sha256 = "1z6cxf18n69sjd20bbyxrnd19hhy955ddvakgpfyhiprpfjkkv70";
+    sha256 = "1608ws3867xipcbdl2gw6ybcxzk14vq24sr62m9l65m4g4m3wbd2";
   };
 
   nativeBuildInputs = [ pkgconfig automake autoconf libtool gettext which ];
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 95c6bee3cc7..e56f1f9a7d4 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -34,6 +34,9 @@ let
   binutils_bin = if nativeTools then "" else getBin binutils;
   # The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
   coreutils_bin = if nativeTools then "" else getBin coreutils;
+
+  default_cxx_stdlib_compile=optionalString (stdenv.isLinux && !(cc.isGNU or false))
+    "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)";
 in
 
 stdenv.mkDerivation {
@@ -46,8 +49,9 @@ stdenv.mkDerivation {
   inherit cc shell libc_bin libc_dev libc_lib binutils_bin coreutils_bin;
   gnugrep_bin = if nativeTools then "" else gnugrep;
 
+
   passthru = {
-    inherit libc nativeTools nativeLibc nativePrefix isGNU isClang;
+    inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile;
 
     emacsBufferSetup = pkgs: ''
       ; We should handle propagation here too
@@ -189,11 +193,7 @@ stdenv.mkDerivation {
 
       export real_cc=cc
       export real_cxx=c++
-      export default_cxx_stdlib_compile="${
-        if stdenv.isLinux && !(cc.isGNU or false)
-          then "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)"
-          else ""
-      }"
+      export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
 
       if [ -e $ccPath/gcc ]; then
         wrap gcc ${./cc-wrapper.sh} $ccPath/gcc
diff --git a/pkgs/build-support/cc-wrapper/utils.sh b/pkgs/build-support/cc-wrapper/utils.sh
index aba5f3295a9..d17930e8ab5 100644
--- a/pkgs/build-support/cc-wrapper/utils.sh
+++ b/pkgs/build-support/cc-wrapper/utils.sh
@@ -23,26 +23,55 @@ badPath() {
         "${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
 }
 
+# @args.rsp parser.
+# Char classes: space, other, backslash, single quote, double quote.
+# States: 0 - outside, 1/2 - unquoted arg/slash, 3/4 - 'arg'/slash, 5/6 - "arg"/slash.
+# State transitions:
+rspT=(01235 01235 11111 33413 33333 55651 55555)
+# Push char on transition:
+rspC[01]=1 rspC[11]=1 rspC[21]=1 rspC[33]=1 rspC[43]=1 rspC[55]=1 rspC[65]=1
+
+rspParse() {
+    rsp=()
+    local s="$1"
+    local state=0
+    local arg=''
+
+    for (( i=0; i<${#s}; i++ )); do
+        local c="${s:$i:1}"
+        local cls=1
+        case "$c" in
+            ' ' | $'\t' | $'\r' | $'\n') cls=0 ;;
+            '\') cls=2 ;;
+            "'") cls=3 ;;
+            '"') cls=4 ;;
+        esac
+        local nextstates="${rspT[$state]}"
+        local nextstate="${nextstates:$cls:1}"
+        if [ "${rspC[$state$nextstate]}" ]; then
+            arg+="$c"
+        elif [ "$state$nextstate" = "10" ]; then
+            rsp+=("$arg")
+            arg=''
+        fi
+        state="$nextstate"
+    done
+
+    if [ "$state" -ne 0 ]; then
+        rsp+=("$arg")
+    fi
+}
+
 expandResponseParams() {
-    local inparams=("$@")
-    local n=0
-    local p
     params=()
-    while [ $n -lt ${#inparams[*]} ]; do
-        p=${inparams[n]}
-        case $p in
-            @*)
-                if [ -e "${p:1}" ]; then
-                    args=$(<"${p:1}")
-                    eval 'for arg in '${args//$/\\$}'; do params+=("$arg"); done'
-                else
-                    params+=("$p")
-                fi
-                ;;
-            *)
-                params+=("$p")
-                ;;
-        esac
-        n=$((n + 1))
+    while [ $# -gt 0 ]; do
+        local p="$1"
+        shift
+        if [ "${p:0:1}" = '@' -a -e "${p:1}" ]; then
+            rspParse "$(<"${p:1}")"
+            set -- "${rsp[@]}" "$@"
+        else
+            params+=("$p")
+        fi
     done
 }
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 05b4a9b4f2d..49cbb7a9817 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -83,16 +83,12 @@ rec {
   };
 
   # 4. example of pulling an image. could be used as a base for other images
-  #
-  # ***** Currently broken, getting 404s. Perhaps the docker API has changed?
-  #
-  #
-  # debian = pullImage {
-  #   imageName = "debian";
-  #   imageTag = "jessie";
-  #   # this hash will need change if the tag is updated at docker hub
-  #   sha256 = "18kd495lc2k35h03bpcbdjnix17nlqbwf6nmq3sb161blf0dk14q";
-  # };
+  nix = pullImage {
+    imageName = "nixos/nix";
+    imageTag = "1.11";
+    # this hash will need change if the tag is updated at docker hub
+    sha256 = "1gk4bq05vl3rj3mh4mlbl4iicgndmimlv8jvkhdk4hrv0r44bwr3";
+  };
 
   # 5. example of multiple contents, emacs and vi happily coexisting
   editors = buildImage {
diff --git a/pkgs/build-support/docker/pull.nix b/pkgs/build-support/docker/pull.nix
index 0e1b147f6e1..5ccd0a41c5e 100644
--- a/pkgs/build-support/docker/pull.nix
+++ b/pkgs/build-support/docker/pull.nix
@@ -1,41 +1,32 @@
-{ stdenv, lib, curl, jshon, python, runCommand }:
-
-# Inspired and simplified version of fetchurl.
+{ stdenv, lib, docker, vmTools, utillinux, curl, kmod, dhcp, cacert, e2fsprogs }:
+let
+  nameReplace = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
+in
 # For simplicity we only support sha256.
+{ imageName, imageTag ? "latest", imageId ? "${imageName}:${imageTag}"
+, sha256, name ? (nameReplace "docker-image-${imageName}-${imageTag}.tar") }:
+let
+  pullImage = vmTools.runInLinuxVM (
+    stdenv.mkDerivation {
+      inherit name imageId;
 
-# Currently only registry v1 is supported, compatible with Docker Hub.
-
-{ imageName, imageTag ? "latest", imageId ? null
-, sha256, name ? "${imageName}-${imageTag}"
-, indexUrl ? "https://index.docker.io"
-, registryVersion ? "v1"
-, curlOpts ? "" }:
-
-assert registryVersion == "v1";
-
-let layer = stdenv.mkDerivation {
-  inherit name imageName imageTag imageId
-          indexUrl registryVersion curlOpts;
+      certs = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
-  builder = ./pull.sh;
-  detjson = ./detjson.py;
+      builder = ./pull.sh;
 
-  buildInputs = [ curl jshon python ];
+      buildInputs = [ curl utillinux docker kmod dhcp cacert e2fsprogs ];
 
-  outputHashAlgo = "sha256";
-  outputHash = sha256;
-  outputHashMode = "recursive";
+      outputHashAlgo = "sha256";
+      outputHash = sha256;
 
-  impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
-    # This variable allows the user to pass additional options to curl
-    "NIX_CURL_FLAGS"
-  ];
+      impureEnvVars = lib.fetchers.proxyImpureEnvVars;
 
-  # Doing the download on a remote machine just duplicates network
-  # traffic, so don't do that.
-  preferLocalBuild = true;
-};
+      preVM = vmTools.createEmptyImage {
+        size = 2048;
+        fullName = "${name}-disk";
+      };
 
-in runCommand "${name}.tar.gz" {} ''
-  tar -C ${layer} -czf $out .
-''
+      QEMU_OPTS = "-netdev user,id=net0 -device virtio-net-pci,netdev=net0";
+    });
+in
+  pullImage
diff --git a/pkgs/build-support/docker/pull.sh b/pkgs/build-support/docker/pull.sh
index 7ba146e9de0..db643f5e88e 100644
--- a/pkgs/build-support/docker/pull.sh
+++ b/pkgs/build-support/docker/pull.sh
@@ -1,86 +1,36 @@
-# Reference: docker src contrib/download-frozen-image.sh
-
 source $stdenv/setup
 
-# Curl flags to handle redirects, not use EPSV, handle cookies for
-# servers to need them during redirects, and work on SSL without a
-# certificate (this isn't a security problem because we check the
-# cryptographic hash of the output anyway).
-curl=$(command -v curl)
-curl() {
-  [[ -n ${token:-} ]] && set -- -H "Authorization: Token $token" "$@"
-  $curl \
-    --location --max-redirs 20 \
-    --retry 3 \
-    --fail \
-    --disable-epsv \
-    --cookie-jar cookies \
-    --insecure \
-    $curlOpts \
-    $NIX_CURL_FLAGS \
-    "$@"
-}
-
-fetchLayer() {
-    local url="$1"
-    local dest="$2"
-    local curlexit=18;
-
-    # if we get error code 18, resume partial download
-    while [ $curlexit -eq 18 ]; do
-        # keep this inside an if statement, since on failure it doesn't abort the script
-        if curl -C - "$url" --output "$dest"; then
-            return 0
-        else
-            curlexit=$?;
-        fi
-    done
-
-    return $curlexit
-}
-
-headers=$(curl -o /dev/null -D- -H 'X-Docker-Token: true' \
-          "$indexUrl/$registryVersion/repositories/$imageName/images")
+mkdir -p /var/lib/docker
+mkfs.ext4 /dev/vda
+mount -t ext4 /dev/vda /var/lib/docker
 
-header() {
-  grep $1 <<< "$headers" | tr -d '\r' | cut -d ' ' -f 2
-}
+modprobe virtio_net
+dhclient eth0
 
-# this only takes the first endpoint, more may be provided
-# https://docs.docker.com/v1.6/reference/api/docker-io_api/
-if ! registryUrl=$(header X-Docker-Endpoints); then
-  echo "error: index returned no endpoint"
-  exit 1
-fi
-baseUrl="https://$registryUrl/$registryVersion"
+mkdir -p /etc/ssl/certs/
+cp "$certs" "/etc/ssl/certs/"
 
-token="$(header X-Docker-Token || true)";
-
-if [ -z "$imageId" ]; then
-    imageId="$(curl "$baseUrl/repositories/$imageName/tags/$imageTag")"
-    imageId="${imageId//\"/}"
-    if [ -z "$imageId" ]; then
-        echo "error: no image ID found for ${imageName}:${imageTag}"
-        exit 1
+# from https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
+mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
+cd /sys/fs/cgroup
+for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
+  mkdir -p $sys
+  if ! mountpoint -q $sys; then
+    if ! mount -n -t cgroup -o $sys cgroup $sys; then
+      rmdir $sys || true
     fi
+  fi
+done
 
-    echo "found image ${imageName}:${imageTag}@$imageId"
-fi
-
-mkdir -p $out
+# run docker daemon
+dockerd -H tcp://127.0.0.1:5555 -H unix:///var/run/docker.sock &
 
-jshon -n object \
-  -n object -s "$imageId" -i "$imageTag" \
-  -i "$imageName" > $out/repositories
+until $(curl --output /dev/null --silent --connect-timeout 2 http://127.0.0.1:5555); do
+  printf '.'
+  sleep 1
+done
 
-curl "$baseUrl/images/$imageId/ancestry" -o ancestry.json
+rm -r $out
 
-layerIds=$(jshon -a -u < ancestry.json)
-for layerId in $layerIds; do
-    echo "fetching layer $layerId"
-    
-    mkdir "$out/$layerId"
-    echo '1.0' > "$out/$layerId/VERSION"
-    curl "$baseUrl/images/$layerId/json" | python $detjson > "$out/$layerId/json"
-    fetchLayer "$baseUrl/images/$layerId/layer" "$out/$layerId/layer.tar"
-done
+docker pull ${imageId}
+docker save ${imageId} > $out
diff --git a/pkgs/build-support/emacs/elpa2nix.el b/pkgs/build-support/emacs/elpa2nix.el
index 7eef81b9e7a..64587c0fad1 100644
--- a/pkgs/build-support/emacs/elpa2nix.el
+++ b/pkgs/build-support/emacs/elpa2nix.el
@@ -28,3 +28,6 @@ The file can either be a tar file or an Emacs Lisp file."
         (insert-file-contents file))
       (when is-tar (tar-mode))
       (elpa2nix-install-from-buffer))))
+
+;; Allow installing package tarfiles larger than 10MB
+(setq large-file-warning-threshold nil)
diff --git a/pkgs/build-support/fetchdarcs/default.nix b/pkgs/build-support/fetchdarcs/default.nix
index c28cc35219c..2df1b136c55 100644
--- a/pkgs/build-support/fetchdarcs/default.nix
+++ b/pkgs/build-support/fetchdarcs/default.nix
@@ -7,7 +7,7 @@ if md5 != "" then
 else
 stdenv.mkDerivation {
   name = "fetchdarcs";
-  SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
   builder = ./builder.sh;
   buildInputs = [darcs];
 
diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh
index 4bbef1d6e62..6ae46469738 100644
--- a/pkgs/build-support/fetchgit/builder.sh
+++ b/pkgs/build-support/fetchgit/builder.sh
@@ -12,4 +12,5 @@ $SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
   ${fetchSubmodules:+--fetch-submodules} \
   ${branchName:+--branch-name "$branchName"}
 
+runHook postFetch
 stopNest
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index d85d2c893c5..a5f81ef1794 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -15,6 +15,9 @@ in
 , fetchSubmodules ? true, deepClone ? false
 , branchName ? null
 , name ? urlToName url rev
+, # Shell code executed after the file has been fetched
+  # successfully. This can do things like check or transform the file.
+  postFetch ? ""
 }:
 
 /* NOTE:
@@ -54,7 +57,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = sha256;
 
-  inherit url rev leaveDotGit fetchSubmodules deepClone branchName;
+  inherit url rev leaveDotGit fetchSubmodules deepClone branchName postFetch;
 
   GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
diff --git a/pkgs/build-support/fetchgx/default.nix b/pkgs/build-support/fetchgx/default.nix
index 6d209cec254..ea91a0854d1 100644
--- a/pkgs/build-support/fetchgx/default.nix
+++ b/pkgs/build-support/fetchgx/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
 
-  SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
   buildPhase = ''
     export GOPATH=$(pwd)/vendor
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index 7a8a161712d..8ed30b37fc7 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -18,6 +18,10 @@ if test -n "$http_proxy"; then
     export HOME="$PWD"
 fi;
 
+if test -z "$LC_ALL"; then
+    export LC_ALL="en_US.UTF-8"
+fi;
+
 # Pipe the "p" character into Subversion to force it to accept the
 # server's certificate.  This is perfectly safe: we don't care
 # whether the server is being spoofed --- only the cryptographic
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 6ed34ec0276..8a1085affd3 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,4 +1,4 @@
-{stdenv, subversion, sshSupport ? false, openssh ? null}:
+{stdenv, subversion, glibcLocales, sshSupport ? false, openssh ? null}:
 {url, rev ? "HEAD", md5 ? "", sha256 ? "",
  ignoreExternals ? false, ignoreKeywords ? false, name ? null}:
 
@@ -31,7 +31,7 @@ else
 stdenv.mkDerivation {
   name = name_;
   builder = ./builder.sh;
-  buildInputs = [subversion];
+  buildInputs = [ subversion glibcLocales ];
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 1dfe968f129..41bfc84c247 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -141,9 +141,11 @@ rec {
     http://bitlbee.intergenia.de/
   ];
 
-  # ImageMagick mirrors, see http://www.imagemagick.org/script/download.php.
+  # ImageMagick mirrors, see https://www.imagemagick.org/script/mirror.php
   imagemagick = [
-    http://www.imagemagick.org/download/
+    https://www.imagemagick.org/download/
+    https://mirror.checkdomain.de/imagemagick/
+    https://ftp.nluug.nl/ImageMagick/
     ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ # also contains older versions removed from most mirrors
     http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/
     ftp://ftp.imagemagick.org/pub/ImageMagick/
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index ed0d5b0043d..d1e8f77fb1f 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -47,6 +47,7 @@ static void init()
 
 static const char * rewrite(const char * path, char * buf)
 {
+    if (path == NULL) return path;
     for (int n = 0; n < nrRedirects; ++n) {
         int len = strlen(from[n]);
         if (strncmp(path, from[n], len) != 0) continue;
diff --git a/pkgs/build-support/plugins.nix b/pkgs/build-support/plugins.nix
new file mode 100644
index 00000000000..bf8a982a88f
--- /dev/null
+++ b/pkgs/build-support/plugins.nix
@@ -0,0 +1,29 @@
+{ stdenv }:
+# helper functions for packaging programs with plugin systems
+{
+
+  /* Takes a list of expected plugin names
+   * and compares it to the found plugins given in the file,
+   * one plugin per line.
+   * If the lists differ, the build fails with a nice message.
+   *
+   * This is helpful to ensure maintainers don’t miss
+   * the addition or removal of a plugin.
+   */
+  diffPlugins = expectedPlugins: foundPluginsFilePath: ''
+     # sort both lists first
+     plugins_expected=$(mktemp)
+     (${stdenv.lib.concatMapStrings (s: "echo \"${s}\";") expectedPlugins}) \
+       | sort -u > "$plugins_expected"
+     plugins_found=$(mktemp)
+     sort -u "${foundPluginsFilePath}" > "$plugins_found"
+
+     if ! mismatches="$(diff -y "$plugins_expected" "$plugins_found")"; then
+       echo "The the list of expected plugins (left side) doesn't match" \
+           "the list of plugins we found (right side):" >&2
+       echo "$mismatches" >&2
+       exit 1
+     fi
+   '';
+
+}
diff --git a/pkgs/build-support/rust/fetch-cargo-deps b/pkgs/build-support/rust/fetch-cargo-deps
index 76661a4f9ec..3c7e034364f 100755
--- a/pkgs/build-support/rust/fetch-cargo-deps
+++ b/pkgs/build-support/rust/fetch-cargo-deps
@@ -148,7 +148,7 @@ EOF
 
             cd "$out/git/checkouts/$name/$branch"
             rev="$(git rev-parse HEAD)"
-            revs="$revs $rev"
+            revs="$rev $revs"
         done < <(find . -type d -name .git -print)
 
         echo "List of revs to keep for git db $name: $revs"
@@ -179,7 +179,7 @@ EOF
             done
 
             # Create ad-hoc branches for the revs we need
-            echo "$revs" | tr " " "\n" | while read -d " " rev; do
+            echo "$revs" | while read -d " " rev; do
                 echo "Creating git branch b_$rev $rev"
                 git branch b_$rev $rev
             done
diff --git a/pkgs/build-support/setup-hooks/audit-tmpdir.sh b/pkgs/build-support/setup-hooks/audit-tmpdir.sh
new file mode 100644
index 00000000000..ffaa61f2d80
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/audit-tmpdir.sh
@@ -0,0 +1,41 @@
+# Check whether RPATHs or wrapper scripts contain references to
+# $TMPDIR. This is a serious security bug because it allows any user
+# to inject files into search paths of other users' processes.
+#
+# It might be better to have Nix scan build output for any occurrence
+# of $TMPDIR (which would also be good for reproducibility), but at
+# the moment that would produce too many spurious errors (e.g. debug
+# info or assertion messages that refer to $TMPDIR).
+
+fixupOutputHooks+=('if [ -z "$noAuditTmpdir" -a -e "$prefix" ]; then auditTmpdir "$prefix"; fi')
+
+auditTmpdir() {
+    local dir="$1"
+    [ -e "$dir" ] || return 0
+
+    header "checking for references to $TMPDIR in $dir..."
+
+    local i
+    while IFS= read -r -d $'\0' i; do
+        if [[ "$i" =~ .build-id ]]; then continue; fi
+
+        if isELF "$i"; then
+            if patchelf --print-rpath "$i" | grep -q -F "$TMPDIR"; then
+                echo "RPATH of binary $i contains a forbidden reference to $TMPDIR"
+                exit 1
+            fi
+        fi
+
+        if  isScript "$i"; then
+            if [ -e "$(dirname $i)/.$(basename $i)-wrapped" ]; then
+                if grep -q -F "$TMPDIR" "$i"; then
+                    echo "wrapper script $i contains a forbidden reference to $TMPDIR"
+                    exit 1
+                fi
+            fi
+        fi
+
+    done < <(find "$dir" -type f -print0)
+
+    stopNest
+}
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh
index eafc770a8e1..62a6491b8dc 100644
--- a/pkgs/build-support/setup-hooks/multiple-outputs.sh
+++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh
@@ -61,7 +61,7 @@ _multioutConfig() {
             local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")"
         fi
                                     # PACKAGE_TARNAME sometimes contains garbage.
-        if [ -n "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z-_0-9]'; then
+        if [ -n "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then
             shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"
         fi
     fi
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 1529869aa33..4debd963639 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -71,7 +71,7 @@ rec {
       ''
         mkdir -p $out
         for i in $paths; do
-          ${lndir}/bin/lndir $i $out
+          ${lndir}/bin/lndir -silent $i $out
         done
         ${postBuild}
       '';
diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix
index 9009702113e..17803a28330 100644
--- a/pkgs/build-support/vm/windows/controller/default.nix
+++ b/pkgs/build-support/vm/windows/controller/default.nix
@@ -185,7 +185,7 @@ let
     MONITOR_SOCKET="$(pwd)/monitor"
     WINVM_PIDFILE="$(pwd)/winvm.pid"
     CTRLVM_PIDFILE="$(pwd)/ctrlvm.pid"
-    ${vde2}/bin/vde_switch -s "$QEMU_VDE_SOCKET" &
+    ${vde2}/bin/vde_switch -s "$QEMU_VDE_SOCKET" --dirmode 0700 &
     echo 'alive?' | ${socat}/bin/socat - \
       UNIX-CONNECT:$QEMU_VDE_SOCKET/ctl,retry=20
   '';
diff --git a/pkgs/data/fonts/arphic/default.nix b/pkgs/data/fonts/arphic/default.nix
new file mode 100644
index 00000000000..b392ac79b2d
--- /dev/null
+++ b/pkgs/data/fonts/arphic/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchurl, mkfontscale, mkfontdir }:
+
+{
+  arphic-ukai = stdenv.mkDerivation rec {
+    name = "arphic-ukai-${version}";
+
+    version = "0.2.20080216.2";
+
+    src = fetchurl {
+      url = "http://archive.ubuntu.com/ubuntu/pool/main/f/fonts-arphic-ukai/fonts-arphic-ukai_${version}.orig.tar.bz2";
+      sha256 = "1lp3i9m6x5wrqjkh1a8vpyhmsrhvsa2znj2mx13qfkwza5rqv5ml";
+    };
+
+    buildInputs = [ mkfontscale mkfontdir ];
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    installPhase = ''
+      install -D -v ukai.ttc $out/share/fonts/truetype/arphic-ukai.ttc
+      cd $out/share/fonts
+      mkfontdir
+      mkfontscale
+    '';
+
+    meta = with stdenv.lib; {
+      description = "CJK Unicode font Kai style";
+      homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/;
+
+      license = licenses.arphicpl;
+      maintainers = [ maintainers.changlinli ];
+      platforms = platforms.all;
+    };
+  };
+
+  arphic-uming = stdenv.mkDerivation rec {
+    name = "arphic-uming-${version}";
+
+    version = "0.2.20080216.2";
+
+    src = fetchurl {
+      url = "http://archive.ubuntu.com/ubuntu/pool/main/f/fonts-arphic-uming/fonts-arphic-uming_${version}.orig.tar.bz2";
+      sha256 = "1ny11n380vn7sryvy1g3a83y3ll4h0jf9wgnrx55nmksx829xhg3";
+    };
+
+    buildInputs = [ mkfontscale mkfontdir ];
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    installPhase = ''
+      install -D -v uming.ttc $out/share/fonts/truetype/arphic-uming.ttc
+      cd $out/share/fonts
+      mkfontdir
+      mkfontscale
+    '';
+
+    meta = with stdenv.lib; {
+      description = "CJK Unicode font Ming style";
+      homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/;
+
+      license = licenses.arphicpl;
+      maintainers = [ maintainers.changlinli ];
+      platforms = platforms.all;
+    };
+  };
+}
diff --git a/pkgs/data/fonts/droid/default.nix b/pkgs/data/fonts/droid/default.nix
index 8051606632d..fd32f478b71 100644
--- a/pkgs/data/fonts/droid/default.nix
+++ b/pkgs/data/fonts/droid/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Droid Family fonts by Google Android";
-    homepage = [ https://github.com/google/fonts ];
+    homepage = "https://github.com/google/fonts";
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.all;
     maintainers = [];
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 5fde19e0128..10bc5787e40 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "iosevka-${version}";
-  version = "1.12.5";
+  version = "1.13.0";
 
   buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip";
-    sha256 = "0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi";
+    sha256 = "03jc8a10177wk35gyp0n317azakyy5qzc6vbh331552asawckswr";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
new file mode 100644
index 00000000000..074fceeac94
--- /dev/null
+++ b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, fontforge, pythonFull }:
+
+stdenv.mkDerivation rec {
+  name = "rictydiminished-with-firacode-${version}";
+  version = "0.0.1";
+  src = fetchgit {
+    url = "https://github.com/hakatashi/RictyDiminished-with-FiraCode.git";
+    rev = "refs/tags/${version}";
+    sha256 = "12lhb0k4d8p4lzw9k6hlsxpfpc15zfshz1h5cbaa88sb8n5jh360";
+    fetchSubmodules = true;
+  };
+
+  buildPhase = ''
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/rictydiminished-with-firacode
+    cp *.ttf $out/share/fonts/rictydiminished-with-firacode
+  '';
+
+  nativeBuildInputs = [
+    fontforge
+    (pythonFull.withPackages (ps: [
+      ps.jinja2
+      ps."3to2"
+      ps.fonttools
+    ]))
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/hakatashi/RictyDiminished-with-FiraCode;
+    description = "The best Japanese programming font meets the awesone ligatures of Firacode";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ mt-caret ];
+  };
+}
+
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
index 07c5828a9e7..282a0dd1596 100644
--- a/pkgs/data/misc/geolite-legacy/default.nix
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -8,26 +8,26 @@ let
 in
 stdenv.mkDerivation rec {
   name = "geolite-legacy-${version}";
-  version = "2016-07-08";
+  version = "2017-05-26";
 
   srcGeoIP = fetchDB
     "GeoLiteCountry/GeoIP.dat.gz" "GeoIP.dat.gz"
-    "03rp862snj4pxpz272az2mjp0vdw9a6rzbzcml9bzwvsi1ap5sl7";
+    "04akk0jczvki8rdvz6z6v5s26ds0m27953lzvp3v0fsg7rl08q5n";
   srcGeoIPv6 = fetchDB
     "GeoIPv6.dat.gz" "GeoIPv6.dat.gz"
-    "1s5y6r4ji1ljsl1d3w9mcqppxy2kvxjk5aq5lldbj616rbcp2v72";
+    "0i0885vvj0s5sysyafvk8pc8gr3znh7gmiy8rp4iiai7qnbylb7y";
   srcGeoLiteCity = fetchDB
     "GeoLiteCity.dat.xz" "GeoIPCity.dat.xz"
-    "07dp3wf5b6g62y6zgm9f1zfc7gn2wnss7fjdips879373kj3lgbr";
+    "0bgf4kfg4mmqvgmrff27lbiglnnb3pnd7f3i4fxzl68c33bizmbm";
   srcGeoLiteCityv6 = fetchDB
     "GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz" "GeoIPCityv6.dat.gz"
-    "1y7c8f84x99dbrqij124bylddc7bmcld1xp4h3qxvmmp8ch5hcxz";
+    "06slyw2644y2z5bgn4yl79aa4smf94mdcddybldh1glc3ay3p4iz";
   srcGeoIPASNum = fetchDB
     "asnum/GeoIPASNum.dat.gz" "GeoIPASNum.dat.gz"
-    "168z6j6adrn80sl3ip41fa0jfv2p26lfa8qil6w17sqhg8f61rnp";
+    "1gpvsqvq9z9pg9zfn86i50fb481llfyn79r1jwddwfflp1qqfrrv";
   srcGeoIPASNumv6 = fetchDB
     "asnum/GeoIPASNumv6.dat.gz" "GeoIPASNumv6.dat.gz"
-    "0q0vgjgxixcq5qnl5d6hxg3bpsbylmmjkhdp308vbbd68q6fws22";
+    "0nmhz82dn9clm5w2y6z861ifj7i761spy1p1zcam93046cdpqqaa";
 
   meta = with stdenv.lib; {
     description = "GeoLite Legacy IP geolocation databases";
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index fd8b50e4c0b..5b54ea2178c 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -6,6 +6,6 @@
 fetchFromGitHub {
   owner = "commercialhaskell";
   repo = "all-cabal-hashes";
-  rev = "53fcf983669a3f0cdfd795fec28ecb40740a64ca";
-  sha256 = "0jfrr6mjb3x1ybgrsinhm0nl3jmdjyf9mghpgsm75lgr83cm12a5";
+  rev = "60443435510c1523ae4596f20595a274531dd485";
+  sha256 = "1k3c0ix5rax92ywrpjxd7cmbzwsgrv03s6dvq6wjm8vljchqg4li";
 }
diff --git a/pkgs/data/misc/nixos-artwork/default.nix b/pkgs/data/misc/nixos-artwork/default.nix
index b35a96fff82..71fe32c1066 100644
--- a/pkgs/data/misc/nixos-artwork/default.nix
+++ b/pkgs/data/misc/nixos-artwork/default.nix
@@ -1,23 +1,5 @@
-{ stdenv, fetchurl }:
+{ callPackage }:
 
-stdenv.mkDerivation {
-  name = "nixos-artwork-2015-02-27";
-  # Remember to check the default lightdm wallpaper when updating
-
-  GnomeDark = fetchurl {
-    url = https://raw.githubusercontent.com/NixOS/nixos-artwork/7ece5356398db14b5513392be4b31f8aedbb85a2/gnome/Gnome_Dark.png;
-    sha256 = "0c7sl9k4zdjwvdz3nhlm8i4qv4cjr0qagalaa1a438jigixx27l7";
-  };
-
-  unpackPhase = "true";
-
-  installPhase = ''
-    mkdir -p $out/share/artwork/gnome
-    ln -s $GnomeDark $out/share/artwork/gnome/Gnome_Dark.png
-  '';
-  
-  meta = with stdenv.lib; {
-    homepage = https://github.com/NixOS/nixos-artwork;
-    platforms = platforms.all;
-  };
+rec {
+  wallpapers = callPackage ./wallpapers.nix { };
 }
diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix
new file mode 100644
index 00000000000..254f13825ab
--- /dev/null
+++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl }:
+
+let
+  mkNixBackground = { name, src, description } @ attrs:
+
+    stdenv.mkDerivation {
+      inherit name src;
+
+      unpackPhase = "true";
+
+      installPhase = ''
+        mkdir -p $out/share/artwork/gnome
+        ln -s $src $out/share/artwork/gnome/${src.name}
+      '';
+
+      meta = with stdenv.lib; {
+        inherit description;
+        homepage = https://github.com/NixOS/nixos-artwork;
+        license = licenses.free;
+        platforms = platforms.all;
+      };
+    };
+
+in
+
+{
+
+  gnome-dark = mkNixBackground {
+    name = "gnome-dark-2015-02-27";
+    description = "Gnome Dark background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/Nix/nixos-artwork/7ece5356398db14b5513392be4b31f8aedbb85a2/gnome/Gnome_Dark.png;
+      sha256 = "0c7sl9k4zdjwvdz3nhlm8i4qv4cjr0qagalaa1a438jigixx27l7";
+    };
+  };
+
+  mosaic-blue = mkNixBackground {
+    name = "mosaic-blue-2016-02-19";
+    description = "Mosaic blue background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-mosaic-blue.png;
+      sha256 = "1cbcssa8qi0giza0k240w5yy4yb2bhc1p1r7pw8qmziprcmwv5n5";
+    };
+  };
+
+  simple-blue = mkNixBackground {
+    name = "simple-blue-2016-02-19";
+    description = "Simple blue background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-blue.png;
+      sha256 = "1llr175m454aqixxwbp3kb5qml2hi1kn7ia6lm7829ny6y7xrnms";
+    };
+  };
+
+  simple-dark-gray = mkNixBackground {
+    name = "simple-dark-gray-2016-02-19";
+    description = "Simple dark gray background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-dark-gray.png;
+      sha256 = "1282cnqc5qynp0q9gdll7bgpw23yp5bhvaqpar59ibkh3iscg8i5";
+    };
+  };
+
+  simple-light-gray = mkNixBackground {
+    name = "simple-light-gray-2016-02-19";
+    description = "Simple light gray background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-light-gray.png;
+      sha256 = "0i6d0xv1nzrv7na9hjrgzl3jrwn81vnprnq2pxyznlxbjcgkjnk2";
+    };
+  };
+
+  simple-red = mkNixBackground {
+    name = "simple-red-2016-02-19";
+    description = "Simple red background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-red.png;
+      sha256 = "16drprsi3q8xbxx3bxp54yld04c4lq6jankw8ww1irg7z61a6wjs";
+    };
+  };
+
+  stripes-logo = mkNixBackground {
+    name = "stripes-logo-2016-02-19";
+    description = "Stripes logo background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-stripes-logo.png;
+      sha256 = "0cqjkgp30428c1yy8s4418k4qz0ycr6fzcg4rdi41wkh5g1hzjnl";
+    };
+  };
+
+  stripes = mkNixBackground {
+    name = "stripes-2016-02-19";
+    description = "Stripes background for Nix";
+    src = fetchurl {
+      url = https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-stripes.png;
+      sha256 = "116337wv81xfg0g0bsylzzq2b7nbj6hjyh795jfc9mvzarnalwd3";
+    };
+  };
+
+}
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
index a955f5cf8a4..a527765688d 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, ruby }:
 
 let
 
@@ -10,6 +10,8 @@ let
       inherit sha256;
     };
 
+    buildInputs = [ ruby ];
+
     dontBuild = true;
 
     installPhase = ''
@@ -21,6 +23,9 @@ let
       # Backwards compatibility. Will remove eventually.
       mkdir -p $out/xml/xsl
       ln -s $dst $out/xml/xsl/docbook
+
+      ln -sv $dst/epub/bin $out
+      chmod +x $out/bin/dbtoepub
     '';
 
     meta = {
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index 2b92e366296..e9302fca674 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "1pza8lacqh3bgsvcm4h2hyc577bvnzix932g87dhg03ph4839q54";
+    sha256 = "0fndwraca9rg0bz3al4isdprvyw56szr88qiyvglb4j8ygsylscc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index 23805b469ae..968cf8baf6a 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -4,11 +4,11 @@ mesa_glu , xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.21.7";
+  version = "0.21.8";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "1xvngjdsa0p901vfhrh2qpa50k32hwwhc8bgi16a9b5d9byzfhvn";
+    sha256 = "0cjjiip12hd8bfjl9ccl3vzl81pxh1wpymxk2yvrzf6ap5girhps";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/3.22/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.22/core/gnome-backgrounds/default.nix
index 32d6d6e7535..eb801caf565 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gnome-backgrounds/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gnome-backgrounds/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/default.nix b/pkgs/desktops/gnome-3/3.22/default.nix
index d9b26d6aee3..b1293cb47ba 100644
--- a/pkgs/desktops/gnome-3/3.22/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/default.nix
@@ -45,7 +45,7 @@ let
     hitori gnome-taquin
   ];
 
-  inherit (pkgs) glib gtk2 webkitgtk214x gtk3 gtkmm3 libcanberra_gtk2
+  inherit (pkgs) glib gtk2 webkitgtk216x gtk3 gtkmm3 libcanberra_gtk2
     clutter clutter-gst clutter_gtk cogl gtkvnc;
   inherit (pkgs.gnome2) ORBit2;
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
@@ -56,7 +56,7 @@ let
   gtkmm = gtkmm3;
   vala = pkgs.vala_0_32;
   gegl_0_3 = pkgs.gegl_0_3.override { inherit gtk; };
-  webkitgtk = webkitgtk214x;
+  webkitgtk = webkitgtk216x;
 
 # Simplify the nixos module and gnome packages
   defaultIconTheme = adwaita-icon-theme;
diff --git a/pkgs/desktops/kde-4.14/kdepimlibs.nix b/pkgs/desktops/kde-4.14/kdepimlibs.nix
index 5e7643469b6..1f412d3c766 100644
--- a/pkgs/desktops/kde-4.14/kdepimlibs.nix
+++ b/pkgs/desktops/kde-4.14/kdepimlibs.nix
@@ -1,7 +1,7 @@
 { kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, prison
 , kdelibs, akonadi, libxslt
 , shared_mime_info, shared_desktop_ontologies, qjson
-, automoc4, cmake, perl
+, automoc4, cmake_2_8, perl
 }:
 
 kde {
@@ -11,7 +11,7 @@ kde {
 
   setOutputFlags = false;
 
-  nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
+  nativeBuildInputs = [ automoc4 cmake_2_8 perl pkgconfig ];
 
   cmakeFlags = [
     "-DCMAKE_MINIMUM_REQUIRED_VERSION=3.3"
diff --git a/pkgs/desktops/lxde/core/lxappearance/default.nix b/pkgs/desktops/lxde/core/lxappearance/default.nix
index b6b63e31615..9793ff9c250 100644
--- a/pkgs/desktops/lxde/core/lxappearance/default.nix
+++ b/pkgs/desktops/lxde/core/lxappearance/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk2 }:
+{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk2, withGtk3 ? false, gtk3 }:
 
 stdenv.mkDerivation rec {
   name = "lxappearance-0.6.3";
@@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
-  buildInputs = [ libX11 gtk2 ];
+  buildInputs = [ libX11 (if withGtk3 then gtk3 else gtk2) ];
+
+  patches = [ ./lxappearance-0.6.3-xdg.system.data.dirs.patch ];
+
+  configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3";
 
   meta = {
     description = "A lightweight program for configuring the theme and fonts of gtk applications";
diff --git a/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch b/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch
new file mode 100644
index 00000000000..a63882aa2a7
--- /dev/null
+++ b/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch
@@ -0,0 +1,27 @@
+--- lxappearance-0.6.3/src/widget-theme.c.orig	2016-02-20 20:48:38.000000000 -0200
++++ lxappearance-0.6.3/src/widget-theme.c	2017-06-09 17:37:53.369555085 -0300
+@@ -66,6 +66,7 @@
+ static void load_themes()
+ {
+     char* dir;
++    const gchar * const * dirs;
+     GSList* themes = NULL, *l;
+     GtkTreeIter sel_it = {0};
+     GtkTreeSelection* tree_sel;
+@@ -85,6 +86,16 @@
+     themes = load_themes_in_dir(dir, themes);
+     g_free(dir);
+ 
++    /* load from sharedata theme dirs */
++    dirs = g_get_system_data_dirs();
++    while (*dirs != NULL)
++    {
++        dir = g_build_filename(*dirs, "themes", NULL);
++        themes = load_themes_in_dir(dir, themes);
++        g_free(dir);
++        dirs++;
++    }
++
+     themes = g_slist_sort(themes, (GCompareFunc)strcmp);
+     for(l = themes; l; l=l->next)
+     {
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 8dae4190237..6fa9c991dbd 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -89,6 +89,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   xfce4_fsguard_plugin          = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix          { };
   xfce4_genmon_plugin           = callPackage ./panel-plugins/xfce4-genmon-plugin.nix           { };
   xfce4-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-plugin.nix { };
+  xfce4_namebar_plugin          = callPackage ./panel-plugins/xfce4-namebar-plugin.nix          { };
   xfce4_netload_plugin          = callPackage ./panel-plugins/xfce4-netload-plugin.nix          { };
   xfce4_notes_plugin            = callPackage ./panel-plugins/xfce4-notes-plugin.nix            { };
   xfce4_mailwatch_plugin        = callPackage ./panel-plugins/xfce4-mailwatch-plugin.nix        { };
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix
index 42f155f39e2..fbc841db1fc 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix
@@ -30,7 +30,9 @@ stdenv.mkDerivation rec {
 
   installPhase = "python waf install";
 
-  postFixup = "wrapPythonPrograms";
+  postFixup = ''
+    wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/TiZ-EX1/xfce4-dockbarx-plugin;
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix
new file mode 100644
index 00000000000..5822ff173c9
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix
@@ -0,0 +1,35 @@
+{ stdenv, pkgconfig, fetchFromGitHub, python2, vala, gtk2, libwnck, libxfce4util, xfce4panel }:
+
+stdenv.mkDerivation rec {
+  ver = "0.3.1";
+  rev = "07a23b3";
+  name = "xfce4-namebar-plugin-${ver}";
+
+  src = fetchFromGitHub {
+    owner = "TiZ-EX1";
+    repo = "xfce4-namebar-plugin";
+    rev = rev;
+    sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad";
+  };
+
+  buildInputs = [ pkgconfig python2 vala gtk2 libwnck libxfce4util xfce4panel ];
+
+  postPatch = ''
+    substituteInPlace src/preferences.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }"
+    substituteInPlace src/namebar.vala     --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }"
+  '';
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf build";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/TiZ-EX1/xfce4-namebar-plugin;
+    description = "A plugins which integrates titlebar and window controls into the xfce4-panel";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.volth ];
+  };
+}
diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix
index fbc139c314f..fdb9d1be6ad 100644
--- a/pkgs/development/arduino/arduino-core/default.nix
+++ b/pkgs/development/arduino/arduino-core/default.nix
@@ -54,25 +54,25 @@ let
              + stdenv.lib.optionalString (!withGui) "-core";
 in
 stdenv.mkDerivation rec {
-  version = "1.6.12";
+  version = "1.8.2";
   name = "${flavor}-${version}";
 
   src = fetchFromGitHub {
     owner = "arduino";
     repo = "Arduino";
     rev = "${version}";
-    sha256 = "0rz8dv1mncwx2wkafakxqdi2y0rq3f72fr57cg0z5hgdgdm89lkh";
+    sha256 = "1ssznjmzmahayslj2xnci9b5wpsl53nyg85say54akng93qipmfb";
   };
 
   teensyduino_src = fetchurl {
-    url = "http://www.pjrc.com/teensy/td_131/TeensyduinoInstall.${teensy_architecture}";
+    url = "https://www.pjrc.com/teensy/td_136/TeensyduinoInstall.${teensy_architecture}";
     sha256 =
       lib.optionalString ("${teensy_architecture}" == "linux64")
-        "1q4wv6s0900hyv9z1mjq33fr2isscps4q3bsy0h12wi3l7ir94g9"
+        "0qvb5z9y6nsqy0kzib9fvvbn8dakl50vib6r3nm6bnpvyxzwjl2r"
       + lib.optionalString ("${teensy_architecture}" == "linux32")
-        "06fl951f44avqyqim5qmy73siylbqcnsmz55zmj2dzhgf4sflkvc"
+        "14ca62vq7cpx269vfd92shi80qj8spf0dzli8gfcb39ss2zc4jf1"
       + lib.optionalString ("${teensy_architecture}" == "linuxarm")
-        "0ldf33w8wkqwklcj8fn4p22f23ibpwpf7873dc6i2jfmmbx0yvxn";
+        "122z1gxcgkmwjb8wdklb2w8c3qkj5rc1ap5n4a8fi3kjz29va9rx";
   };
 
   buildInputs = [ jdk ant libusb libusb1 unzip zlib ncurses5 readline
@@ -93,6 +93,10 @@ stdenv.mkDerivation rec {
       cp -v $file_src $file_dst
     done
 
+    # Deliberately break build.xml's download statement in order to cause
+    # an error if anything needed is missing from download.nix.
+    substituteInPlace build/build.xml --replace "get src" "get error"
+
     cd ./arduino-core && ant
     cd ../build && ant 
     cd ..
@@ -208,7 +212,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Open-source electronics prototyping platform";
     homepage = http://arduino.cc/;
-    license = stdenv.lib.licenses.gpl2;
+    license = if withTeensyduino then licenses.unfreeRedistributable else licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ antono auntie robberer bjornfor ];
   };
diff --git a/pkgs/development/arduino/arduino-core/downloads.nix b/pkgs/development/arduino/arduino-core/downloads.nix
index 9d3ed56bee9..f74da977372 100644
--- a/pkgs/development/arduino/arduino-core/downloads.nix
+++ b/pkgs/development/arduino/arduino-core/downloads.nix
@@ -2,28 +2,28 @@
 
 {
   "build/shared/reference-1.6.6-3.zip" = fetchurl {
-    url = "http://downloads.arduino.cc/reference-1.6.6-3.zip";
+    url = "https://downloads.arduino.cc/reference-1.6.6-3.zip";
     sha256 = "119nj1idz85l71fy6a6wwsx0mcd8y0ib1wy0l6j9kz88nkwvggy3";
   };
   "build/shared/Galileo_help_files-1.6.2.zip" = fetchurl {
-    url = "http://downloads.arduino.cc/Galileo_help_files-1.6.2.zip";
+    url = "https://downloads.arduino.cc/Galileo_help_files-1.6.2.zip";
     sha256 = "0qda0xml353sfhjmx9my4mlcyzbf531k40dcr1cnsa438xp2fw0w";
   };
   "build/shared/Edison_help_files-1.6.2.zip" = fetchurl {
-    url = "http://downloads.arduino.cc/Edison_help_files-1.6.2.zip";
+    url = "https://downloads.arduino.cc/Edison_help_files-1.6.2.zip";
     sha256 = "1x25rivmh0zpa6lr8dafyxvim34wl3wnz3r9msfxg45hnbjqqwan";
   };
-  "build/Firmata-2.5.3.zip" = fetchurl {
-    url = "https://github.com/arduino-libraries/Firmata/archive/2.5.3.zip";
-    sha256 = "1ims6bdmwv8lgcvd4ri4i39vqm1q5jbwirmki35bybqqb1sl171v";
+  "build/Firmata-2.5.6.zip" = fetchurl {
+    url = "https://github.com/arduino-libraries/Firmata/archive/2.5.6.zip";
+    sha256 = "117dd4pdlgv60gdlgm2ckjfq89i0dg1q8vszg6hxywdf701c1fk4";
   };
   "build/Bridge-1.6.3.zip" = fetchurl {
     url = "https://github.com/arduino-libraries/Bridge/archive/1.6.3.zip";
     sha256 = "1lha5wkzz63bgcn7bhx4rmgsh9ywa47lffycpyz6qjnl1pvm5mmj";
   };
-  "build/Robot_Control-1.0.2.zip" = fetchurl {
-    url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.2.zip";
-    sha256 = "1wdpz3ilnza3lfd5a628dryic46j72h4a89y8vp0qkbscvifcvdk";
+  "build/Robot_Control-1.0.3.zip" = fetchurl {
+    url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.3.zip";
+    sha256 = "1pc3b8skbpx7j32jnxa67mfqhnsmfz3876pc9mdyzpsad4mmcn62";
   };
   "build/Robot_Motor-1.0.2.zip" = fetchurl {
     url = "https://github.com/arduino-libraries/Robot_Motor/archive/1.0.2.zip";
@@ -37,9 +37,9 @@
     url = "https://github.com/arduino-libraries/SpacebrewYun/archive/1.0.1.zip";
     sha256 = "1zs6ymlzw66bglrm0x6d3cvr52q85c8rlm525x0wags111xx3s90";
   };
-  "build/Temboo-1.1.7.zip" = fetchurl {
-    url = "https://github.com/arduino-libraries/Temboo/archive/1.1.7.zip";
-    sha256 = "0fq2q6qs0qp15njsl9dif8dkpxgb4cgg8jk3s5y0fcz9lb8m2j50";
+  "build/Temboo-1.2.1.zip" = fetchurl {
+    url = "https://github.com/arduino-libraries/Temboo/archive/1.2.1.zip";
+    sha256 = "1fyzfihsbcjpjasqbmbbfcall2zl48nzrp4xk9pslppal31mvl8x";
   };
   "build/Esplora-1.0.4.zip" = fetchurl {
     url = "https://github.com/arduino-libraries/Esplora/archive/1.0.4.zip";
@@ -53,72 +53,100 @@
     url = "https://github.com/arduino-libraries/Keyboard/archive/1.0.1.zip";
     sha256 = "1spv73zhjbrb0vgpzjnh6wr3bddlbyzv78d21dbn8z2l0aqv2sac";
   };
+  "build/SD-1.1.1.zip" = fetchurl {
+    url = "https://github.com/arduino-libraries/SD/archive/1.1.1.zip";
+    sha256 = "0nackcf7yx5np1s24wnsrcjl8j0nlmqqir6316vqqkfayvb1247n";
+  };
+  "build/Servo-1.1.2.zip" = fetchurl {
+    url = "https://github.com/arduino-libraries/Servo/archive/1.1.2.zip";
+    sha256 = "14k1883qrx425wnm0r8kszzq32yvvs3jwxf3g7ybp7v0ga0q47l7";
+  };
+  "build/Adafruit_CircuitPlayground-1.6.4.zip" = fetchurl {
+    url = "https://github.com/Adafruit/Adafruit_CircuitPlayground/archive/1.6.4.zip";
+    sha256 = "1ph7m0l1sfx9db56n2h6vi78pn3zyah813lfhqiqghncx34amrhj";
+  };
   "build/libastylej-2.05.1-3.zip" = fetchurl {
-    url = "http://downloads.arduino.cc/libastylej-2.05.1-3.zip";
+    url = "https://downloads.arduino.cc/libastylej-2.05.1-3.zip";
     sha256 = "0a1xy2cdl0xls5r21vy5d2j1dapn1jsdw0vbimlwnzfx7r84mxa6";
   };
-  "build/liblistSerials-1.1.4.zip" = fetchurl {
-    url = "http://downloads.arduino.cc/liblistSerials/liblistSerials-1.1.4.zip";
-    sha256 = "1w0zs155hs5b87i5wj049hfj2jsnf9jk30qq93wz1mxab01261v0";
+  "build/liblistSerials-1.4.0.zip" = fetchurl {
+    url = "https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.0.zip";
+    sha256 = "129mfbyx7snq3znzhkfbdjiifdr85cwk6wjn8l9ia0wynszs5zyv";
   };
-  "build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.8.0.zip" = fetchurl {
-    url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.8.0/WiFi101-Updater-ArduinoIDE-Plugin-0.8.0.zip";
-    sha256 = "0fp4mb1qa3w02hrwd51wf261l8ywcl36mi9wipsrgx2y29pk759z";
+  "build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.9.0.zip" = fetchurl {
+    url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.9.0/WiFi101-Updater-ArduinoIDE-Plugin-0.9.0.zip";
+    sha256 = "1nkk87q2l3bs9y387hdxzgqllm0lqpmc5kdmr6my4hjz5lcpgbza";
   };
 }
 // optionalAttrs (system == "x86_64-linux") {
-  "build/arduino-builder-linux64-1.3.21_r1.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.21_r1.tar.bz2";
-    sha256 = "1cqx5smzm4dhbj2ah191vbbxi0l7xj95c5gcdbgqm9283hrpfrn7";
+  "build/arduino-builder-linux64-1.3.25.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.25.tar.bz2";
+    sha256 = "15y80p255w2rg028vc8dq4hpqsmf770qigv3hgf78npb4qrjnqqf";
+  };
+  "build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2";
+    sha256 = "132qm8l6h50z4s9h0i5mfv6bp0iia0pp9kc3gd37hkajy4bh4j0r";
   };
-  "build/linux/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2";
-    sha256 = "124icbjh28cax6pgg6bzrfdi27shsn9mjjshgrr93pczpg8sc0rr";
+  "build/linux/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2";
+    sha256 = "0shz5ymnlsrbnaqcb13fwbd73hz9k45adw14gf1ywjgywa2cpk68";
   };
-  "build/linux/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2";
-    sha256 = "08b6dbllnvzv1aqx0v037zks4r3vqcx6yxxv040wf431mmf8gd4p";
+  "build/linux/arduinoOTA-1.1.1-linux_amd64.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_amd64.tar.bz2";
+    sha256 = "0xy25srvpz6d0yfnz8b17mkmary3k51lb1cvgw7n2zyxayjd0npb";
   };
 }
 // optionalAttrs (system == "i686-linux") {
-  "build/arduino-builder-linux32-1.3.21_r1.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.21_r1.tar.bz2";
-    sha256 = "1prfwb5scprvd74gihd78ibsdy3806b0fsjhgyj9in4w1q8s3dxj";
+  "build/arduino-builder-linux32-1.3.25.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.25.tar.bz2";
+    sha256 = "0hjiqbf7xspdcr7lganqnl68qcmndc9pz06dghkrwzbzc5ki72qr";
   };
-  "build/linux/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2";
-    sha256 = "0s7chsp1jyk477zvfaraf0yacvlzahkwqxpws4k0kjadghg9a27i";
+  "build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2";
+    sha256 = "1d81z5m4cklv29hgb5ywrmyq64ymlwmjx2plm1gzs1mcpg7d9ab3";
   };
-  "build/linux/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2";
-    sha256 = "1yyn016b5162j94nmqcznfabi5y2ly27z2whr77387bvjnqc8jsz";
+  "build/linux/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2";
+    sha256 = "12r1drjafxwzrvf1y1glxd46rv870mhz1ifn0g328ciwivas4da2";
+  };
+  "build/linux/arduinoOTA-1.1.1-linux_386.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_386.tar.bz2";
+    sha256 = "1vvilbbbvv68svxzyhjspacbavcqakph5glhnz7c0mxkspqixjbs";
   };
 }
 // optionalAttrs (system == "x86_64-darwin") {
-  "build/arduino-builder-macosx-1.3.21_r1.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.21_r1.tar.bz2";
-    sha256 = "06y5j1z9jjnqa7v6nl9dflm1qqpf3ar1jc53zxgdgsrb9c473d8l";
+  "build/arduino-builder-macosx-1.3.25.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.25.tar.bz2";
+    sha256 = "0inkxjzdplb8b17j7lyam6v9gca25rxmsinrkgqnx3xxgkaxz2k0";
+  };
+  "build/macosx/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2";
+    sha256 = "0c27i3y4f5biinxjdpp43wbj00lz7dvl08pnqr7hpkzaalsyvcv7";
   };
-  "build/linux/avr-gcc-4.9.2-arduino5-i386-apple-darwin11.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i386-apple-darwin11.tar.bz2";
-    sha256 = "12r4a1q7mh1gbasy7lqn0p4acg699lglw7il9d5f5vwd32pmh4ii";
+  "build/macosx/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2";
+    sha256 = "0rc4x8mcsva4v6j7ssfj8rdyg14l2pd9ivgdm39m5wnz8b06p85z11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r";
   };
-  "build/linux/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2";
-    sha256 = "11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r";
+  "build/macosx/appbundler/appbundler-1.0ea-arduino4.jar.zip" = fetchurl {
+    url = "https://downloads.arduino.cc/appbundler-1.0ea-arduino4.jar.zip";
+    sha256 = "1vz0g98ancfqdf7yx5m3zrxmzb3fwp18zh5lkh2nyl5xlr9m368z";
   };
 }
 // optionalAttrs (system == "armv6l-linux") {
-  "build/arduino-builder-arm-1.3.21_r1.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/arduino-builder-arm-1.3.21_r1.tar.bz2";
-    sha256 = "1ik6r5n6g20x4pb0vbxbkqxgzj39f13n995ki9xgpsrq22x6g1n4";
+  "build/arduino-builder-linuxarm-1.3.25.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduino-builder-linuxarm-1.3.25.tar.bz2";
+    sha256 = "1jvlihpcbdv1sgq1wjdwp7dhznk7nd88zin6yj40kr80gcd2ykry";
+  };
+  "build/linux/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2";
+    sha256 = "033jb1vmspcxsv0w9pk73xv195xnbnmckjsiccgqs8xx36g00dpf";
   };
-  "build/linux/avr-gcc-4.9.2-arduino5-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-armhf-pc-linux-gnu.tar.bz2";
-    sha256 = "08b8z7ca0wcgzxmjz6q5ihjrm3i10frnrcqpvwjrlsxw37ah1wvp";
+  "build/linux/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2";
+    sha256 = "1kp1xry97385zbrs94j285h1gqlzyyhkchh26z7zq6c0wi5879i5";
   };
-  "build/linux/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2" = fetchurl {
-    url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2";
-    sha256 = "1rybp4hgk0mm7dydr3rj7yx59jzi30s4kyadzkjv13nm4ds209i4";
+  "build/linux/arduinoOTA-1.1.1-linux_arm.tar.bz2" = fetchurl {
+    url = "https://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_arm.tar.bz2";
+    sha256 = "0k1pib8lmvk6c0y3m038fj3mc18ax1hy3kbvgd5nygrxvy1hv274";
   };
 }
diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix
new file mode 100644
index 00000000000..ae2705613f0
--- /dev/null
+++ b/pkgs/development/beam-modules/lib.nix
@@ -0,0 +1,37 @@
+{ pkgs }:
+
+rec {
+
+  /* Similar to callPackageWith/callPackage, but without makeOverridable
+  */
+  callPackageWith = autoArgs: fn: args:
+    let
+      f = if builtins.isFunction fn then fn else import fn;
+      auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
+    in f (auto // args);
+
+  callPackage = callPackageWith pkgs;
+
+  /* Uses generic-builder to evaluate provided drv containing OTP-version
+  specific data.
+
+  drv: package containing version-specific args;
+  builder: generic builder for all Erlang versions;
+  args: arguments merged into version-specific args, used mostly to customize
+        dependencies;
+
+  Arguments passed to the generic-builder are overridable, used to
+  enable/disable high-level OTP features, like ODBC or WX support;
+
+  Please note that "mkDerivation" defined here is the one called from R16.nix
+  and similar files.
+  */
+  callErlang = drv: args:
+    let
+      builder = callPackage ../../development/interpreters/erlang/generic-builder.nix args;
+    in
+      callPackage drv {
+        mkDerivation = pkgs.makeOverridable builder;
+      };
+
+}
diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix
index 3599ff750c2..bf2272a75c1 100644
--- a/pkgs/development/compilers/bigloo/default.nix
+++ b/pkgs/development/compilers/bigloo/default.nix
@@ -32,6 +32,9 @@ stdenv.mkDerivation rec {
 
   checkTarget = "test";
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = {
     description = "Efficient Scheme compiler";
     homepage    = http://www-sop.inria.fr/indes/fp/Bigloo/;
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix
new file mode 100644
index 00000000000..72eaae99877
--- /dev/null
+++ b/pkgs/development/compilers/binaryen/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, cmake, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "33";
+  rev = "version_${version}";
+  name = "binaryen-${version}";
+
+  src = fetchFromGitHub {
+    owner = "WebAssembly";
+    repo = "binaryen";
+    sha256 = "0zijs2mcgfv0iynwdb0l4zykm0891b1zccf6r8w35ipxvcdwbsbp";
+    inherit rev;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/WebAssembly/binaryen;
+    description = "Compiler infrastructure and toolchain library for WebAssembly, in C++";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ asppsa ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/compilers/colm/default.nix b/pkgs/development/compilers/colm/default.nix
index 767023053c6..ee9224b380c 100644
--- a/pkgs/development/compilers/colm/default.nix
+++ b/pkgs/development/compilers/colm/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, makeWrapper, gcc }:
+{ stdenv, fetchurl, makeWrapper, gcc, asciidoc }:
 
 stdenv.mkDerivation rec {
   name = "colm-${version}";
-  version = "0.13.0.4";
+  version = "0.13.0.5";
 
   src = fetchurl {
     url = "http://www.colm.net/files/colm/${name}.tar.gz";
-    sha256 = "04xcb7w82x9i4ygxqla9n39y646n3jw626khdp5297z1dkxx1czx";
+    sha256 = "1320bx96ycd1xwww137cixrb983838wnrgkfsym8x5bnf5kj9rik";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper asciidoc ];
 
   doCheck = true;
 
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index 99e22215bc7..ae7a5ce87b2 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, python, ... }:
 
 let
-  rev = "1.37.10";
+  rev = "1.37.13";
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in
 stdenv.mkDerivation rec {
@@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp";
-    sha256 = "0zl55jaas3cibjscr5q1q6rgw63wqwyc9iffhvs4xi9g1bk5cnx9";
+    sha256 = "1r4f4d5dmhxqwmpf2psainx7sj1j26fdp5acifdwg4sbbpsv96az";
     inherit rev;
   };
 
   srcFL = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp-clang";
-    sha256 = "0cdvld0lfl3cl7m6yax7f87ip9iq4rmz8icr68l2g8bl2w8qd89j";
+    sha256 = "1p0108iz77vmzm7i1aa29sk93g5vd95xiwmags18qkr7x3fmfqsw";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index ad1cd437ffa..b39198f30a4 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
+{ stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler
+, jre, binaryen, enableWasm ? true
+}:
 
 let
-  rev = "1.37.10";
+  rev = "1.37.13";
   appdir = "share/emscripten";
 in
 
@@ -11,7 +13,7 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten";
-    sha256 = "08f3zagxzsj96i09gjg1djd1bmy1gr1ar8n96mzg3ykaygf82d0s";
+    sha256 = "0xnr8nq431pksb346fwsbs5knqmcygb8mywzzl0c9nz3ims1vkx5";
     inherit rev;
   };
 
@@ -36,6 +38,9 @@ stdenv.mkDerivation {
     echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config
     echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/closure-compiler-v${closurecompiler.version}.jar'" >> $out/${appdir}/config
     echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config
+  ''
+  + stdenv.lib.optionalString enableWasm ''
+    echo "BINARYEN_ROOT = '${binaryen}'" >> $out/share/emscripten/config
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index 00714875ffc..51777f748e3 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
   ];
 
   preBuild = ''
-    substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true"
+    substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true" \
+      --replace Darwin xyz
     substituteInPlace src/VS/.nuget/NuGet.targets --replace "mono" "true"
 
     # Fails with bad interpreter otherwise
diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix
index 99a4d6fc4d1..7e17cee9abd 100644
--- a/pkgs/development/compilers/gambit/default.nix
+++ b/pkgs/development/compilers/gambit/default.nix
@@ -1,16 +1,25 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
   name    = "gambit-${version}";
-  version = "4.8.5";
-  devver  = "4_8_5";
+  version = "4.8.6";
+  devver  = "4_8_6";
 
   src = fetchurl {
     url    = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.8/source/gambit-v${devver}-devel.tgz";
-    sha256 = "02b5bm06k2qr0lvdwwsl0ygxs7n8410rrkq95picn4s02kxszqnq";
+    sha256 = "0j3ka76cfb007rlcc3nv5p1s6vh31cwp87hwwabawf16vs1jb7bl";
   };
 
-  configureFlags = [ "--enable-shared" "--enable-single-host" ];
+  configureFlags = [
+    "--enable-single-host"
+    "--enable-shared"
+    "--enable-absolute-shared-libs"
+    "--enable-c-opt=-O6" "--enable-gcc-opts" "--enable-inline-jumps"
+    "--enable-thread-system=posix" "--enable-dynamic-tls"
+    "--enable-openssl"
+  ];
+
+  buildInputs = [ openssl ];
 
   meta = {
     description = "Optimizing Scheme to C compiler";
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index 288a91398d2..67981ad1056 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -19,7 +19,6 @@
 , gnatboot ? null
 , enableMultilib ? false
 , name ? "gcc"
-, cross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -65,22 +64,22 @@ let version = "4.5.4";
     javaAwtGtk = langJava && gtk2 != null;
 
     /* Cross-gcc settings */
-    gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
-    gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
-    gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
+    gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null targetPlatform;
+    gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null targetPlatformt;
+    gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null targetPlatform;
     withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
     withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
     withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
-    crossMingw = (cross != null && cross.libc == "msvcrt");
+    crossMingw = (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt");
 
     crossConfigureFlags =
-      "--target=${cross.config}" +
+      "--target=${targetPlatform.config}" +
       withArch +
       withCpu +
       withAbi +
       # Ensure that -print-prog-name is able to find the correct programs.
-      " --with-as=${binutils}/bin/${cross.config}-as" +
-      " --with-ld=${binutils}/bin/${cross.config}-ld" +
+      " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+      " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
       (if crossMingw && crossStageStatic then
         " --with-headers=${libcCross}/include" +
         " --with-gcc" +
@@ -120,7 +119,7 @@ let version = "4.5.4";
         );
     stageNameAddon = if crossStageStatic then "-stage-static" else
       "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
 in
 
@@ -139,7 +138,7 @@ stdenv.mkDerivation ({
 
   hardeningDisable = [ "format" ] ++ optional (name != "gnat") "all";
 
-  outputs = if (stdenv.is64bit && langAda) then [ "out" "doc" ]
+  outputs = if (hostPlatform.is64bit && langAda) then [ "out" "doc" ]
     else [ "out" "lib" "doc" ];
   setOutputFlags = false;
   NIX_NO_SELF_RPATH = true;
@@ -148,7 +147,7 @@ stdenv.mkDerivation ({
 
   patches =
     [ ]
-    ++ optional (cross != null) ../libstdc++-target.patch
+    ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
     ++ optional noSysDirs ./no-sys-dirs.patch
     # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
     # target libraries and tools.
@@ -161,7 +160,7 @@ stdenv.mkDerivation ({
         || (libcCross != null                  # e.g., building `gcc.crossDrv'
             && libcCross ? crossConfig
             && libcCross.crossConfig == "i586-pc-gnu")
-        || (cross != null && cross.config == "i586-pc-gnu"
+        || (targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu"
             && libcCross != null))
     then
       # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
@@ -197,7 +196,7 @@ stdenv.mkDerivation ({
            sed -i gcc/config/t-gnu \
                -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc.dev}/include|g'
         ''
-    else if cross != null || stdenv.cc.libc != null then
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
@@ -227,7 +226,7 @@ stdenv.mkDerivation ({
     ++ (optional langJava boehmgc)
     ++ (optionals langJava [zip unzip])
     ++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs))
-    ++ (optionals (cross != null) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
     ;
@@ -265,13 +264,13 @@ stdenv.mkDerivation ({
       )
     }
     ${ # Trick that should be taken out once we have a mips64el-linux not loongson2f
-      if cross == null && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""}
+      if targetPlatform == hostPlatform && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""}
     ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
   ";
 
-  targetConfig = if cross != null then cross.config else null;
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   crossAttrs = {
     AR = "${targetPlatform.config}-ar";
@@ -284,7 +283,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${targetPlatform.config}-nm";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -312,8 +311,8 @@ stdenv.mkDerivation ({
         )
       }
       ${if langAda then " --enable-libada" else ""}
-      ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-      ${if cross != null then crossConfigureFlags else ""}
+      ${if targetplatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+      ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
       --target=${targetPlatform.config}
     '';
   };
@@ -357,7 +356,7 @@ stdenv.mkDerivation ({
     ++ optional (libpthread != null) libpthread);
 
   EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-idirafter ${libcCross.dev}/include"
       ]
       ++ optionals (! crossStageStatic) [
@@ -366,7 +365,7 @@ stdenv.mkDerivation ({
     else null;
 
   EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-Wl,-L${libcCross.out}/lib"
       ]
       ++ (if crossStageStatic then [
@@ -412,14 +411,14 @@ stdenv.mkDerivation ({
   };
 }
 
-// optionalAttrs (cross != null || libcCross != null) {
+// optionalAttrs (targetPlatform != hostPlatform || libcCross != null) {
   # `builder.sh' sets $CPP, which leads configure to use "gcc -E" instead of,
   # say, "i586-pc-gnu-gcc -E" when building `gcc.crossDrv'.
   # FIXME: Fix `builder.sh' directly in the next stdenv-update.
   postUnpack = "unset CPP";
 }
 
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 2d615e3b8e8..de9d3165b55 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
-, langObjC ? stdenv.isDarwin
-, langObjCpp ? stdenv.isDarwin
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
 , langAda ? false
 , langVhdl ? false
@@ -25,7 +25,6 @@
 , enableMultilib ? false
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
-, cross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -49,7 +48,7 @@ assert cloog != null -> isl != null;
 assert libelf != null -> zlib != null;
 
 # Make sure we get GNU sed.
-assert stdenv.isDarwin -> gnused != null;
+assert hostPlatform.isDarwin -> gnused != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -60,19 +59,19 @@ with builtins;
 let version = "4.8.5";
 
     # Whether building a cross-compiler for GNU/Hurd.
-    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
 
     enableParallelBuilding = true;
 
     patches = [ ]
       ++ optional enableParallelBuilding ../parallel-bconfig.patch
-      ++ optional (cross != null) ../libstdc++-target.patch
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
-      ++ optional stdenv.isDarwin ../gfortran-darwin-NXConstStr.patch;
+      ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch;
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -120,8 +119,8 @@ let version = "4.8.5";
         withMode;
 
     /* Cross-gcc settings */
-    crossMingw = cross != null && cross.libc == "msvcrt";
-    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
     crossConfigureFlags = let
         gccArch = targetPlatform.gcc.arch or null;
         gccCpu = targetPlatform.gcc.cpu or null;
@@ -136,7 +135,7 @@ let version = "4.8.5";
         withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
         withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
       in
-        "--target=${cross.config}" +
+        "--target=${targetPlatform.config}" +
         withArch +
         withCpu +
         withAbi +
@@ -144,8 +143,8 @@ let version = "4.8.5";
         withFloat +
         withMode +
         # Ensure that -print-prog-name is able to find the correct programs.
-        " --with-as=${binutils}/bin/${cross.config}-as" +
-        " --with-ld=${binutils}/bin/${cross.config}-ld" +
+        " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -187,7 +186,7 @@ let version = "4.8.5";
             " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
-            else (if cross.libc == "uclibc" then
+            else (if targetPlatform.libc == "uclibc" then
               # In uclibc cases, libgomp needs an additional '-ldl'
               # and as I don't know how to pass it, I disable libgomp.
               " --disable-libgomp" else "") +
@@ -196,9 +195,9 @@ let version = "4.8.5";
             " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
           );
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-    bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
+    bootstrap = targetPlatform == hostPlatform && !hostPlatform.isArm && !hostPlatform.isMips;
 
 in
 
@@ -226,7 +225,7 @@ stdenv.mkDerivation ({
   libc_dev = stdenv.cc.libc_dev;
 
   postPatch =
-    if (stdenv.isGNU
+    if (hostPlatform.isHurd
         || (libcCross != null                  # e.g., building `gcc.crossDrv'
             && libcCross ? crossConfig
             && libcCross.crossConfig == "i586-pc-gnu")
@@ -262,7 +261,7 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
         ''
-    else if cross != null || stdenv.cc.libc != null then
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
@@ -292,17 +291,17 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-    ++ (optional stdenv.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin gnused)
     ;
 
 
-  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
@@ -312,7 +311,7 @@ stdenv.mkDerivation ({
   dontDisableStatic = true;
 
   configureFlags = "
-    ${if stdenv.isSunOS then
+    ${if hostPlatform.isSunOS then
       " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
       # On Illumos/Solaris GNU as is preferred
       " --with-gnu-as --without-gnu-ld "
@@ -357,19 +356,19 @@ stdenv.mkDerivation ({
         )
       )
     }
-    ${if cross == null
-      then if stdenv.isDarwin
+    ${if targetPlatform == hostPlatform
+      then if hostPlatform.isDarwin
         then " --with-native-system-header-dir=${darwin.usr-include}"
         else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
       else ""}
     ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
     ${if !bootstrap then "--disable-bootstrap" else ""}
-    ${if cross == null then platformFlags else ""}
+    ${if targetPlatform == hostPlatform then platformFlags else ""}
   ";
 
-  targetConfig = if cross != null then cross.config else null;
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = if bootstrap then
     (if profiledCompiler then "profiledbootstrap" else "bootstrap")
@@ -402,7 +401,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${targetPlatform.config}-nm";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -479,7 +478,7 @@ stdenv.mkDerivation ({
     ++ optional (libpthread != null) libpthread);
 
   EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-idirafter ${libcCross.dev}/include"
       ]
       ++ optionals (! crossStageStatic) [
@@ -488,7 +487,7 @@ stdenv.mkDerivation ({
     else null;
 
   EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-Wl,-L${libcCross.out}/lib"
       ]
       ++ (if crossStageStatic then [
@@ -537,13 +536,13 @@ stdenv.mkDerivation ({
   };
 }
 
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence cross != null)
-// optionalAttrs (!stripped || cross != null) { dontStrip = true; }
+# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 93f46fdd0f6..c5bebdf3300 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
-, langObjC ? stdenv.isDarwin
-, langObjCpp ? stdenv.isDarwin
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
 , langAda ? false
 , langVhdl ? false
@@ -25,7 +25,6 @@
 , enableMultilib ? false
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
-, cross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -49,7 +48,7 @@ assert cloog != null -> isl != null;
 assert libelf != null -> zlib != null;
 
 # Make sure we get GNU sed.
-assert stdenv.isDarwin -> gnused != null;
+assert hostPlatform.isDarwin -> gnused != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -60,21 +59,21 @@ with builtins;
 let version = "4.9.4";
 
     # Whether building a cross-compiler for GNU/Hurd.
-    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
 
     enableParallelBuilding = true;
 
     patches =
       [ ../use-source-date-epoch.patch ]
       ++ optionals enableParallelBuilding [ ../parallel-bconfig.patch ./parallel-strsignal.patch ]
-      ++ optional (cross != null) ../libstdc++-target.patch
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
       # The NXConstStr.patch can be removed at 4.9.4
-      ++ optional stdenv.isDarwin ../gfortran-darwin-NXConstStr.patch;
+      ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch;
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -122,8 +121,8 @@ let version = "4.9.4";
         withMode;
 
     /* Cross-gcc settings */
-    crossMingw = cross != null && cross.libc == "msvcrt";
-    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
     crossConfigureFlags = let
         gccArch = targetPlatform.gcc.arch or null;
         gccCpu = targetPlatform.gcc.cpu or null;
@@ -138,7 +137,7 @@ let version = "4.9.4";
         withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
         withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
       in
-        "--target=${cross.config}" +
+        "--target=${targetPlatform.config}" +
         withArch +
         withCpu +
         withAbi +
@@ -146,8 +145,8 @@ let version = "4.9.4";
         withFloat +
         withMode +
         # Ensure that -print-prog-name is able to find the correct programs.
-        " --with-as=${binutils}/bin/${cross.config}-as" +
-        " --with-ld=${binutils}/bin/${cross.config}-ld" +
+        " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -187,7 +186,7 @@ let version = "4.9.4";
             " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
-            else (if cross.libc == "uclibc" then
+            else (if targetPlatform.libc == "uclibc" then
               # libsanitizer requires netrom/netrom.h which is not
               # available in uclibc.
               " --disable-libsanitizer" +
@@ -199,9 +198,9 @@ let version = "4.9.4";
             " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
           );
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-  bootstrap = cross == null;
+  bootstrap = targetPlatform == hostPlatform;
 
 in
 
@@ -230,7 +229,7 @@ stdenv.mkDerivation ({
   libc_dev = stdenv.cc.libc_dev;
 
   postPatch =
-    if (stdenv.isGNU
+    if (hostPlatform.isHurd
         || (libcCross != null                  # e.g., building `gcc.crossDrv'
             && libcCross ? crossConfig
             && libcCross.crossConfig == "i586-pc-gnu")
@@ -266,7 +265,7 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
         ''
-    else if cross != null || stdenv.cc.libc != null then
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
@@ -296,16 +295,16 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-    ++ (optional stdenv.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin gnused)
     ;
 
-  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
     sed -i -e "s/-lrt//g" libstdc++-v3/configure
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
@@ -320,7 +319,7 @@ stdenv.mkDerivation ({
   dontDisableStatic = true;
 
   configureFlags = "
-    ${if stdenv.isSunOS then
+    ${if hostPlatform.isSunOS then
       " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
       # On Illumos/Solaris GNU as is preferred
       " --with-gnu-as --without-gnu-ld "
@@ -363,19 +362,19 @@ stdenv.mkDerivation ({
         )
       )
     }
-    ${if cross == null
-      then if stdenv.isDarwin
+    ${if targetPlatform == hostPlatform
+      then if hostPlatform.isDarwin
         then " --with-native-system-header-dir=${darwin.usr-include}"
         else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
       else ""}
     ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
     ${if !bootstrap then "--disable-bootstrap" else ""}
-    ${if cross == null then platformFlags else ""}
+    ${if targetPlatform == hostPlatform then platformFlags else ""}
   ";
 
-  targetConfig = if cross != null then cross.config else null;
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = if bootstrap then
     (if profiledCompiler then "profiledbootstrap" else "bootstrap")
@@ -408,7 +407,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${targetPlatform.config}-nm";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -485,7 +484,7 @@ stdenv.mkDerivation ({
     ++ optional (libpthread != null) libpthread);
 
   EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-idirafter ${libcCross.dev}/include"
       ]
       ++ optionals (! crossStageStatic) [
@@ -494,7 +493,7 @@ stdenv.mkDerivation ({
     else null;
 
   EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-Wl,-L${libcCross.out}/lib"
       ]
       ++ (if crossStageStatic then [
@@ -543,13 +542,13 @@ stdenv.mkDerivation ({
   };
 }
 
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence cross != null)
-// optionalAttrs (!stripped || cross != null) { dontStrip = true; }
+# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 296b899830b..b4a74300d36 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
-, langObjC ? stdenv.isDarwin
-, langObjCpp ? stdenv.isDarwin
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
 , langAda ? false
 , langVhdl ? false
@@ -25,7 +25,6 @@
 , enableMultilib ? false
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
-, cross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -48,10 +47,10 @@ assert langVhdl     -> gnat != null;
 assert libelf != null -> zlib != null;
 
 # Make sure we get GNU sed.
-assert stdenv.isDarwin -> gnused != null;
+assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert stdenv.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> binutils != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -63,13 +62,13 @@ let version = "5.4.0";
     sha256 = "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0";
 
     # Whether building a cross-compiler for GNU/Hurd.
-    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
 
     enableParallelBuilding = true;
 
     patches =
       [ ../use-source-date-epoch.patch ]
-      ++ optional (cross != null) ../libstdc++-target.patch
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
@@ -126,8 +125,8 @@ let version = "5.4.0";
         withMode;
 
     /* Cross-gcc settings */
-    crossMingw = cross != null && cross.libc == "msvcrt";
-    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
     crossConfigureFlags = let
         gccArch = targetPlatform.gcc.arch or null;
         gccCpu = targetPlatform.gcc.cpu or null;
@@ -142,7 +141,7 @@ let version = "5.4.0";
         withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
         withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
       in
-        "--target=${cross.config}" +
+        "--target=${targetPlatform.config}" +
         withArch +
         withCpu +
         withAbi +
@@ -150,8 +149,8 @@ let version = "5.4.0";
         withFloat +
         withMode +
         # Ensure that -print-prog-name is able to find the correct programs.
-        " --with-as=${binutils}/bin/${cross.config}-as" +
-        " --with-ld=${binutils}/bin/${cross.config}-ld" +
+        " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -191,7 +190,7 @@ let version = "5.4.0";
             " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
-            else (if cross.libc == "uclibc" then
+            else (if targetPlatform.libc == "uclibc" then
               # libsanitizer requires netrom/netrom.h which is not
               # available in uclibc.
               " --disable-libsanitizer" +
@@ -203,9 +202,9 @@ let version = "5.4.0";
             " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
           );
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-  bootstrap = cross == null;
+  bootstrap = targetPlatform == hostPlatform;
 
 in
 
@@ -235,7 +234,7 @@ stdenv.mkDerivation ({
 
   # This should kill all the stdinc frameworks that gcc and friends like to
   # insert into default search paths.
-  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
+  prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
     substituteInPlace gcc/config/darwin-c.c \
       --replace 'if (stdinc)' 'if (0)'
 
@@ -247,7 +246,7 @@ stdenv.mkDerivation ({
   '';
 
   postPatch =
-    if (stdenv.isGNU
+    if (hostPlatform.isHurd
         || (libcCross != null                  # e.g., building `gcc.crossDrv'
             && libcCross ? crossConfig
             && libcCross.crossConfig == "i586-pc-gnu")
@@ -283,7 +282,7 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
         ''
-    else if cross != null || stdenv.cc.libc != null then
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
@@ -312,19 +311,19 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-    ++ (optional stdenv.isDarwin gnused)
-    ++ (optional stdenv.isDarwin binutils)
+    ++ (optional hostPlatform.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin binutils)
     ;
 
-  NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
+  NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
@@ -334,7 +333,7 @@ stdenv.mkDerivation ({
   dontDisableStatic = true;
 
   configureFlags = "
-    ${if stdenv.isSunOS then
+    ${if hostPlatform.isSunOS then
       " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
       # On Illumos/Solaris GNU as is preferred
       " --with-gnu-as --without-gnu-ld "
@@ -378,19 +377,19 @@ stdenv.mkDerivation ({
         )
       )
     }
-    ${if cross == null
-      then if stdenv.isDarwin
+    ${if targetPlatform == hostPlatform
+      then if hostPlatform.isDarwin
         then " --with-native-system-header-dir=${darwin.usr-include}"
         else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
       else ""}
     ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
     ${if !bootstrap then "--disable-bootstrap" else ""}
-    ${if cross == null then platformFlags else ""}
+    ${if targetPlatform == hostPlatform then platformFlags else ""}
   ";
 
-  targetConfig = if cross != null then cross.config else null;
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = if bootstrap then
     (if profiledCompiler then "profiledbootstrap" else "bootstrap")
@@ -423,7 +422,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${targetPlatform.config}-nm";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -499,7 +498,7 @@ stdenv.mkDerivation ({
     ++ optional (libpthread != null) libpthread);
 
   EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-idirafter ${getDev libcCross}/include"
       ]
       ++ optionals (! crossStageStatic) [
@@ -508,7 +507,7 @@ stdenv.mkDerivation ({
     else null;
 
   EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-Wl,-L${libcCross.out}/lib"
       ]
       ++ (if crossStageStatic then [
@@ -556,13 +555,13 @@ stdenv.mkDerivation ({
   };
 }
 
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence cross != null)
-// optionalAttrs (!stripped || cross != null) { dontStrip = true; }
+# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index c23968d2126..057acf9794e 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
-, langObjC ? stdenv.isDarwin
-, langObjCpp ? stdenv.isDarwin
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
 , langAda ? false
 , langVhdl ? false
@@ -25,7 +25,6 @@
 , enableMultilib ? false
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
-, cross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -48,10 +47,10 @@ assert langVhdl     -> gnat != null;
 assert libelf != null -> zlib != null;
 
 # Make sure we get GNU sed.
-assert stdenv.isDarwin -> gnused != null;
+assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert stdenv.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> binutils != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -62,19 +61,19 @@ with builtins;
 let version = "6.3.0";
 
     # Whether building a cross-compiler for GNU/Hurd.
-    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
 
     enableParallelBuilding = true;
 
     patches =
       [ ../use-source-date-epoch.patch ]
-      ++ optional (cross != null) ../libstdc++-target.patch
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
-      ++ optional stdenv.isDarwin ./darwin-const-correct.patch; # Kill this after 6.3.0
+      ++ optional hostPlatform.isDarwin ./darwin-const-correct.patch; # Kill this after 6.3.0
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -122,8 +121,8 @@ let version = "6.3.0";
         withMode;
 
     /* Cross-gcc settings */
-    crossMingw = cross != null && cross.libc == "msvcrt";
-    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
     crossConfigureFlags = let
         gccArch = targetPlatform.gcc.arch or null;
         gccCpu = targetPlatform.gcc.cpu or null;
@@ -138,7 +137,7 @@ let version = "6.3.0";
         withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
         withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
       in
-        "--target=${cross.config}" +
+        "--target=${targetPlatform.config}" +
         withArch +
         withCpu +
         withAbi +
@@ -146,8 +145,8 @@ let version = "6.3.0";
         withFloat +
         withMode +
         # Ensure that -print-prog-name is able to find the correct programs.
-        " --with-as=${binutils}/bin/${cross.config}-as" +
-        " --with-ld=${binutils}/bin/${cross.config}-ld" +
+        " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -187,7 +186,7 @@ let version = "6.3.0";
             " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
-            else (if cross.libc == "uclibc" then
+            else (if targetPlatform.libc == "uclibc" then
               # libsanitizer requires netrom/netrom.h which is not
               # available in uclibc.
               " --disable-libsanitizer" +
@@ -199,9 +198,9 @@ let version = "6.3.0";
             " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
           );
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-  bootstrap = cross == null;
+  bootstrap = targetPlatform == hostPlatform;
 
 in
 
@@ -229,7 +228,7 @@ stdenv.mkDerivation ({
   hardeningDisable = [ "format" ];
 
   postPatch =
-    if (stdenv.isGNU
+    if (hostPlatform.isHurd
         || (libcCross != null                  # e.g., building `gcc.crossDrv'
             && libcCross ? crossConfig
             && libcCross.crossConfig == "i586-pc-gnu")
@@ -265,7 +264,7 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
         ''
-    else if cross != null || stdenv.cc.libc != null then
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
@@ -294,19 +293,19 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-    ++ (optional stdenv.isDarwin gnused)
-    ++ (optional stdenv.isDarwin binutils)
+    ++ (optional hostPlatform.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin binutils)
     ;
 
-  NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
+  NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
@@ -316,7 +315,7 @@ stdenv.mkDerivation ({
   dontDisableStatic = true;
 
   configureFlags = "
-    ${if stdenv.isSunOS then
+    ${if hostPlatform.isSunOS then
       " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
       # On Illumos/Solaris GNU as is preferred
       " --with-gnu-as --without-gnu-ld "
@@ -360,19 +359,19 @@ stdenv.mkDerivation ({
         )
       )
     }
-    ${if cross == null
-      then if stdenv.isDarwin
+    ${if targetPlatform == hostPlatform
+      then if hostPlatform.isDarwin
         then " --with-native-system-header-dir=${darwin.usr-include}"
         else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
       else ""}
     ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
     ${if !bootstrap then "--disable-bootstrap" else ""}
-    ${if cross == null then platformFlags else ""}
+    ${if targetPlatform == hostPlatform then platformFlags else ""}
   ";
 
-  targetConfig = if cross != null then cross.config else null;
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = if bootstrap then
     (if profiledCompiler then "profiledbootstrap" else "bootstrap")
@@ -405,7 +404,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${targetPlatform.config}-nm";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -481,7 +480,7 @@ stdenv.mkDerivation ({
     ++ optional (libpthread != null) libpthread);
 
   EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-idirafter ${getDev libcCross}/include"
       ]
       ++ optionals (! crossStageStatic) [
@@ -490,7 +489,7 @@ stdenv.mkDerivation ({
     else null;
 
   EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-Wl,-L${libcCross.out}/lib"
       ]
       ++ (if crossStageStatic then [
@@ -538,13 +537,13 @@ stdenv.mkDerivation ({
   };
 }
 
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence cross != null)
-// optionalAttrs (!stripped || cross != null) { dontStrip = true; }
+# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
new file mode 100644
index 00000000000..5d3126ea0e9
--- /dev/null
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -0,0 +1,550 @@
+{ stdenv, fetchurl, noSysDirs
+, langC ? true, langCC ? true, langFortran ? false
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
+, langJava ? false
+, langAda ? false
+, langVhdl ? false
+, langGo ? false
+, profiledCompiler ? false
+, staticCompiler ? false
+, enableShared ? true
+, texinfo ? null
+, perl ? null # optional, for texi2pod (then pod2man); required for Java
+, gmp, mpfr, libmpc, gettext, which
+, libelf                      # optional, for link-time optimizations (LTO)
+, isl ? null # optional, for the Graphite optimization framework.
+, zlib ? null, boehmgc ? null
+, zip ? null, unzip ? null, pkgconfig ? null
+, gtk2 ? null, libart_lgpl ? null
+, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
+, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
+, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
+, x11Support ? langJava
+, gnatboot ? null
+, enableMultilib ? false
+, enablePlugin ? true             # whether to support user-supplied plug-ins
+, name ? "gcc"
+, libcCross ? null
+, crossStageStatic ? true
+, gnat ? null
+, libpthread ? null, libpthreadCross ? null  # required for GNU/Hurd
+, stripped ? true
+, gnused ? null
+, binutils ? null
+, cloog # unused; just for compat with gcc4, as we override the parameter on some places
+, darwin ? null
+, flex ? null
+, buildPlatform, hostPlatform, targetPlatform
+}:
+
+assert langJava     -> zip != null && unzip != null
+                       && zlib != null && boehmgc != null
+                       && perl != null;  # for `--enable-java-home'
+assert langAda      -> gnatboot != null;
+assert langVhdl     -> gnat != null;
+
+# LTO needs libelf and zlib.
+assert libelf != null -> zlib != null;
+
+# Make sure we get GNU sed.
+assert hostPlatform.isDarwin -> gnused != null;
+
+# Need c++filt on darwin
+assert hostPlatform.isDarwin -> binutils != null;
+
+# The go frontend is written in c++
+assert langGo -> langCC;
+
+with stdenv.lib;
+with builtins;
+
+let version = "7.1.0";
+
+    # Whether building a cross-compiler for GNU/Hurd.
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
+
+    enableParallelBuilding = true;
+
+    patches =
+      [ ]
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
+      ++ optional noSysDirs ../no-sys-dirs.patch
+      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
+      # target libraries and tools.
+      ++ optional langAda ../gnat-cflags.patch
+      ++ optional langFortran ../gfortran-driving.patch;
+
+    javaEcj = fetchurl {
+      # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
+      # `configure' time.
+
+      # XXX: Eventually we might want to take it from upstream.
+      url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
+      sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
+    };
+
+    # Antlr (optional) allows the Java `gjdoc' tool to be built.  We want a
+    # binary distribution here to allow the whole chain to be bootstrapped.
+    javaAntlr = fetchurl {
+      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
+      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
+    };
+
+    xlibs = [
+      libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
+      xproto renderproto xextproto inputproto randrproto
+    ];
+
+    javaAwtGtk = langJava && x11Support;
+
+    /* Platform flags */
+    platformFlags = let
+        gccArch = stdenv.platform.gcc.arch or null;
+        gccCpu = stdenv.platform.gcc.cpu or null;
+        gccAbi = stdenv.platform.gcc.abi or null;
+        gccFpu = stdenv.platform.gcc.fpu or null;
+        gccFloat = stdenv.platform.gcc.float or null;
+        gccMode = stdenv.platform.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode;
+
+    /* Cross-gcc settings */
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
+    crossConfigureFlags = let
+        gccArch = targetPlatform.gcc.arch or null;
+        gccCpu = targetPlatform.gcc.cpu or null;
+        gccAbi = targetPlatform.gcc.abi or null;
+        gccFpu = targetPlatform.gcc.fpu or null;
+        gccFloat = targetPlatform.gcc.float or null;
+        gccMode = targetPlatform.gcc.mode or null;
+        withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+        withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+        withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
+        withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
+        withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
+        withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
+      in
+        "--target=${targetPlatform.config}" +
+        withArch +
+        withCpu +
+        withAbi +
+        withFpu +
+        withFloat +
+        withMode +
+        # Ensure that -print-prog-name is able to find the correct programs.
+        " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
+        (if crossMingw && crossStageStatic then
+          " --with-headers=${libcCross}/include" +
+          " --with-gcc" +
+          " --with-gnu-as" +
+          " --with-gnu-ld" +
+          " --with-gnu-ld" +
+          " --disable-shared" +
+          " --disable-nls" +
+          " --disable-debug" +
+          " --enable-sjlj-exceptions" +
+          " --enable-threads=win32" +
+          " --disable-win32-registry"
+          else if crossStageStatic then
+          " --disable-libssp --disable-nls" +
+          " --without-headers" +
+          " --disable-threads " +
+          " --disable-libgomp " +
+          " --disable-libquadmath" +
+          " --disable-shared" +
+          " --disable-libatomic " +  # libatomic requires libc
+          " --disable-decimal-float" # libdecnumber requires libc
+          else
+          (if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot"
+           else                " --with-headers=${getDev libcCross}/include") +
+          # Ensure that -print-prog-name is able to find the correct programs.
+          " --enable-__cxa_atexit" +
+          " --enable-long-long" +
+          (if crossMingw then
+            " --enable-threads=win32" +
+            " --enable-sjlj-exceptions" +
+            " --enable-hash-synchronization" +
+            " --disable-libssp" +
+            " --disable-nls" +
+            " --with-dwarf2" +
+            # I think noone uses shared gcc libs in mingw, so we better do the same.
+            # In any case, mingw32 g++ linking is broken by default with shared libs,
+            # unless adding "-lsupc++" to any linking command. I don't know why.
+            " --disable-shared" +
+            # To keep ABI compatibility with upstream mingw-w64
+            " --enable-fully-dynamic-string"
+            else (if targetPlatform.libc == "uclibc" then
+              # libsanitizer requires netrom/netrom.h which is not
+              # available in uclibc.
+              " --disable-libsanitizer" +
+              # In uclibc cases, libgomp needs an additional '-ldl'
+              # and as I don't know how to pass it, I disable libgomp.
+              " --disable-libgomp" else "") +
+            " --enable-threads=posix" +
+            " --enable-nls" +
+            " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
+          );
+    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+
+  bootstrap = targetPlatform == hostPlatform;
+
+in
+
+# We need all these X libraries when building AWT with GTK+.
+assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
+
+stdenv.mkDerivation ({
+  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+
+  builder = ../builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.bz2";
+    sha256 = "05xwps0ci7wgxh50askpa2r9p8518qxdgh6ad7pnyk7n6p13d0ca";
+  };
+
+  inherit patches;
+
+  outputs = [ "out" "lib" "man" "info" ];
+  setOutputFlags = false;
+  NIX_NO_SELF_RPATH = true;
+
+  libc_dev = stdenv.cc.libc_dev;
+
+  hardeningDisable = [ "format" ];
+
+  postPatch =
+    if (hostPlatform.isHurd
+        || (libcCross != null                  # e.g., building `gcc.crossDrv'
+            && libcCross ? crossConfig
+            && libcCross.crossConfig == "i586-pc-gnu")
+        || (crossGNU && libcCross != null))
+    then
+      # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
+      # in glibc, so add the right `-I' flags to the default spec string.
+      assert libcCross != null -> libpthreadCross != null;
+      let
+        libc = if libcCross != null then libcCross else stdenv.glibc;
+        gnu_h = "gcc/config/gnu.h";
+        extraCPPDeps =
+             libc.propagatedBuildInputs
+          ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
+          ++ stdenv.lib.optional (libpthread != null) libpthread;
+        extraCPPSpec =
+          concatStrings (intersperse " "
+                          (map (x: "-I${x.dev or x}/include") extraCPPDeps));
+        extraLibSpec =
+          if libpthreadCross != null
+          then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
+          else "-L${libpthread}/lib";
+      in
+        '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
+
+           echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
+           sed -i "${gnu_h}" \
+               -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
+
+           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
+           sed -i "${gnu_h}" \
+               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
+        ''
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
+      # On NixOS, use the right path to the dynamic linker instead of
+      # `/lib/ld*.so'.
+      let
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
+      in
+        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
+           for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
+           do
+             grep -q LIBC_DYNAMIC_LINKER "$header" || continue
+             echo "  fixing \`$header'..."
+             sed -i "$header" \
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'
+           done
+        ''
+    else null;
+
+  inherit noSysDirs staticCompiler langJava crossStageStatic
+    libcCross crossMingw;
+
+  nativeBuildInputs = [ texinfo which gettext ]
+    ++ (optional (perl != null) perl)
+    ++ (optional javaAwtGtk pkgconfig);
+
+  buildInputs = [ gmp mpfr libmpc libelf flex ]
+    ++ (optional (isl != null) isl)
+    ++ (optional (zlib != null) zlib)
+    ++ (optionals langJava [ boehmgc zip unzip ])
+    ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals langAda [gnatboot])
+    ++ (optionals langVhdl [gnat])
+
+    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+    ++ (optional hostPlatform.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin binutils)
+    ;
+
+  NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
+
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
+    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+  '';
+
+  dontDisableStatic = true;
+
+  configureFlags = "
+    ${if hostPlatform.isSunOS then
+      " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
+      # On Illumos/Solaris GNU as is preferred
+      " --with-gnu-as --without-gnu-ld "
+      else ""}
+    --enable-lto
+    ${if enableMultilib then "--enable-multilib --disable-libquadmath" else "--disable-multilib"}
+    ${if enableShared then "" else "--disable-shared"}
+    ${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
+    ${optionalString (isl != null) "--with-isl=${isl}"}
+    ${if langJava then
+      "--with-ecj-jar=${javaEcj} " +
+
+      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
+      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
+      "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
+      else ""}
+    ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+    ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
+    --with-gmp-include=${gmp.dev}/include
+    --with-gmp-lib=${gmp.out}/lib
+    --with-mpfr-include=${mpfr.dev}/include
+    --with-mpfr-lib=${mpfr.out}/lib
+    --with-mpc=${libmpc}
+    ${if libelf != null then "--with-libelf=${libelf}" else ""}
+    --disable-libstdcxx-pch
+    --without-included-gettext
+    --with-system-zlib
+    --enable-static
+    --enable-languages=${
+      concatStrings (intersperse ","
+        (  optional langC        "c"
+        ++ optional langCC       "c++"
+        ++ optional langFortran  "fortran"
+        ++ optional langJava     "java"
+        ++ optional langAda      "ada"
+        ++ optional langVhdl     "vhdl"
+        ++ optional langGo       "go"
+        ++ optional langObjC     "objc"
+        ++ optional langObjCpp   "obj-c++"
+        ++ optionals crossDarwin [ "objc" "obj-c++" ]
+        )
+      )
+    }
+    ${if targetPlatform == hostPlatform
+      then if hostPlatform.isDarwin
+        then " --with-native-system-header-dir=${darwin.usr-include}"
+        else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
+      else ""}
+    ${if langAda then " --enable-libada" else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
+    ${if !bootstrap then "--disable-bootstrap" else ""}
+    ${if targetPlatform == hostPlatform then platformFlags else ""}
+  ";
+
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
+
+  buildFlags = if bootstrap then
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
+    else "";
+
+  installTargets =
+    if stripped
+    then "install-strip"
+    else "install";
+
+  crossAttrs = let
+    xgccArch = targetPlatform.gcc.arch or null;
+    xgccCpu = targetPlatform.gcc.cpu or null;
+    xgccAbi = targetPlatform.gcc.abi or null;
+    xgccFpu = targetPlatform.gcc.fpu or null;
+    xgccFloat = targetPlatform.gcc.float or null;
+    xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
+    xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
+    xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
+    xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
+    xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
+  in {
+    AR = "${targetPlatform.config}-ar";
+    LD = "${targetPlatform.config}-ld";
+    CC = "${targetPlatform.config}-gcc";
+    CXX = "${targetPlatform.config}-gcc";
+    AR_FOR_TARGET = "${targetPlatform.config}-ar";
+    LD_FOR_TARGET = "${targetPlatform.config}-ld";
+    CC_FOR_TARGET = "${targetPlatform.config}-gcc";
+    NM_FOR_TARGET = "${targetPlatform.config}-nm";
+    CXX_FOR_TARGET = "${targetPlatform.config}-g++";
+    # If we are making a cross compiler, targetPlatform != hostPlatform
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
+    dontStrip = true;
+    configureFlags = ''
+      ${if enableMultilib then "" else "--disable-multilib"}
+      ${if enableShared then "" else "--disable-shared"}
+      ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
+      ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
+      ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""}
+      --with-gmp=${gmp.crossDrv}
+      --with-mpfr=${mpfr.crossDrv}
+      --with-mpc=${libmpc.crossDrv}
+      --disable-libstdcxx-pch
+      --without-included-gettext
+      --with-system-zlib
+      --enable-languages=${
+        concatStrings (intersperse ","
+          (  optional langC        "c"
+          ++ optional langCC       "c++"
+          ++ optional langFortran  "fortran"
+          ++ optional langJava     "java"
+          ++ optional langAda      "ada"
+          ++ optional langVhdl     "vhdl"
+          ++ optional langGo       "go"
+          )
+        )
+      }
+      ${if langAda then " --enable-libada" else ""}
+      --target=${targetPlatform.config}
+      ${xwithArch}
+      ${xwithCpu}
+      ${xwithAbi}
+      ${xwithFpu}
+      ${xwithFloat}
+    '';
+    buildFlags = "";
+  };
+
+
+  # Needed for the cross compilation to work
+  AR = "ar";
+  LD = "ld";
+  # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+  CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
+
+  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
+  # the library headers and binaries, regarless of the language being
+  # compiled.
+
+  # Note: When building the Java AWT GTK+ peer, the build system doesn't
+  # honor `--with-gmp' et al., e.g., when building
+  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
+  # add them to $CPATH and $LIBRARY_PATH in this case.
+  #
+  # Likewise, the LTO code doesn't find zlib.
+
+  CPATH = makeSearchPathOutput "dev" "include" ([]
+    ++ optional (zlib != null) zlib
+    ++ optional langJava boehmgc
+    ++ optionals javaAwtGtk xlibs
+    ++ optionals javaAwtGtk [ gmp mpfr ]
+    ++ optional (libpthread != null) libpthread
+    ++ optional (libpthreadCross != null) libpthreadCross
+
+    # On GNU/Hurd glibc refers to Mach & Hurd
+    # headers.
+    ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs")
+                 libcCross.propagatedBuildInputs);
+
+  LIBRARY_PATH = makeLibraryPath ([]
+    ++ optional (zlib != null) zlib
+    ++ optional langJava boehmgc
+    ++ optionals javaAwtGtk xlibs
+    ++ optionals javaAwtGtk [ gmp mpfr ]
+    ++ optional (libpthread != null) libpthread);
+
+  EXTRA_TARGET_CFLAGS =
+    if targetPlatform != hostPlatform && libcCross != null then [
+        "-idirafter ${getDev libcCross}/include"
+      ]
+      ++ optionals (! crossStageStatic) [
+        "-B${libcCross.out}/lib"
+      ]
+    else null;
+
+  EXTRA_TARGET_LDFLAGS =
+    if targetPlatform != hostPlatform && libcCross != null then [
+        "-Wl,-L${libcCross.out}/lib"
+      ]
+      ++ (if crossStageStatic then [
+        "-B${libcCross.out}/lib"
+      ] else [
+        "-Wl,-rpath,${libcCross.out}/lib"
+        "-Wl,-rpath-link,${libcCross.out}/lib"
+      ])
+      ++ optionals (libpthreadCross != null) [
+        "-L${libpthreadCross}/lib"
+        "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
+      ]
+    else null;
+
+  passthru =
+    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
+
+  inherit enableParallelBuilding enableMultilib;
+
+  inherit (stdenv) is64bit;
+
+  meta = {
+    homepage = http://gcc.gnu.org/;
+    license = stdenv.lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
+    description = "GNU Compiler Collection, version ${version}"
+      + (if stripped then "" else " (with debugging info)");
+
+    longDescription = ''
+      The GNU Compiler Collection includes compiler front ends for C, C++,
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
+      as libraries for these languages (libstdc++, libgcj, libgomp,...).
+
+      GCC development is a part of the GNU Project, aiming to improve the
+      compiler used in the GNU system including the GNU/Linux variant.
+    '';
+
+    maintainers = with stdenv.lib.maintainers; [ ];
+
+    # gnatboot is not available out of linux platforms, so we disable the darwin build
+    # for the gnat (ada compiler).
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
+  };
+}
+
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
+  makeFlags = [ "all-gcc" "all-target-libgcc" ];
+  installTargets = "install-gcc install-target-libgcc";
+}
+
+# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+)
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index 9c3b7a4e7df..bb2c9d8a5c0 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
-, langObjC ? stdenv.isDarwin
-, langObjCpp ? stdenv.isDarwin
+, langObjC ? targetPlatform.isDarwin
+, langObjCpp ? targetPlatform.isDarwin
 , langJava ? false
 , langAda ? false
 , langVhdl ? false
@@ -25,7 +25,6 @@
 , enableMultilib ? false
 , enablePlugin ? true             # whether to support user-supplied plug-ins
 , name ? "gcc"
-, cross ? null
 , libcCross ? null
 , crossStageStatic ? true
 , gnat ? null
@@ -49,10 +48,10 @@ assert langVhdl     -> gnat != null;
 assert libelf != null -> zlib != null;
 
 # Make sure we get GNU sed.
-assert stdenv.isDarwin -> gnused != null;
+assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert stdenv.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> binutils != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -63,13 +62,13 @@ with builtins;
 let version = "7-20170409";
 
     # Whether building a cross-compiler for GNU/Hurd.
-    crossGNU = cross != null && cross.config == "i586-pc-gnu";
+    crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
 
     enableParallelBuilding = true;
 
     patches =
       [ ]
-      ++ optional (cross != null) ../libstdc++-target.patch
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
@@ -122,8 +121,8 @@ let version = "7-20170409";
         withMode;
 
     /* Cross-gcc settings */
-    crossMingw = cross != null && cross.libc == "msvcrt";
-    crossDarwin = cross != null && cross.libc == "libSystem";
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
     crossConfigureFlags = let
         gccArch = targetPlatform.gcc.arch or null;
         gccCpu = targetPlatform.gcc.cpu or null;
@@ -138,7 +137,7 @@ let version = "7-20170409";
         withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
         withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
       in
-        "--target=${cross.config}" +
+        "--target=${targetPlatform.config}" +
         withArch +
         withCpu +
         withAbi +
@@ -146,8 +145,8 @@ let version = "7-20170409";
         withFloat +
         withMode +
         # Ensure that -print-prog-name is able to find the correct programs.
-        " --with-as=${binutils}/bin/${cross.config}-as" +
-        " --with-ld=${binutils}/bin/${cross.config}-ld" +
+        " --with-as=${binutils}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -188,7 +187,7 @@ let version = "7-20170409";
             " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
-            else (if cross.libc == "uclibc" then
+            else (if targetPlatform.libc == "uclibc" then
               # libsanitizer requires netrom/netrom.h which is not
               # available in uclibc.
               " --disable-libsanitizer" +
@@ -200,9 +199,9 @@ let version = "7-20170409";
             " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
           );
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
+    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-  bootstrap = cross == null;
+  bootstrap = targetPlatform == hostPlatform;
 
 in
 
@@ -230,7 +229,7 @@ stdenv.mkDerivation ({
   hardeningDisable = [ "format" ];
 
   postPatch =
-    if (stdenv.isGNU
+    if (hostPlatform.isHurd
         || (libcCross != null                  # e.g., building `gcc.crossDrv'
             && libcCross ? crossConfig
             && libcCross.crossConfig == "i586-pc-gnu")
@@ -266,7 +265,7 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
         ''
-    else if cross != null || stdenv.cc.libc != null then
+    else if targetPlatform != hostPlatform || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
@@ -295,19 +294,19 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (cross != null) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [binutils])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-    ++ (optional stdenv.isDarwin gnused)
-    ++ (optional stdenv.isDarwin binutils)
+    ++ (optional hostPlatform.isDarwin gnused)
+    ++ (optional hostPlatform.isDarwin binutils)
     ;
 
-  NIX_LDFLAGS = stdenv.lib.optionalString  stdenv.isSunOS "-lm -ldl";
+  NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
+  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
     export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
@@ -317,7 +316,7 @@ stdenv.mkDerivation ({
   dontDisableStatic = true;
 
   configureFlags = "
-    ${if stdenv.isSunOS then
+    ${if hostPlatform.isSunOS then
       " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
       # On Illumos/Solaris GNU as is preferred
       " --with-gnu-as --without-gnu-ld "
@@ -361,19 +360,19 @@ stdenv.mkDerivation ({
         )
       )
     }
-    ${if cross == null
-      then if stdenv.isDarwin
+    ${if targetPlatform == hostPlatform
+      then if hostPlatform.isDarwin
         then " --with-native-system-header-dir=${darwin.usr-include}"
         else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
       else ""}
     ${if langAda then " --enable-libada" else ""}
-    ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
-    ${if cross != null then crossConfigureFlags else ""}
+    ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
+    ${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
     ${if !bootstrap then "--disable-bootstrap" else ""}
-    ${if cross == null then platformFlags else ""}
+    ${if targetPlatform == hostPlatform then platformFlags else ""}
   ";
 
-  targetConfig = if cross != null then cross.config else null;
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = if bootstrap then
     (if profiledCompiler then "profiledbootstrap" else "bootstrap")
@@ -406,7 +405,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${targetPlatform.config}-nm";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -482,7 +481,7 @@ stdenv.mkDerivation ({
     ++ optional (libpthread != null) libpthread);
 
   EXTRA_TARGET_CFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-idirafter ${getDev libcCross}/include"
       ]
       ++ optionals (! crossStageStatic) [
@@ -491,7 +490,7 @@ stdenv.mkDerivation ({
     else null;
 
   EXTRA_TARGET_LDFLAGS =
-    if cross != null && libcCross != null then [
+    if targetPlatform != hostPlatform && libcCross != null then [
         "-Wl,-L${libcCross.out}/lib"
       ]
       ++ (if crossStageStatic then [
@@ -539,13 +538,13 @@ stdenv.mkDerivation ({
   };
 }
 
-// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
 }
 
-# Strip kills static libs of other archs (hence cross != null)
-// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+# Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gerbil/default.nix b/pkgs/development/compilers/gerbil/default.nix
new file mode 100644
index 00000000000..1bffd1bd1c8
--- /dev/null
+++ b/pkgs/development/compilers/gerbil/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, fetchgit, gambit, openssl, zlib, coreutils, rsync, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "gerbil-${version}";
+
+  version = "0.10";
+  src = fetchurl {
+    url    = "https://github.com/vyzo/gerbil/archive/v${version}.tar.gz";
+    sha256 = "14wzdnifr99g1mvm2xwks97nhaq62hfx43pxcw9gs647i7cymbly";
+  };
+
+  buildInputs = [ gambit openssl zlib coreutils rsync bash ];
+
+  postPatch = ''
+    patchShebangs .
+
+    find . -type f -executable -print0 | while IFS= read -r -d ''$'\0' f; do
+      substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env'
+    done
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    ( cd src && sh build.sh )
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/
+    cp -fa bin lib etc doc $out/
+
+    cat > $out/bin/gxi <<EOF
+#!${bash}/bin/bash -e
+export GERBIL_HOME=$out
+case "\$1" in -:*) GSIOPTIONS=\$1 ; shift ;; esac
+if [[ \$# = 0 ]] ; then
+  ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init \$GERBIL_HOME/lib/gxi-interactive - ;
+else
+  ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init "\$@"
+fi
+EOF
+    runHook postInstall
+  '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "Gerbil";
+    homepage    = "https://github.com/vyzo/gerbil";
+    license     = stdenv.lib.licenses.lgpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fare ];
+  };
+}
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index 605458e7185..cc0b1d4eadd 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -19,7 +19,9 @@ stdenv.mkDerivation rec {
     sha256 = "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi";
   };
 
-  patches = [] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch;
+  patches = []
+    ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
+    ++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
 
   buildInputs = [ ghc perl hscolour sphinx ];
 
diff --git a/pkgs/development/compilers/ghc/ghc-8.0.2-no-cpp-warnings.patch b/pkgs/development/compilers/ghc/ghc-8.0.2-no-cpp-warnings.patch
new file mode 100644
index 00000000000..90224df19f6
--- /dev/null
+++ b/pkgs/development/compilers/ghc/ghc-8.0.2-no-cpp-warnings.patch
@@ -0,0 +1,23 @@
+--- b/includes/rts/storage/ClosureMacros.h        2017-05-21 12:54:09.000000000 +0200
++++ a/includes/rts/storage/ClosureMacros.h        2017-05-21 12:55:57.000000000 +0200
+@@ -499,8 +499,17 @@
+
+    -------------------------------------------------------------------------- */
+
+-#define ZERO_SLOP_FOR_LDV_PROF     (defined(PROFILING))
+-#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
++#if defined(PROFILING)
++#define ZERO_SLOP_FOR_LDV_PROF 1
++#else
++#define ZERO_SLOP_FOR_LDV_PROF 0
++#endif
++
++#if defined(DEBUG) && !defined(THREADED_RTS)
++#define ZERO_SLOP_FOR_SANITY_CHECK 1
++#else
++#define ZERO_SLOP_FOR_SANITY_CHECK 0
++#endif
+
+ #if ZERO_SLOP_FOR_LDV_PROF || ZERO_SLOP_FOR_SANITY_CHECK
+ #define OVERWRITING_CLOSURE(c) overwritingClosure(c)
+
diff --git a/pkgs/development/compilers/ghcjs/head.nix b/pkgs/development/compilers/ghcjs/head.nix
index 591660f5c34..01b13262ef0 100644
--- a/pkgs/development/compilers/ghcjs/head.nix
+++ b/pkgs/development/compilers/ghcjs/head.nix
@@ -8,10 +8,10 @@ bootPkgs.callPackage ./base.nix {
   ghcjsSrc = fetchFromGitHub {
     # TODO: switch back to the regular ghcjs repo
     # when https://github.com/ghcjs/ghcjs/pull/573 is merged.
-    owner = "basvandijk";
+    owner = "k0001";
     repo = "ghcjs";
-    rev = "e6cdc71964a1c2e4184416a493e9d384c408914c";
-    sha256 = "00fk9qwyx4vpvr0h9jbqxwlrvl6w63l5sq8r357prsp6xyv5zniz";
+    rev = "600015e085a28da601b65a41c513d4a458fcd184";
+    sha256 = "01kirrg0fnfwhllvwgfqjiwzwj4yv4lyig87x61n9jp6y5shzjdx";
   };
   ghcjsBootSrc = fetchgit {
     # TODO: switch back to git://github.com/ghcjs/ghcjs-boot.git
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 7ecae36a4d5..d7a824239b8 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "00radlwbrssn0x3naamb33cfx7ap2jv7s51bqr705nmn2j5yyblk";
+    sha256 = "1gacjwbs1qbx8x84746qdxx2xwylirvd31ybgagfglfsl77vi4m2";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix
index 24a40ca0ba0..8e0b1c7360f 100644
--- a/pkgs/development/compilers/go/1.8.nix
+++ b/pkgs/development/compilers/go/1.8.nix
@@ -25,13 +25,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "1157mmzjpk887cpcpn2qy9c69anc22c4p3cjpl84zl7an41x660j";
+    sha256 = "0g83xm9gb872rsqzwqr1zw5szq69xhynljj2nglg4yyfi7dm2r1c";
   };
 
   # perl is used for testing go vet
@@ -80,6 +80,9 @@ stdenv.mkDerivation rec {
 
   '' + optionalString stdenv.isLinux ''
     sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
+  '' + optionalString stdenv.isArm ''
+    sed -i '/TestCurrent/areturn' src/os/user/user_test.go
+    echo '#!/usr/bin/env bash' > misc/cgo/testplugin/test.bash
   '' + optionalString stdenv.isDarwin ''
     substituteInPlace src/race.bash --replace \
       "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix
index 934fbeeb6f9..5e0970ea12f 100644
--- a/pkgs/development/compilers/iasl/default.nix
+++ b/pkgs/development/compilers/iasl/default.nix
@@ -1,11 +1,12 @@
 {stdenv, fetchurl, bison, flex}:
 
-stdenv.mkDerivation {
-  name = "iasl-20130117";
+stdenv.mkDerivation rec {
+  name = "iasl-${version}";
+  version = "20170303";
 
   src = fetchurl {
-    url = http://www.acpica.org/download/acpica-unix-20130117.tar.gz;
-    sha256 = "1zils7l7gnkbbl8916dlhvij1g625ryb7769zhzffn3flshfdivh";
+    url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
+    sha256 = "1dc933rr11gv1nlaf5j8ih1chdakbjbjkn34jgbm330zppmck4y0";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/development/compilers/llvm/3.4/fix-llvm-config.patch b/pkgs/development/compilers/llvm/3.4/fix-llvm-config.patch
new file mode 100644
index 00000000000..772c4960927
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.4/fix-llvm-config.patch
@@ -0,0 +1,13 @@
+diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py
+index eacefdf60bf..40d25f5cef8 100644
+--- a/utils/llvm-build/llvmbuild/main.py
++++ b/utils/llvm-build/llvmbuild/main.py
+@@ -412,7 +412,7 @@ subdirectories = %s
+             if library_name is None:
+                 library_name_as_cstr = '0'
+             else:
+-                library_name_as_cstr = '"lib%s.a"' % library_name
++                library_name_as_cstr = '"lib%s.so"' % library_name
+             f.write('  { "%s", %s, %d, { %s } },\n' % (
+                 name, library_name_as_cstr, is_installed,
+                 ', '.join('"%s"' % dep
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 0a18f7e01cf..73469fa122a 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -29,12 +29,16 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs =
-    [ perl groff cmake libxml2 libffi ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin) python2 /*
+    [ perl groff cmake libxml2 libffi python2 ] /*
     ++ stdenv.lib.optional stdenv.isLinux valgrind */;
 
   propagatedBuildInputs = [ ncurses zlib ];
 
+  patches = stdenv.lib.optionals (!stdenv.isDarwin) [
+    # llvm-config --libfiles returns (non-existing) static libs
+    ./fix-llvm-config.patch
+  ];
+
   # hacky fix: created binaries need to be run before installation
   preBuild = ''
     mkdir -p $out/
@@ -48,7 +52,7 @@ in stdenv.mkDerivation rec {
     "-DLLVM_REQUIRES_RTTI=1"
     "-DLLVM_BINUTILS_INCDIR=${binutils.dev or binutils}/include"
     "-DCMAKE_CXX_FLAGS=-std=c++11"
-  ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
+  ] ++ stdenv.lib.optional (!stdenv.isDarwin) "-DBUILD_SHARED_LIBS=ON";
 
   postBuild = ''
     rm -fR $out
diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix
index 91068227110..ec2ec27df36 100644
--- a/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -13,7 +13,9 @@ let
       mv clang-tools-extra-* $sourceRoot/tools/extra
     '';
 
-    buildInputs = [ cmake libedit libxml2 llvm python ];
+    nativeBuildInputs = [ cmake ];
+
+    buildInputs = [ libedit libxml2 llvm python ];
 
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++11"
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 2c47ec5127f..964b6232fb5 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -15,10 +15,15 @@
 , compiler-rt_src
 , libcxxabi
 , debugVersion ? false
-, enableSharedLibraries ? true
+, enableSharedLibraries ? (buildPlatform == hostPlatform)
 , darwin
+, buildPackages
+, buildPlatform
+, hostPlatform
 }:
 
+assert (hostPlatform != buildPlatform) -> !enableSharedLibraries;
+
 let
   src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z";
   shlib = if stdenv.isDarwin then "dylib" else "so";
@@ -39,8 +44,17 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
 
-  buildInputs = [ perl groff cmake libxml2 python libffi ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
+  nativeBuildInputs = [
+    perl
+    cmake
+    python
+  ];
+
+  buildInputs = [
+    groff
+    libxml2
+    libffi
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
 
   propagatedBuildInputs = [ ncurses zlib ];
 
@@ -88,6 +102,9 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
+  ] ++ stdenv.lib.optionals (buildPlatform != hostPlatform) [
+    "-DCMAKE_CROSSCOMPILING=True"
+    "-DLLVM_TABLEGEN=${buildPackages.llvmPackages_39.llvm}/bin/llvm-tblgen"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index c9387159283..64dbaa21dd4 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python }:
+{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python
+, fixDarwinDylibNames
+, enableManpages ? true
+}:
 
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
@@ -13,23 +16,41 @@ let
       mv clang-tools-extra-* $sourceRoot/tools/extra
     '';
 
-    buildInputs = [ cmake libedit libxml2 llvm python ];
+    nativeBuildInputs = [ cmake python ]
+      ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+    buildInputs = [ libedit libxml2 llvm ]
+      ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++11"
-    ] ++
+    ] ++ stdenv.lib.optionals enableManpages [
+      "-DCLANG_INCLUDE_DOCS=ON"
+      "-DLLVM_ENABLE_SPHINX=ON"
+      "-DSPHINX_OUTPUT_MAN=ON"
+      "-DSPHINX_OUTPUT_HTML=OFF"
+      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+    ]
     # Maybe with compiler-rt this won't be needed?
-    (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++
-    (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include");
+    ++ stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}"
+    ++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include";
 
     patches = [ ./purity.patch ];
 
+    postBuild = stdenv.lib.optionalString enableManpages ''
+      cmake --build . --target docs-clang-man
+    '';
+
     postPatch = ''
       sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
+
+      # Patch for standalone doc building
+      sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
     '';
 
-    outputs = [ "out" "python" ];
+    outputs = [ "out" "python" ]
+      ++ stdenv.lib.optional enableManpages "man";
 
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
@@ -46,6 +67,13 @@ let
       mv $out/share/clang/*.py $python/share/clang
 
       rm $out/bin/c-index-test
+    ''
+    + stdenv.lib.optionalString enableManpages ''
+      # Manually install clang manpage
+      cp docs/man/*.1 $out/share/man/man1/
+
+      # Move it and other man pages to 'man' output
+      moveToOutput "share/man" "$man"
     '';
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/llvm/4/libc++abi.nix b/pkgs/development/compilers/llvm/4/libc++abi.nix
index 559b6b26bc5..3a0e996fb9a 100644
--- a/pkgs/development/compilers/llvm/4/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/4/libc++abi.nix
@@ -5,7 +5,8 @@ stdenv.mkDerivation {
 
   src = fetch "libcxxabi" "1n416kv27anabg9jsw6331r28ic30xk46p381lx2vbb2jrhwpafw";
 
-  buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
+  nativeBuildInputs = [ cmake ];
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
 
   postUnpack = ''
     unpackFile ${libcxx.src}
diff --git a/pkgs/development/compilers/llvm/4/lld.nix b/pkgs/development/compilers/llvm/4/lld.nix
index 549fa863c15..f9cd72b4200 100644
--- a/pkgs/development/compilers/llvm/4/lld.nix
+++ b/pkgs/development/compilers/llvm/4/lld.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
 
   src = fetch "lld" "00km1qawk146pyjqa6aphcdzgkzrmg6cgk0ikg4661ffp5bn9q1k";
 
-  buildInputs = [ cmake llvm ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ llvm ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/compilers/llvm/4/lldb-libedit.patch b/pkgs/development/compilers/llvm/4/lldb-libedit.patch
new file mode 100644
index 00000000000..73459ce6c86
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/lldb-libedit.patch
@@ -0,0 +1,30 @@
+From 94764369222a8e6c65420a6981d7f179a18a5417 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 25 May 2017 15:03:42 -0500
+Subject: [PATCH] EditLine.h: libedit supports wide chars on NixOS
+
+---
+ include/lldb/Host/Editline.h | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/include/lldb/Host/Editline.h b/include/lldb/Host/Editline.h
+index faed373bc..b248cdee1 100644
+--- a/include/lldb/Host/Editline.h
++++ b/include/lldb/Host/Editline.h
+@@ -43,12 +43,9 @@
+ // will only be
+ // used in cases where this is true.  This is a compile time dependecy, for now
+ // selected per target Platform
+-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
++// (libedit on NixOS is always wide-char capable)
+ #define LLDB_EDITLINE_USE_WCHAR 1
+ #include <codecvt>
+-#else
+-#define LLDB_EDITLINE_USE_WCHAR 0
+-#endif
+ 
+ #include "lldb/Host/ConnectionFileDescriptor.h"
+ #include "lldb/lldb-private.h"
+-- 
+2.13.0
+
diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix
index 6e6fdf012dd..a3c46a4c7e9 100644
--- a/pkgs/development/compilers/llvm/4/lldb.nix
+++ b/pkgs/development/compilers/llvm/4/lldb.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
 
   src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d";
 
-  patchPhase = ''
+  patches = [ ./lldb-libedit.patch ];
+  postPatch = ''
     # Fix up various paths that assume llvm and clang are installed in the same place
     sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
       cmake/modules/LLDBStandalone.cmake
@@ -29,14 +30,15 @@ stdenv.mkDerivation {
       cmake/modules/LLDBStandalone.cmake
   '';
 
-  buildInputs = [ cmake python which swig ncurses zlib libedit libxml2 llvm ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc ];
+  nativeBuildInputs = [ cmake python which swig ];
+  buildInputs = [ ncurses zlib libedit libxml2 llvm ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
 
   CXXFLAGS = "-fno-rtti";
   hardeningDisable = [ "format" ];
 
   cmakeFlags = [
-    "-DLLDB_DISABLE_LIBEDIT=ON"
+    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
   ];
 
   enableParallelBuilding = true;
@@ -45,6 +47,6 @@ stdenv.mkDerivation {
     description = "A next-generation high-performance debugger";
     homepage    = http://llvm.org/;
     license     = licenses.ncsa;
-    platforms   = platforms.allBut platforms.darwin;
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index 83a14b7fc4d..98c24495355 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -16,6 +16,7 @@
 , compiler-rt_src
 , libcxxabi
 , debugVersion ? false
+, enableManpages ? true
 , enableSharedLibraries ? true
 , darwin
 }:
@@ -38,9 +39,14 @@ in stdenv.mkDerivation rec {
     mv compiler-rt-* $sourceRoot/projects/compiler-rt
   '';
 
-  outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
+  outputs = [ "out" ]
+    ++ stdenv.lib.optional enableSharedLibraries "lib"
+    ++ stdenv.lib.optional enableManpages "man";
 
-  buildInputs = [ perl groff cmake libxml2 python libffi ]
+  nativeBuildInputs = [ perl groff cmake python ]
+    ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+  buildInputs = [ libxml2 libffi ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
 
   propagatedBuildInputs = [ ncurses zlib ];
@@ -80,11 +86,19 @@ in stdenv.mkDerivation rec {
     "-DLLVM_ENABLE_FFI=ON"
     "-DLLVM_ENABLE_RTTI=ON"
     "-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code
-  ] ++ stdenv.lib.optional enableSharedLibraries [
+  ]
+  ++ stdenv.lib.optional enableSharedLibraries
     "-DLLVM_LINK_LLVM_DYLIB=ON"
-  ] ++ stdenv.lib.optional (!isDarwin)
+  ++ stdenv.lib.optionals enableManpages [
+    "-DLLVM_BUILD_DOCS=ON"
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_OUTPUT_HTML=OFF"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ]
+  ++ stdenv.lib.optional (!isDarwin)
     "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
-    ++ stdenv.lib.optionals (isDarwin) [
+  ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
   ];
@@ -103,8 +117,10 @@ in stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
   '';
 
-  postInstall = ""
-  + stdenv.lib.optionalString (enableSharedLibraries) ''
+  postInstall = stdenv.lib.optionalString enableManpages ''
+    moveToOutput "share/man" "$man"
+  ''
+  + stdenv.lib.optionalString enableSharedLibraries ''
     moveToOutput "lib/libLLVM-*" "$lib"
     moveToOutput "lib/libLLVM.${shlib}" "$lib"
     substituteInPlace "$out/lib/cmake/llvm/LLVMExports-release.cmake" \
diff --git a/pkgs/development/compilers/llvm/4/openmp.nix b/pkgs/development/compilers/llvm/4/openmp.nix
index c8ba770e241..197e9a78465 100644
--- a/pkgs/development/compilers/llvm/4/openmp.nix
+++ b/pkgs/development/compilers/llvm/4/openmp.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
 
   src = fetch "openmp" "09kf41zgv551fnv628kqhlwgqkd2bkiwii9gqi6q12djgdddhmfv";
 
-  buildInputs = [ cmake llvm perl ];
+  nativeBuildInputs = [ cmake perl ];
+  buildInputs = [ llvm ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/rust/beta.nix b/pkgs/development/compilers/rust/beta.nix
index 5205c8fc93f..93aaeb9e16e 100644
--- a/pkgs/development/compilers/rust/beta.nix
+++ b/pkgs/development/compilers/rust/beta.nix
@@ -1,56 +1,37 @@
-{ stdenv, callPackage, rustPlatform, cacert, gdb,
-  targets ? [], targetToolchains ? [], targetPatches ? [] }:
+{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform, llvm, fetchurl
+, targets ? []
+, targetToolchains ? []
+, targetPatches ? []
+}:
 
+let
+  rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
+in
 rec {
-  rustc = stdenv.lib.overrideDerivation (callPackage ./rustc.nix {
-    shortVersion = "beta-2017-01-07";
-    forceBundledLLVM = true; # TODO: figure out why linking fails without this
+  rustc = callPackage ./rustc.nix {
+    inherit llvm targets targetPatches targetToolchains rustPlatform;
+
+    version = "beta-2017-05-27";
+
     configureFlags = [ "--release-channel=beta" ];
-    srcRev = "a035041ba450ce3061d78a2bdb9c446eb5321d0d";
-    srcSha = "12xsm0yp1y39fvf9j218gxv73j8hhahc53jyv3q58kiriyqvfc1s";
+
+    src = fetchurl {
+      url = "https://static.rust-lang.org/dist/2017-05-27/rustc-beta-src.tar.gz";
+      sha256 = "9f3f92efef7fb2b4bf38e57e4ff1f416dc221880b90841c4bdaee350801c0b57";
+    };
+
     patches = [
-     ./patches/disable-lockfile-check-nightly.patch
+      ./patches/darwin-disable-fragile-tcp-tests.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-    inherit targets;
-    inherit targetPatches;
-    inherit targetToolchains;
-    inherit rustPlatform;
-  }) (oldAttrs: {
-    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ gdb rustPlatform.rust.cargo ];
-    postUnpack = ''
-      export CARGO_HOME="$(realpath deps)"
-      export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
-    '';
-    postPatch = ''
-      ${oldAttrs.postPatch}
-
-      # Remove failing debuginfo tests because of old gdb version: https://github.com/rust-lang/rust/issues/38948#issuecomment-271443596
-      rm -vr src/test/debuginfo/borrowed-enum.rs || true
-      rm -vr src/test/debuginfo/generic-struct-style-enum.rs || true
-      rm -vr src/test/debuginfo/generic-tuple-style-enum.rs || true
-      rm -vr src/test/debuginfo/packed-struct.rs || true
-      rm -vr src/test/debuginfo/recursive-struct.rs || true
-      rm -vr src/test/debuginfo/struct-in-enum.rs || true
-      rm -vr src/test/debuginfo/struct-style-enum.rs || true
-      rm -vr src/test/debuginfo/tuple-style-enum.rs || true
-      rm -vr src/test/debuginfo/union-smoke.rs || true
-      rm -vr src/test/debuginfo/unique-enum.rs || true
-
-      # make external cargo work until https://github.com/rust-lang/rust/issues/38950 is fixed
-      sed -i "s#    def cargo(self):#    def cargo(self):\n        return \"${rustPlatform.rust.cargo}/bin/cargo\"#g" src/bootstrap/bootstrap.py
-      substituteInPlace \
-        src/bootstrap/config.rs \
-        --replace \
-        'self.cargo = Some(push_exe_path(path, &["bin", "cargo"]));' \
-        ''$'self.cargo = Some(\n                        "${rustPlatform.rust.cargo}\\\n                        /bin/cargo".into());'
-    '';
-  });
+
+    doCheck = false;
+  };
 
   cargo = callPackage ./cargo.nix rec {
-    version = "beta-2017-01-10";
-    srcRev = "6dd4ff0f5b59fff524762c4a7b65882adda713c0";
-    srcSha = "1x6d42qq2zhr1iaw0m0nslhv6c1w6x6schmd96max0p9xb47l9zj";
-    depsSha256 = "1sywnhzgambmqsjs2xlnzracfv7vjljha55hgf8wca2marafr5dp";
+    version = "0.18.0";
+    srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
+    srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
+    depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
new file mode 100644
index 00000000000..37b06555bdb
--- /dev/null
+++ b/pkgs/development/compilers/rust/binaryBuild.nix
@@ -0,0 +1,99 @@
+{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl
+, version
+, src
+, platform
+, versionType
+}:
+
+let
+  inherit (stdenv.lib) optionalString;
+
+  needsPatchelf = stdenv.isLinux;
+
+  bootstrapping = versionType == "bootstrap";
+
+  installComponents
+    = "rustc,rust-std-${platform}"
+    + (optionalString bootstrapping ",rust-docs,cargo")
+    ;
+in
+
+rec {
+  inherit buildRustPackage;
+
+  rustc = stdenv.mkDerivation rec {
+    name = "rustc-${versionType}-${version}";
+
+    inherit version;
+    inherit src;
+
+    meta = with stdenv.lib; {
+      homepage = http://www.rust-lang.org/;
+      description = "A safe, concurrent, practical language";
+      maintainers = with maintainers; [ qknight ];
+      license = [ licenses.mit licenses.asl20 ];
+    };
+
+    phases = ["unpackPhase" "installPhase"];
+
+    installPhase = ''
+      ./install.sh --prefix=$out \
+        --components=${installComponents}
+
+      ${optionalString (needsPatchelf && bootstrapping) ''
+        patchelf \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+          "$out/bin/rustdoc"
+        patchelf \
+          --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+          "$out/bin/cargo"
+      ''}
+
+      ${optionalString needsPatchelf ''
+        patchelf \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+          "$out/bin/rustc"
+
+      # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc
+      # (or similar) here. It causes strange effects where rustc loads
+      # the wrong libraries in a bootstrap-build causing failures that
+      # are very hard to track dow. For details, see
+      # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
+      ''}
+    '';
+
+  };
+
+  cargo = stdenv.mkDerivation rec {
+    name = "cargo-${versionType}-${version}";
+
+    inherit version;
+    inherit src;
+
+    meta = with stdenv.lib; {
+      homepage = http://www.rust-lang.org/;
+      description = "A safe, concurrent, practical language";
+      maintainers = with maintainers; [ qknight ];
+      license = [ licenses.mit licenses.asl20 ];
+    };
+
+    buildInputs = [ makeWrapper ];
+    phases = ["unpackPhase" "installPhase"];
+
+    installPhase = ''
+      ./install.sh --prefix=$out \
+        --components=cargo
+
+      ${optionalString needsPatchelf ''
+        patchelf \
+          --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
+          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+          "$out/bin/cargo"
+      ''}
+
+      wrapProgram "$out/bin/cargo" \
+        --suffix PATH : "${rustc}/bin"
+    '';
+  };
+}
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 91660dcc5b3..409bf465630 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,8 +1,6 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib }:
+{ stdenv, fetchurl, makeWrapper, cacert, zlib, curl }:
 
 let
-  inherit (stdenv.lib) optionalString;
-
   platform =
     if stdenv.system == "i686-linux"
     then "i686-unknown-linux-gnu"
@@ -14,77 +12,27 @@ let
     then "x86_64-apple-darwin"
     else throw "missing bootstrap url for platform ${stdenv.system}";
 
-  # fetch hashes by running `print-hashes.sh 1.14.0`
+  # fetch hashes by running `print-hashes.sh 1.17.0`
   bootstrapHash =
     if stdenv.system == "i686-linux"
-    then "8d5c75728b44468216f99651dfae9d60ae0696a77105dd2b02942d75f3256840"
+    then "39d16ce0f618ba37ee1024b83e4822a2d38e6ba9f341ff2020d34df94c7a6beb"
     else if stdenv.system == "x86_64-linux"
-    then "c71325cfea1b6f0bdc5189fa4c50ff96f828096ff3f7b5056367f9685d6a4d04"
+    then "bbb0e249a7a3e8143b569706c7d2e7e5f51932c753b7fd26c58ccd2015b02c6b"
     else if stdenv.system == "i686-darwin"
-    then "fe1b3d67329a22d67e3b8db8858a43022e2e746dde60ef4a2db3f2cac16ea9bd"
+    then "308132b33d4002f95a725c2d31b975ff37905e3644894ed86e614b03ded70265"
     else if stdenv.system == "x86_64-darwin"
-    then "3381341524b0184da5ed2cdcddc2a25e2e335e87f1cf676f64d98ee5e6479f20"
+    then "1689060c07ec727e9756f19c9373045668471ab56fd8f53e92701150bbe2032b"
     else throw "missing bootstrap hash for platform ${stdenv.system}";
 
-  needsPatchelf = stdenv.isLinux;
-
   src = fetchurl {
      url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
      sha256 = bootstrapHash;
   };
 
-  version = "1.14.0";
-in
-
-rec {
-  rustc = stdenv.mkDerivation rec {
-    name = "rustc-bootstrap-${version}";
-
-    inherit version;
-    inherit src;
-
-    buildInputs = [ makeWrapper ];
-    phases = ["unpackPhase" "installPhase"];
-
-    installPhase = ''
-      ./install.sh --prefix=$out \
-        --components=rustc,rust-std-${platform},rust-docs
-
-      ${optionalString needsPatchelf ''
-        patchelf \
-          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/rustc"
-      ''}
-
-      # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc
-      # (or similar) here. It causes strange effects where rustc loads
-      # the wrong libraries in a bootstrap-build causing failures that
-      # are very hard to track dow. For details, see
-      # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
-    '';
-  };
-
-  cargo = stdenv.mkDerivation rec {
-    name = "cargo-bootstrap-${version}";
-
-    inherit version;
-    inherit src;
-
-    buildInputs = [ makeWrapper zlib rustc ];
-    phases = ["unpackPhase" "installPhase"];
-
-    installPhase = ''
-      ./install.sh --prefix=$out \
-        --components=cargo
-
-      ${optionalString needsPatchelf ''
-        patchelf \
-          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/cargo"
-      ''}
-
-      wrapProgram "$out/bin/cargo" \
-        --suffix PATH : "${rustc}/bin"
-    '';
-  };
-}
+  version = "1.17.0";
+in import ./binaryBuild.nix
+  { inherit stdenv fetchurl makeWrapper cacert zlib curl;
+    buildRustPackage = null;
+    inherit version src platform;
+    versionType = "bootstrap";
+  }
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index afab703ae5b..0d7e26e06f4 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform, llvm
+{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform, llvm, fetchurl
 , targets ? []
 , targetToolchains ? []
 , targetPatches ? []
@@ -6,32 +6,30 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
+  version = "1.17.0";
 in
 rec {
   rustc = callPackage ./rustc.nix {
-    shortVersion = "1.15.1";
-    isRelease = true;
-    forceBundledLLVM = false;
+    inherit llvm targets targetPatches targetToolchains rustPlatform version;
+
     configureFlags = [ "--release-channel=stable" ];
-    srcRev = "021bd294c039bd54aa5c4aa85bcdffb0d24bc892";
-    srcSha = "1dp7cjxj8nv960jxkq3p18agh9bpfb69ac14x284jmhwyksim3y7";
+
+    src = fetchurl {
+      url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
+      sha256 = "4baba3895b75f2492df6ce5a28a916307ecd1c088dc1fd02dbfa8a8e86174f87";
+    };
 
     patches = [
       ./patches/darwin-disable-fragile-tcp-tests.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
 
-    inherit llvm;
-    inherit targets;
-    inherit targetPatches;
-    inherit targetToolchains;
-    inherit rustPlatform;
   };
 
   cargo = callPackage ./cargo.nix rec {
-    version = "0.16.0";
-    srcRev = "6e0c18cccc8b0c06fba8a8d76486f81a792fb420";
-    srcSha = "117ivvs9wz848mwf8bw797n10qpn77agd353z8b0hxgbxhpribya";
-    depsSha256 = "11s2xpgfhl4mb4wa2nk4mzsypr7m9daxxc7l0vraiz5cr77gk7qq";
+    version = "0.18.0";
+    srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
+    srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
+    depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/nightly.nix b/pkgs/development/compilers/rust/nightly.nix
index d9ae8c140ab..b69dffbd8b3 100644
--- a/pkgs/development/compilers/rust/nightly.nix
+++ b/pkgs/development/compilers/rust/nightly.nix
@@ -1,56 +1,34 @@
-{ stdenv, callPackage, rustPlatform, cacert, gdb,
-  targets ? [], targetToolchains ? [], targetPatches ? [] }:
+{ stdenv, callPackage, rustPlatform, llvm, fetchurl
+, targets ? []
+, targetToolchains ? []
+, targetPatches ? []
+}:
 
 rec {
-  rustc = stdenv.lib.overrideDerivation (callPackage ./rustc.nix {
-    shortVersion = "nightly-2017-01-10";
-    forceBundledLLVM = true; # TODO: figure out why linking fails without this
+  rustc = callPackage ./rustc.nix {
+    inherit llvm targets targetPatches targetToolchains rustPlatform;
+
+    version = "nightly-2017-05-30";
+
     configureFlags = [ "--release-channel=nightly" ];
-    srcRev = "7bffede97cf58f7159e261eac592f9cf88ce209d";
-    srcSha = "1784jvsf9g03cglwask1zhjmba4ghycbin3rw0hmhb41cz2y4q8v";
+
+    src = fetchurl {
+      url = "https://static.rust-lang.org/dist/2017-05-30/rustc-nightly-src.tar.gz";
+      sha256 = "90ce76db56a93f1b4532f2e62bbf12c243c4d156662b0d80c25319211ee7d0e0";
+    };
+
     patches = [
-     ./patches/disable-lockfile-check-nightly.patch
+      ./patches/darwin-disable-fragile-tcp-tests.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-    inherit targets;
-    inherit targetPatches;
-    inherit targetToolchains;
-    inherit rustPlatform;
-  }) (oldAttrs: {
-    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ gdb rustPlatform.rust.cargo ];
-    postUnpack = ''
-      export CARGO_HOME="$(realpath deps)"
-      export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
-    '';
-    postPatch = ''
-      ${oldAttrs.postPatch}
-
-      # Remove failing debuginfo tests because of old gdb version: https://github.com/rust-lang/rust/issues/38948#issuecomment-271443596
-      rm -vr src/test/debuginfo/borrowed-enum.rs || true
-      rm -vr src/test/debuginfo/generic-struct-style-enum.rs || true
-      rm -vr src/test/debuginfo/generic-tuple-style-enum.rs || true
-      rm -vr src/test/debuginfo/packed-struct.rs || true
-      rm -vr src/test/debuginfo/recursive-struct.rs || true
-      rm -vr src/test/debuginfo/struct-in-enum.rs || true
-      rm -vr src/test/debuginfo/struct-style-enum.rs || true
-      rm -vr src/test/debuginfo/tuple-style-enum.rs || true
-      rm -vr src/test/debuginfo/union-smoke.rs || true
-      rm -vr src/test/debuginfo/unique-enum.rs || true
-
-      # make external cargo work until https://github.com/rust-lang/rust/issues/38950 is fixed
-      sed -i "s#    def cargo(self):#    def cargo(self):\n        return \"${rustPlatform.rust.cargo}/bin/cargo\"#g" src/bootstrap/bootstrap.py
-      substituteInPlace \
-        src/bootstrap/config.rs \
-        --replace \
-        'self.cargo = Some(push_exe_path(path, &["bin", "cargo"]));' \
-        ''$'self.cargo = Some(\n                        "${rustPlatform.rust.cargo}\\\n                        /bin/cargo".into());'
-    '';
-  });
+
+    doCheck = false;
+  };
 
   cargo = callPackage ./cargo.nix rec {
-    version = "nightly-2017-01-10";
-    srcRev = "6dd4ff0f5b59fff524762c4a7b65882adda713c0";
-    srcSha = "1x6d42qq2zhr1iaw0m0nslhv6c1w6x6schmd96max0p9xb47l9zj";
-    depsSha256 = "1sywnhzgambmqsjs2xlnzracfv7vjljha55hgf8wca2marafr5dp";
+    version = "0.18.0";
+    srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
+    srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
+    depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/nightlyBin.nix b/pkgs/development/compilers/rust/nightlyBin.nix
index d8d0681a0c2..bdb11bd5b52 100644
--- a/pkgs/development/compilers/rust/nightlyBin.nix
+++ b/pkgs/development/compilers/rust/nightlyBin.nix
@@ -1,87 +1,23 @@
 { stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl }:
 
 let
-  inherit (stdenv.lib) optionalString;
-
   platform = if stdenv.system == "x86_64-linux"
     then "x86_64-unknown-linux-gnu"
     else throw "missing bootstrap url for platform ${stdenv.system}";
 
   bootstrapHash =
     if stdenv.system == "x86_64-linux"
-    then "1d5h34dkm1r1ff562szygn9xk2qll1pjryvypl0lazzanxdh5gv5"
+    then "21f38f46bf16373d3240a38b775e1acff9bb429f1570a4d4da8b3000315d0085"
     else throw "missing bootstrap hash for platform ${stdenv.system}";
 
-  needsPatchelf = stdenv.isLinux;
-
   src = fetchurl {
      url = "https://static.rust-lang.org/dist/${version}/rust-nightly-${platform}.tar.gz";
      sha256 = bootstrapHash;
   };
 
-  version = "2017-03-16";
-in
-
-rec {
-  inherit buildRustPackage;
-
-  rustc = stdenv.mkDerivation rec {
-    name = "rustc-nightly-${version}";
-
-    inherit version;
-    inherit src;
-
-    meta = with stdenv.lib; {
-      homepage = http://www.rust-lang.org/;
-      description = "A safe, concurrent, practical language";
-      maintainers = with maintainers; [ qknight ];
-      license = [ licenses.mit licenses.asl20 ];
-    };
-
-    buildInputs = [ makeWrapper ];
-    phases = ["unpackPhase" "installPhase"];
-
-    installPhase = ''
-      ./install.sh --prefix=$out \
-        --components=rustc,rust-std-x86_64-unknown-linux-gnu
-
-      ${optionalString needsPatchelf ''
-        patchelf \
-          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/rustc"
-        patchelf \
-          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/rustdoc"
-      ''}
-    '';
-
-  };
-  cargo = stdenv.mkDerivation rec {
-    name = "cargo-nightly-${version}";
-
-    inherit version;
-    inherit src;
-
-    meta = with stdenv.lib; {
-      homepage = http://www.rust-lang.org/;
-      description = "A safe, concurrent, practical language";
-      maintainers = with maintainers; [ qknight ];
-      license = [ licenses.mit licenses.asl20 ];
-    };
-
-    buildInputs = [ makeWrapper curl ];
-    phases = ["unpackPhase" "installPhase"];
-
-    installPhase = ''
-      ./install.sh --prefix=$out \
-        --components=cargo
-
-      ${optionalString needsPatchelf ''
-        patchelf \
-          --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
-          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/cargo"
-      ''}
-    '';
-  };
-}
+  version = "2017-05-30";
+in import ./binaryBuild.nix
+  { inherit stdenv fetchurl makeWrapper cacert zlib buildRustPackage curl;
+    inherit version src platform;
+    versionType = "nightly";
+  }
diff --git a/pkgs/development/compilers/rust/print-hashes.sh b/pkgs/development/compilers/rust/print-hashes.sh
index 4d1d20066b8..da52ac37ab3 100755
--- a/pkgs/development/compilers/rust/print-hashes.sh
+++ b/pkgs/development/compilers/rust/print-hashes.sh
@@ -1,8 +1,21 @@
-#!/bin/sh
+#!/usr/bin/env bash
+
+# All rust-related downloads can be found at
+# https://static.rust-lang.org/dist/index.html.  To find the date on
+# which a particular thing was last updated, look for the *-date.txt
+# file, e.g.
+# https://static.rust-lang.org/dist/channel-rust-beta-date.txt
 
 PLATFORMS="i686-unknown-linux-gnu x86_64-unknown-linux-gnu i686-apple-darwin x86_64-apple-darwin"
 BASEURL="https://static.rust-lang.org/dist"
-VERSION=$1
+DATE=$1
+VERSION=$2
+
+if [[ -z  $DATE ]]
+then
+    echo "No date supplied"
+    exit -1
+fi
 
 if [[ -z  $VERSION ]]
 then
@@ -12,6 +25,6 @@ fi
 
 for PLATFORM in $PLATFORMS
 do
-    URL="$BASEURL/rust-$VERSION-$PLATFORM.tar.gz.sha256"
+    URL="$BASEURL/$DATE/rust-$VERSION-$PLATFORM.tar.gz.sha256"
     curl $URL
 done
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index a693afb8b59..a8ba933b52f 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,25 +1,20 @@
 { stdenv, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
 , llvm, jemalloc, ncurses, darwin, binutils, rustPlatform, git, cmake, curl
-
-, isRelease ? false
-, shortVersion
+, which, libffi, gdb
+, version
 , forceBundledLLVM ? false
-, srcSha, srcRev
+, src
 , configureFlags ? []
 , patches
 , targets
 , targetPatches
 , targetToolchains
+, doCheck ? true
 } @ args:
 
 let
   inherit (stdenv.lib) optional optionalString;
 
-  version = if isRelease then
-      "${shortVersion}"
-    else
-      "${shortVersion}-g${builtins.substring 0 7 srcRev}";
-
   procps = if stdenv.isDarwin then darwin.ps else args.procps;
 
   llvmShared = llvm.override { enableSharedLibraries = true; };
@@ -32,6 +27,8 @@ stdenv.mkDerivation {
   name = "rustc-${version}";
   inherit version;
 
+  inherit src;
+
   __impureHostDeps = [ "/usr/lib/libedit.3.dylib" ];
 
   NIX_LDFLAGS = optionalString stdenv.isDarwin "-rpath ${llvmShared}/lib";
@@ -45,19 +42,13 @@ stdenv.mkDerivation {
   # Increase codegen units to introduce parallelism within the compiler.
   RUSTFLAGS = "-Ccodegen-units=10";
 
-  src = fetchgit {
-    url = https://github.com/rust-lang/rust;
-    rev = srcRev;
-    sha256 = srcSha;
-  };
-
   # We need rust to build rust. If we don't provide it, configure will try to download it.
   configureFlags = configureFlags
                 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
+                ++ [ "--enable-vendor" "--disable-locked-deps" ]
+                ++ [ "--enable-llvm-link-shared" ]
                 # ++ [ "--jemalloc-root=${jemalloc}/lib"
                 ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
-                # TODO: Remove when fixed build with rustbuild
-                ++ [ "--disable-rustbuild" ]
                 ++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
                 ++ optional (targets != []) "--target=${target}"
                 ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
@@ -67,17 +58,8 @@ stdenv.mkDerivation {
   passthru.target = target;
 
   postPatch = ''
-    substituteInPlace src/rust-installer/gen-install-script.sh \
-      --replace /bin/echo "$(type -P echo)"
-    substituteInPlace src/rust-installer/gen-installer.sh \
-      --replace /bin/echo "$(type -P echo)"
-
-    # Workaround for NixOS/nixpkgs#8676
-    substituteInPlace mk/rustllvm.mk \
-      --replace "\$\$(subst  /,//," "\$\$(subst /,/,"
-
     # Fix dynamic linking against llvm
-    ${optionalString (!forceBundledLLVM) ''sed -i 's/, kind = \\"static\\"//g' src/etc/mklldeps.py''}
+    #${optionalString (!forceBundledLLVM) ''sed -i 's/, kind = \\"static\\"//g' src/etc/mklldeps.py''}
 
     # Fix the configure script to not require curl as we won't use it
     sed -i configure \
@@ -98,15 +80,31 @@ stdenv.mkDerivation {
     # https://reviews.llvm.org/rL281650
     rm -vr src/test/run-pass/issue-36474.rs || true
 
+    # Disable some failing gdb tests. Try re-enabling these when gdb
+    # is updated past version 7.12.
+    rm src/test/debuginfo/basic-types-globals.rs
+    rm src/test/debuginfo/basic-types-mut-globals.rs
+    rm src/test/debuginfo/c-style-enum.rs
+    rm src/test/debuginfo/lexical-scopes-in-block-expression.rs
+    rm src/test/debuginfo/limited-debuginfo.rs
+    rm src/test/debuginfo/simple-struct.rs
+    rm src/test/debuginfo/simple-tuple.rs
+    rm src/test/debuginfo/union-smoke.rs
+    rm src/test/debuginfo/vec-slices.rs
+    rm src/test/debuginfo/vec.rs
+
+    # this can probably be removed when rust is updated beyond 1.17
+    # fixes a warning in the test harness (I think?) which fails the build due
+    # to strict warnings
+    sed -i '/static_in_const/d' src/tools/compiletest/src/main.rs
+
     # Useful debugging parameter
     # export VERBOSE=1
-  '' +
-  # In src/compiler-rt/cmake/config-ix.cmake, the cmake build falls
-  # back to darwin 10.4. This causes the OS name to be recorded as
-  # "10.4" rather than the expected "osx". But mk/rt.mk expects the
-  # built library name to have an "_osx" suffix on darwin.
-  optionalString stdenv.isDarwin ''
-    substituteInPlace mk/rt.mk --replace "_osx" "_10.4"
+  ''
+  + optionalString stdenv.isDarwin ''
+    # Disable all lldb tests.
+    # error: Can't run LLDB test because LLDB's python path is not set
+    rm -vr src/test/debuginfo/*
   '';
 
   preConfigure = ''
@@ -120,7 +118,8 @@ stdenv.mkDerivation {
   dontUseCmakeConfigure = true;
 
   # ps is needed for one of the test cases
-  nativeBuildInputs = [ file python2 procps rustPlatform.rust.rustc git cmake ];
+  nativeBuildInputs = [ file python2 procps rustPlatform.rust.rustc git cmake
+    which libffi gdb ];
 
   buildInputs = [ ncurses ] ++ targetToolchains
     ++ optional (!forceBundledLLVM) llvmShared;
@@ -141,7 +140,8 @@ stdenv.mkDerivation {
     sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs
   '';
 
-  doCheck = true;
+  inherit doCheck;
+
   dontSetConfigureCross = true;
 
   # https://github.com/NixOS/nixpkgs/pull/21742#issuecomment-272305764
@@ -151,7 +151,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     homepage = http://www.rust-lang.org/;
     description = "A safe, concurrent, practical language";
-    maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy wkennington retrry ];
+    maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy wkennington ];
     license = [ licenses.mit licenses.asl20 ];
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix
index a246a413f50..7383f39f6cb 100644
--- a/pkgs/development/compilers/sdcc/default.nix
+++ b/pkgs/development/compilers/sdcc/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, fetchurl, bison, flex, boost, gputils ? null }:
+{ stdenv, fetchurl, bison, flex, boost, texinfo, gputils ? null }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.0";
+  version = "3.6.0";
   name = "sdcc-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
-    sha256 = "1aazz0yynr694q0rich7r03qls0zvsjc00il14pb4i22c78phagq";
+    sha256 = "0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8";
   };
 
   # TODO: remove this comment when gputils != null is tested
-  buildInputs = [ bison flex boost gputils ];
+  buildInputs = [ bison flex boost texinfo gputils ];
 
   configureFlags = ''
     ${if gputils == null then "--disable-pic14-port --disable-pic16-port" else ""}
   '';
 
-  NIX_CFLAGS_COMPILE = "--std=c99"; # http://sourceforge.net/p/sdcc/code/9106/
-
   meta = with stdenv.lib; {
     description = "Small Device C Compiler";
     longDescription = ''
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
index ecf975bf76f..3ed5a2bef72 100644
--- a/pkgs/development/compilers/solc/default.nix
+++ b/pkgs/development/compilers/solc/default.nix
@@ -5,19 +5,22 @@ let jsoncpp = fetchzip {
   sha256 = "0jz93zv17ir7lbxb3dv8ph2n916rajs8i96immwx9vb45pqid3n0";
 }; in
 
+let commit = "68ef5810593e7c8092ed41d5f474dd43141624eb"; in
+
 stdenv.mkDerivation rec {
-  version = "0.4.8";
+  version = "0.4.11";
   name = "solc-${version}";
 
   # Cannot use `fetchFromGitHub' because of submodules
   src = fetchgit {
     url = "https://github.com/ethereum/solidity";
-    rev = "60cc1668517f56ce6ca8225555472e7a27eab8b0";
-    sha256 = "09mwah7c5ca1bgnqp5qgghsi6mbsi7p16z8yxm0aylsn2cjk23na";
+    rev = commit;
+    sha256 = "13zycybf23yvf3hkf9zgw9gbc1y4ifzxaf7sll69bsn24fcyq961";
   };
 
   patchPhase = ''
-    echo >commit_hash.txt 2dabbdf06f414750ef0425c664f861aeb3e470b8
+    echo >commit_hash.txt ${commit}
+    echo >prerelease.txt
     substituteInPlace deps/jsoncpp.cmake \
       --replace https://github.com/open-source-parsers/jsoncpp/archive/1.7.7.tar.gz ${jsoncpp}
     substituteInPlace cmake/EthCompilerSettings.cmake \
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index 4b918c9e32a..839ecdbeb65 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -253,6 +253,9 @@ stdenv.mkDerivation rec {
     ln -s ${binutils}/bin/ar $out/bin/ar
   '';
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = with stdenv.lib; {
     description = "The Swift Programming Language";
     homepage = "https://github.com/apple/swift";
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index dfbbaa4d431..c7e3c4b3c67 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -2,10 +2,10 @@
 with stdenv.lib;
 
 let
-  date = "20170225";
+  date = "20170605";
   version = "0.9.27pre-${date}";
-  rev = "bb93064d7857d887b674999c9b4152b44a628f9a";
-  sha256 = "12wcahj1x4qy9ia931i23lvwkqjmyhaks3wipnzvbnlnc2b03kpr";
+  rev = "3e4b7693bfd5b76570b35558c83a935326513eff";
+  sha256 = "0m5k1df73kakvg9xz06y3nlac4mwfccni6hdijaf4w8fyy3zz4bg";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index 638b10f76d5..c1e1e2ece7a 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "urweb-${version}";
-  version = "20160621";
+  version = "20170105";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65";
+    sha256 = "2ad3aea2c4851c9b18f752d38c7127af8293fbbbbdb3dd06b73a4603fe399b67";
   };
 
   buildInputs = [ openssl mlton mysql.client postgresql sqlite ];
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     homepage    = "http://www.impredicative.com/ur/";
     license     = stdenv.lib.licenses.bsd3;
     platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice stdenv.lib.maintainers.sheganinans ];
   };
 }
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index b54f07fb004..c2e4b39472c 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -198,7 +198,7 @@ go.stdenv.mkDerivation (
      ln -s "${dep.src}" "$d/src/${dep.goPackagePath}"
   ''
   ) goPath) + ''
-    export GOPATH="$d:$GOPATH"
+    export GOPATH=${lib.concatStringsSep ":" ( ["$d"] ++ ["$GOPATH"] ++ ["$PWD"] ++ extraSrcPaths)}
   '';
 
   disallowedReferences = lib.optional (!allowGoReference) go
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f9206e9c4a0..ec6e723db0d 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -332,7 +332,6 @@ self: super: {
   language-slice = dontCheck super.language-slice;
   ldap-client = dontCheck super.ldap-client;
   lensref = dontCheck super.lensref;
-  liquidhaskell = dontCheck super.liquidhaskell;
   lucid = dontCheck super.lucid; #https://github.com/chrisdone/lucid/issues/25
   lvmrun = disableHardening (dontCheck super.lvmrun) ["format"];
   memcache = dontCheck super.memcache;
@@ -707,9 +706,9 @@ self: super: {
   servant-server = dontCheck super.servant-server;
 
   # Fix build for latest versions of servant and servant-client.
-  servant-client_0_10 = super.servant-client_0_10.overrideScope (self: super: {
-    servant-server = self.servant-server_0_10;
-    servant = self.servant_0_10;
+  servant-client_0_11 = super.servant-client_0_11.overrideScope (self: super: {
+    servant-server = self.servant-server_0_11;
+    servant = self.servant_0_11;
   });
 
   # build servant docs from the repository
@@ -858,4 +857,8 @@ self: super: {
 
   # https://github.com/danidiaz/tailfile-hinotify/issues/2
   tailfile-hinotify = dontCheck super.tailfile-hinotify;
+
+  # build liquidhaskell with the proper (old) aeson version
+  liquidhaskell = super.liquidhaskell.override { aeson = self.aeson_0_11_3_0; };
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
index 111852ab34b..3b61b7bc065 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
@@ -80,6 +80,11 @@ self: super: {
   # Test suite won't compile.
   unix-time = dontCheck super.unix-time;
 
+  # The test suite depends on mockery, which pulls in logging-facade, which
+  # doesn't compile with this older version of base:
+  # https://github.com/sol/logging-facade/issues/14
+  doctest = dontCheck super.doctest;
+
   # Avoid depending on tasty-golden.
   monad-par = dontCheck super.monad-par;
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 6c59b0860b2..42334b380b7 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -37,7 +37,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 8.14
+  # LTS Haskell 8.17
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Vector ==2.3.2
@@ -46,7 +46,7 @@ default-package-overrides:
   - ace ==0.6
   - acid-state ==0.14.2
   - action-permutations ==0.0.0.1
-  - active ==0.2.0.12
+  - active ==0.2.0.13
   - ad ==4.3.3
   - adjunctions ==4.3
   - adler32 ==0.1.1.0
@@ -58,7 +58,7 @@ default-package-overrides:
   - aeson-extra ==0.4.0.0
   - aeson-generic-compat ==0.0.1.0
   - aeson-injector ==1.0.8.0
-  - aeson-pretty ==0.8.2
+  - aeson-pretty ==0.8.4
   - aeson-qq ==0.8.1
   - aeson-utils ==0.3.0.2
   - Agda ==2.5.2
@@ -161,7 +161,7 @@ default-package-overrides:
   - amqp ==0.14.1
   - annotated-wl-pprint ==0.7.0
   - anonymous-sums ==0.6.0.0
-  - ansi-terminal ==0.6.2.3
+  - ansi-terminal ==0.6.3.1
   - ansi-wl-pprint ==0.6.7.3
   - ansigraph ==0.3.0.2
   - app-settings ==0.2.0.11
@@ -182,7 +182,7 @@ default-package-overrides:
   - async-extra ==0.1.0.0
   - async-refresh ==0.2.0
   - async-refresh-tokens ==0.1.0
-  - atom-basic ==0.2.4
+  - atom-basic ==0.2.5
   - atom-conduit ==0.4.0.1
   - atomic-primops ==0.8.0.4
   - atomic-write ==0.2.0.5
@@ -217,7 +217,7 @@ default-package-overrides:
   - base64-string ==0.2
   - basic-prelude ==0.6.1.1
   - bcrypt ==0.0.10
-  - bench ==1.0.3
+  - bench ==1.0.4
   - benchpress ==0.2.2.9
   - bencode ==0.6.0.0
   - bento ==0.1.0
@@ -308,7 +308,7 @@ default-package-overrides:
   - c2hs ==0.28.1
   - Cabal ==1.24.2.0
   - cabal-dependency-licenses ==0.2.0.0
-  - cabal-doctest ==1.0.1
+  - cabal-doctest ==1.0.2
   - cabal-file-th ==0.2.4
   - cabal-helper ==0.7.3.0
   - cabal-rpm ==0.11.1
@@ -320,7 +320,7 @@ default-package-overrides:
   - camfort ==0.901
   - carray ==0.1.6.6
   - cartel ==0.18.0.2
-  - case-insensitive ==1.2.0.9
+  - case-insensitive ==1.2.0.10
   - cased ==0.1.0.0
   - cases ==0.1.3.2
   - casing ==0.1.2.1
@@ -334,7 +334,7 @@ default-package-overrides:
   - cereal-text ==0.1.0.2
   - cereal-vector ==0.2.0.1
   - cgi ==3001.3.0.2
-  - ChannelT ==0.0.0.2
+  - ChannelT ==0.0.0.4
   - charset ==0.3.7.1
   - charsetdetect-ae ==1.1.0.2
   - Chart ==1.8.2
@@ -406,7 +406,7 @@ default-package-overrides:
   - conduit ==1.2.10
   - conduit-combinators ==1.1.1
   - conduit-connection ==0.1.0.3
-  - conduit-extra ==1.1.15
+  - conduit-extra ==1.1.16
   - conduit-iconv ==0.1.1.1
   - conduit-parse ==0.1.2.0
   - ConfigFile ==1.1.4
@@ -482,7 +482,7 @@ default-package-overrides:
   - data-accessor-transformers ==0.2.1.7
   - data-binary-ieee754 ==0.4.4
   - data-bword ==0.1.0.1
-  - data-check ==0.1.0
+  - data-check ==0.1.1
   - data-checked ==0.3
   - data-default ==0.7.1.1
   - data-default-class ==0.1.2.0
@@ -526,7 +526,7 @@ default-package-overrides:
   - diagrams-core ==1.4
   - diagrams-gtk ==1.4
   - diagrams-html5 ==1.4
-  - diagrams-lib ==1.4.0.1
+  - diagrams-lib ==1.4.1
   - diagrams-postscript ==1.4
   - diagrams-rasterific ==1.4
   - diagrams-solve ==0.1.0.1
@@ -626,7 +626,7 @@ default-package-overrides:
   - erf ==2.0.0.0
   - errors ==2.1.3
   - ersatz ==0.3.1
-  - esqueleto ==2.5.1
+  - esqueleto ==2.5.2
   - etc ==0.0.0.2
   - etcd ==1.0.5
   - ether ==0.4.2.0
@@ -645,7 +645,7 @@ default-package-overrides:
   - exhaustive ==1.1.4
   - exp-pairs ==0.1.5.2
   - expiring-cache-map ==0.0.6.1
-  - explicit-exception ==0.1.8
+  - explicit-exception ==0.1.9
   - extensible ==0.3.7
   - extensible-effects ==1.11.0.4
   - extensible-exceptions ==0.1.1.4
@@ -684,8 +684,8 @@ default-package-overrides:
   - fixed-length ==0.2
   - fixed-vector ==0.9.0.0
   - fixed-vector-hetero ==0.3.1.1
-  - flac ==0.1.1
-  - flac-picture ==0.1.0
+  - flac ==0.1.2
+  - flac-picture ==0.1.1
   - flat-mcmc ==1.5.0
   - flexible-defaults ==0.0.1.2
   - FloatingHex ==0.4
@@ -697,7 +697,7 @@ default-package-overrides:
   - fold-debounce ==0.2.0.5
   - fold-debounce-conduit ==0.1.0.5
   - foldl ==1.2.5
-  - foldl-statistics ==0.1.4.2
+  - foldl-statistics ==0.1.4.4
   - folds ==0.7.3
   - FontyFruity ==0.5.3.2
   - force-layout ==0.4.0.6
@@ -916,7 +916,7 @@ default-package-overrides:
   - H ==0.9.0.1
   - hackage-db ==1.22
   - hackage-security ==0.5.2.2
-  - hackernews ==1.1.1.0
+  - hackernews ==1.1.2.0
   - haddock-library ==1.4.3
   - hailgun ==0.4.1.3
   - hailgun-simple ==0.1.0.0
@@ -942,8 +942,8 @@ default-package-overrides:
   - hashmap ==1.3.2
   - hashtables ==1.2.1.1
   - haskeline ==0.7.4.0
-  - haskell-gi ==0.20.1
-  - haskell-gi-base ==0.20.2
+  - haskell-gi ==0.20.2
+  - haskell-gi-base ==0.20.3
   - haskell-import-graph ==1.0.1
   - haskell-lexer ==1.0.1
   - haskell-names ==0.8.0
@@ -989,11 +989,11 @@ default-package-overrides:
   - heaps ==0.3.4.1
   - hebrew-time ==0.1.1
   - hedis ==0.9.8
-  - here ==1.2.9
+  - here ==1.2.11
   - heredoc ==0.2.0.0
   - heterocephalus ==1.0.4.0
   - hex ==0.1.2
-  - hexml ==0.3.1
+  - hexml ==0.3.2
   - hexpat ==0.20.10
   - hexstring ==0.11.1
   - hflags ==0.4.2
@@ -1042,10 +1042,10 @@ default-package-overrides:
   - hPDB ==1.2.0.9
   - hPDB-examples ==1.2.0.7
   - HPDF ==1.4.10
-  - hpio ==0.8.0.7
+  - hpio ==0.8.0.9
   - hpp ==0.4.0
   - hpqtypes ==1.5.1.1
-  - hquantlib ==0.0.3.3
+  - hquantlib ==0.0.4.0
   - hreader ==1.1.0
   - hruby ==0.3.4.3
   - hs-bibutils ==5.5
@@ -1090,7 +1090,7 @@ default-package-overrides:
   - hsshellscript ==3.4.1
   - hstatistics ==0.3
   - hstatsd ==0.1
-  - HStringTemplate ==0.8.5
+  - HStringTemplate ==0.8.6
   - hsx-jmacro ==7.3.8
   - hsx2hs ==0.14.1
   - hsyslog ==4
@@ -1100,11 +1100,11 @@ default-package-overrides:
   - html-conduit ==1.2.1.1
   - html-email-validate ==0.2.0.0
   - htoml ==1.0.0.3
-  - HTTP ==4000.3.6
+  - HTTP ==4000.3.7
   - http-api-data ==0.3.7.1
-  - http-client ==0.5.6.1
+  - http-client ==0.5.7.0
   - http-client-openssl ==0.2.0.5
-  - http-client-tls ==0.3.4.2
+  - http-client-tls ==0.3.5
   - http-common ==0.8.2.0
   - http-conduit ==2.2.3.1
   - http-date ==0.0.6.1
@@ -1147,7 +1147,7 @@ default-package-overrides:
   - hyphenation ==0.6
   - ical ==0.0.1
   - iconv ==0.4.1.3
-  - identicon ==0.2.1
+  - identicon ==0.2.2
   - idris ==1.0
   - ieee754 ==0.8.0
   - if ==0.1.0.0
@@ -1214,7 +1214,7 @@ default-package-overrides:
   - jmacro-rpc-happstack ==0.3.2
   - jmacro-rpc-snap ==0.3
   - jni ==0.2.3
-  - jose ==0.5.0.3
+  - jose ==0.5.0.4
   - jose-jwt ==0.7.6
   - js-flot ==0.8.3
   - js-jquery ==3.1.1
@@ -1245,7 +1245,7 @@ default-package-overrides:
   - kraken ==0.0.3
   - l10n ==0.1.0.1
   - labels ==0.3.2
-  - lackey ==0.4.2
+  - lackey ==0.4.3
   - language-c ==0.5.0
   - language-c-quote ==0.11.7.3
   - language-dockerfile ==0.3.6.0
@@ -1292,7 +1292,7 @@ default-package-overrides:
   - licensor ==0.2.0
   - lift-generics ==0.1.1
   - lifted-async ==0.9.1.1
-  - lifted-base ==0.2.3.10
+  - lifted-base ==0.2.3.11
   - line ==2.2.0
   - linear ==1.20.6
   - linear-accelerate ==0.2
@@ -1426,7 +1426,7 @@ default-package-overrides:
   - monoid-subclasses ==0.4.3.1
   - monoid-transformer ==0.0.3
   - monoidal-containers ==0.3.0.1
-  - morte ==1.6.6
+  - morte ==1.6.7
   - mountpoints ==1.0.2
   - mstate ==0.2.7
   - mtl ==2.2.1
@@ -1465,7 +1465,7 @@ default-package-overrides:
   - netwire ==5.0.2
   - netwire-input ==0.0.6
   - netwire-input-glfw ==0.0.6
-  - network ==2.6.3.1
+  - network ==2.6.3.2
   - network-anonymous-i2p ==0.10.0
   - network-anonymous-tor ==0.11.0
   - network-attoparsec ==0.12.2
@@ -1494,7 +1494,7 @@ default-package-overrides:
   - non-empty ==0.3
   - non-empty-sequence ==0.2.0.2
   - non-negative ==0.1.1
-  - nonce ==1.0.2
+  - nonce ==1.0.4
   - nondeterminism ==1.4
   - NoTrace ==0.3.0.1
   - nsis ==0.3.1
@@ -1514,7 +1514,7 @@ default-package-overrides:
   - old-locale ==1.0.0.7
   - old-time ==1.1.0.3
   - once ==0.2
-  - one-liner ==0.8.1
+  - one-liner ==0.9
   - OneTuple ==0.2.1
   - oo-prototypes ==0.1.0.0
   - opaleye ==0.5.3.0
@@ -1558,7 +1558,7 @@ default-package-overrides:
   - parsers ==0.12.4
   - partial-handler ==1.0.2
   - partial-isomorphisms ==0.2.2.1
-  - patat ==0.5.1.2
+  - patat ==0.5.2.0
   - path ==0.5.13
   - path-extra ==0.0.3
   - path-io ==1.2.2
@@ -1578,7 +1578,7 @@ default-package-overrides:
   - persistable-record ==0.4.1.1
   - persistable-types-HDBC-pg ==0.0.1.4
   - persistent ==2.6.1
-  - persistent-mysql ==2.6.0.1
+  - persistent-mysql ==2.6.0.2
   - persistent-postgresql ==2.6.1
   - persistent-redis ==2.5.2
   - persistent-refs ==0.4
@@ -1592,14 +1592,14 @@ default-package-overrides:
   - pinboard ==0.9.12.4
   - pinch ==0.3.1.0
   - pinchot ==0.24.0.0
-  - pipes ==4.3.3
+  - pipes ==4.3.4
   - pipes-attoparsec ==0.5.1.5
   - pipes-bytestring ==2.1.4
   - pipes-cacophony ==0.4.1
   - pipes-category ==0.2.0.1
   - pipes-concurrency ==2.0.7
   - pipes-csv ==1.4.3
-  - pipes-extras ==1.0.9
+  - pipes-extras ==1.0.10
   - pipes-fluid ==0.5.0.3
   - pipes-group ==1.0.6
   - pipes-misc ==0.2.5.0
@@ -1612,7 +1612,7 @@ default-package-overrides:
   - pixelated-avatar-generator ==0.1.3
   - pkcs10 ==0.2.0.0
   - placeholders ==0.1
-  - plan-b ==0.2.0
+  - plan-b ==0.2.1
   - plot ==0.2.3.7
   - plot-gtk ==0.2.0.4
   - plot-gtk-ui ==0.3.0.2
@@ -1649,7 +1649,7 @@ default-package-overrides:
   - present ==4.1.0
   - pretty-class ==1.0.1.1
   - pretty-hex ==1.0
-  - pretty-show ==1.6.12
+  - pretty-show ==1.6.13
   - pretty-simple ==2.0.0.0
   - pretty-types ==0.2.3.1
   - prettyclass ==1.0.0.0
@@ -1659,7 +1659,7 @@ default-package-overrides:
   - probability ==0.2.5.1
   - process-extras ==0.7.1
   - product-profunctors ==0.7.1.0
-  - profiteur ==0.4.2.2
+  - profiteur ==0.4.3.0
   - profunctor-extras ==4.0
   - profunctors ==5.2
   - project-template ==0.2.0
@@ -1701,7 +1701,7 @@ default-package-overrides:
   - quickcheck-simple ==0.1.0.1
   - quickcheck-special ==0.1.0.4
   - quickcheck-text ==0.1.2.1
-  - quickcheck-unicode ==1.0.0.1
+  - quickcheck-unicode ==1.0.1.0
   - raaz ==0.1.1
   - rainbow ==0.28.0.4
   - rainbox ==0.18.0.10
@@ -1747,7 +1747,7 @@ default-package-overrides:
   - reform-happstack ==0.2.5.1
   - reform-hsp ==0.2.7.1
   - RefSerialize ==0.4.0
-  - regex ==0.5.0.0
+  - regex ==1.0.1.0
   - regex-applicative ==0.3.3
   - regex-applicative-text ==0.1.0.1
   - regex-base ==0.93.2
@@ -1755,9 +1755,11 @@ default-package-overrides:
   - regex-compat-tdfa ==0.95.1.4
   - regex-pcre ==0.94.4
   - regex-pcre-builtin ==0.94.4.8.8.35
+  - regex-pcre-text ==0.94.0.1
   - regex-posix ==0.95.2
   - regex-tdfa ==1.2.2
   - regex-tdfa-text ==1.0.0.3
+  - regex-with-pcre ==1.0.1.0
   - reinterpret-cast ==0.1.0
   - relational-query ==0.8.4.0
   - relational-query-HDBC ==0.6.0.3
@@ -1790,7 +1792,7 @@ default-package-overrides:
   - retry ==0.7.4.2
   - rev-state ==0.1.2
   - rfc5051 ==0.1.0.3
-  - riak ==1.1.1.0
+  - riak ==1.1.2.0
   - riak-protobuf ==0.22.0.0
   - RNAlien ==1.3.7
   - rng-utils ==0.2.1
@@ -1817,7 +1819,7 @@ default-package-overrides:
   - scalpel ==0.5.1
   - scalpel-core ==0.5.1
   - scanner ==0.2
-  - scientific ==0.3.4.12
+  - scientific ==0.3.4.13
   - scotty ==0.11.0
   - scrape-changes ==0.1.0.5
   - scrypt ==0.5.0
@@ -1856,7 +1858,7 @@ default-package-overrides:
   - servant-static-th ==0.1.0.3
   - servant-subscriber ==0.5.0.3
   - servant-swagger ==1.1.2
-  - servant-swagger-ui ==0.2.2.2.2.8
+  - servant-swagger-ui ==0.2.3.2.2.8
   - servant-yaml ==0.1.0.0
   - serversession ==1.0.1
   - serversession-backend-acid-state ==1.0.3
@@ -1876,8 +1878,8 @@ default-package-overrides:
   - shelly ==1.6.8.3
   - shortcut-links ==0.4.2.0
   - should-not-typecheck ==2.1.0
-  - show-prettyprint ==0.1.2
-  - sibe ==0.2.0.4
+  - show-prettyprint ==0.1.2.1
+  - sibe ==0.2.0.5
   - signal ==0.1.0.3
   - silently ==1.2.5
   - simple ==0.11.2
@@ -1905,7 +1907,7 @@ default-package-overrides:
   - snap-core ==1.0.2.1
   - snap-server ==1.0.2.2
   - snowflake ==0.1.1.1
-  - soap ==0.2.3.3
+  - soap ==0.2.3.5
   - soap-openssl ==0.1.0.2
   - soap-tls ==0.1.1.2
   - socket ==0.7.0.0
@@ -1913,6 +1915,7 @@ default-package-overrides:
   - socks ==0.5.5
   - solga ==0.1.0.2
   - solga-swagger ==0.1.0.2
+  - sort ==1.0.0.0
   - sorted-list ==0.2.0.0
   - sourcemap ==0.1.6
   - sparkle ==0.4.0.2
@@ -1933,7 +1936,7 @@ default-package-overrides:
   - spool ==0.1
   - spoon ==0.3.1
   - spreadsheet ==0.1.3.4
-  - sql-words ==0.1.4.1
+  - sql-words ==0.1.5.0
   - sqlite-simple ==0.4.13.0
   - sqlite-simple-errors ==0.6.0.0
   - srcloc ==0.5.1.1
@@ -1958,7 +1961,7 @@ default-package-overrides:
   - stm-containers ==0.2.15
   - stm-delay ==0.1.1.1
   - stm-extras ==0.1.0.2
-  - stm-split ==0.0.1
+  - stm-split ==0.0.2
   - stm-stats ==0.2.0.0
   - stm-supply ==0.2.0.0
   - STMonadTrans ==0.4.3
@@ -2014,17 +2017,17 @@ default-package-overrides:
   - system-posix-redirect ==1.1.0.1
   - syz ==0.2.0.0
   - tabular ==0.2.2.7
-  - tagchup ==0.4.0.5
+  - tagchup ==0.4.1
   - tagged ==0.8.5
   - tagged-binary ==0.2.0.0
-  - tagged-identity ==0.1.1
+  - tagged-identity ==0.1.2
   - taggy ==0.2.0
   - taggy-lens ==0.1.2
   - tagshare ==0.0
   - tagsoup ==0.14.1
   - tagstream-conduit ==0.5.5.3
   - tar ==0.5.0.3
-  - tar-conduit ==0.1.0
+  - tar-conduit ==0.1.1
   - tardis ==0.4.1.0
   - tasty ==0.11.2.1
   - tasty-ant-xml ==1.0.5
@@ -2053,7 +2056,7 @@ default-package-overrides:
   - tcp-streams-openssl ==0.6.0.0
   - tdigest ==0.1
   - tdigest-Chart ==0
-  - telegram-api ==0.6.1.1
+  - telegram-api ==0.6.3.0
   - template ==0.2.0.10
   - temporary ==1.2.0.4
   - temporary-rc ==1.2.0.3
@@ -2061,7 +2064,7 @@ default-package-overrides:
   - terminal-progress-bar ==0.1.1
   - terminal-size ==0.3.2.1
   - terminfo ==0.4.1.0
-  - test-fixture ==0.5.0.0
+  - test-fixture ==0.5.0.1
   - test-framework ==0.8.1.1
   - test-framework-hunit ==0.3.0.2
   - test-framework-quickcheck2 ==0.3.0.3
@@ -2146,7 +2149,7 @@ default-package-overrides:
   - tuple ==0.3.0.2
   - tuple-th ==0.2.5
   - tuples-homogenous-h98 ==0.1.1.0
-  - turtle ==1.3.3
+  - turtle ==1.3.5
   - turtle-options ==0.1.0.4
   - twitter-feed ==0.2.0.11
   - twitter-types ==0.7.2.2
@@ -2176,7 +2179,7 @@ default-package-overrides:
   - unbounded-delays ==0.1.1.0
   - uncertain ==0.3.1.0
   - unexceptionalio ==0.3.0
-  - unfoldable ==0.9.2
+  - unfoldable ==0.9.3
   - unfoldable-restricted ==0.0.3
   - unicode ==0.0
   - unicode-show ==0.1.0.2
@@ -2205,7 +2208,7 @@ default-package-overrides:
   - unlit ==0.4.0.0
   - unordered-containers ==0.2.8.0
   - unsafe ==0.0
-  - uri-bytestring ==0.2.3.1
+  - uri-bytestring ==0.2.3.2
   - uri-encode ==1.5.0.5
   - uri-templater ==0.2.1.0
   - url ==2.1.3
@@ -2216,7 +2219,7 @@ default-package-overrides:
   - users-test ==0.5.0.1
   - utf8-light ==0.4.2
   - utf8-string ==1.0.1.1
-  - utility-ht ==0.0.13
+  - utility-ht ==0.0.14
   - uu-interleaved ==0.2.0.0
   - uu-parsinglib ==2.9.1.1
   - uuid ==1.3.13
@@ -2238,16 +2241,16 @@ default-package-overrides:
   - vector-space ==0.10.4
   - vector-split ==1.0.0.2
   - vector-th-unbox ==0.2.1.6
-  - vectortiles ==1.2.0.4
+  - vectortiles ==1.2.0.5
   - verbosity ==0.2.3.0
-  - versions ==3.0.0
+  - versions ==3.0.2.1
   - vhd ==0.2.2
   - ViennaRNAParser ==1.3.2
   - viewprof ==0.0.0.1
   - vinyl ==0.5.3
   - vinyl-utils ==0.3.0.0
   - void ==0.7.2
-  - vty ==5.15
+  - vty ==5.15.1
   - wai ==3.2.1.1
   - wai-app-static ==3.1.6.1
   - wai-cli ==0.1.1
@@ -2281,7 +2284,7 @@ default-package-overrides:
   - waitra ==0.0.4.0
   - warp ==3.2.12
   - warp-tls ==3.2.3
-  - wave ==0.1.4
+  - wave ==0.1.5
   - wavefront ==0.7.1
   - wavefront-obj ==0.1.0.1
   - web-plugins ==0.2.9
@@ -2350,7 +2353,7 @@ default-package-overrides:
   - xlsx ==0.4.3
   - xlsx-tabular ==0.2.2
   - xml ==1.3.14
-  - xml-basic ==0.1.1.3
+  - xml-basic ==0.1.2
   - xml-conduit ==1.4.0.4
   - xml-conduit-parse ==0.3.1.0
   - xml-conduit-writer ==0.1.1.1
@@ -2362,13 +2365,13 @@ default-package-overrides:
   - xml-to-json-fast ==2.0.0
   - xml-types ==0.3.6
   - xmlgen ==0.6.2.1
-  - xmlhtml ==0.2.3.5
+  - xmlhtml ==0.2.4
   - xmonad ==0.13
   - xmonad-contrib ==0.13
   - xss-sanitize ==0.3.5.7
   - yackage ==0.8.1
-  - yahoo-finance-api ==0.2.0.1
-  - yaml ==0.8.22.1
+  - yahoo-finance-api ==0.2.0.2
+  - yaml ==0.8.23
   - Yampa ==0.10.6
   - YampaSynth ==0.2
   - yes-precure5-command ==5.5.3
@@ -2412,7 +2415,7 @@ default-package-overrides:
   - youtube ==0.2.1
   - zero ==0.1.4
   - zeromq4-haskell ==0.6.5
-  - zip ==0.1.10
+  - zip ==0.1.11
   - zip-archive ==0.3.0.6
   - zippers ==0.2.3
   - ziptastic-client ==0.3.0.2
@@ -2424,8 +2427,8 @@ default-package-overrides:
   - ztail ==1.2
 
 extra-packages:
-  - aeson < 0.8                         # newer versions don't work with GHC 6.12.3
-  - aeson < 1.1                         # required by stack
+  - aeson < 0.8                         # newer versions don't work with GHC 7.6.x or earlier
+  - aeson < 1                           # required by liquidhaskell-0.8.0.0
   - aeson-pretty < 0.8                  # required by elm compiler
   - binary > 0.7 && < 0.8               # keep a 7.x major release around for older compilers
   - binary > 0.8 && < 0.9               # keep a 8.x major release around for older compilers
@@ -2473,6 +2476,7 @@ package-maintainers:
     - hsyslog
     - jailbreak-cabal
     - language-nix
+    - logging-facade-syslog
     - pandoc
     - stack
     - streamproc
@@ -2510,34 +2514,34 @@ package-maintainers:
 
 dont-distribute-packages:
   # hard restrictions that really belong into meta.platforms
-  alsa-mixer:                                   [ i686-linux, x86_64-linux ]
-  alsa-pcm:                                     [ i686-linux, x86_64-linux ]
-  alsa-seq:                                     [ i686-linux, x86_64-linux ]
+  alsa-mixer:                                   [ x86_64-darwin ]
+  alsa-pcm:                                     [ x86_64-darwin ]
+  alsa-seq:                                     [ x86_64-darwin ]
   AWin32Console:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  bindings-directfb:                            [ i686-linux, x86_64-linux ]
+  bindings-directfb:                            [ x86_64-darwin ]
   d3d11binding:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   DirectSound:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   dx9base:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   dx9d3d:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   dx9d3dx:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  freenect:                                     [ i686-linux, x86_64-linux ]
-  FTGL:                                         [ i686-linux, x86_64-linux ]
-  gi-ostree:                                    [ i686-linux, x86_64-linux ]
-  hcwiid:                                       [ i686-linux, x86_64-linux ]
-  hfsevents:                                    [ i686-linux, x86_64-linux ]
-  HFuse:                                        [ i686-linux, x86_64-linux ]
+  freenect:                                     [ x86_64-darwin ]
+  FTGL:                                         [ x86_64-darwin ]
+  gi-ostree:                                    [ x86_64-darwin ]
+  hcwiid:                                       [ x86_64-darwin ]
+  hfsevents:                                    [ x86_64-darwin ]
+  HFuse:                                        [ x86_64-darwin ]
   hommage-ds:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  lio-fs:                                       [ i686-linux, x86_64-linux ]
-  midi-alsa:                                    [ i686-linux, x86_64-linux ]
-  pam:                                          [ i686-linux, x86_64-linux ]
-  PortMidi:                                     [ i686-linux, x86_64-linux ]
-  Raincat:                                      [ i686-linux, x86_64-linux ]
+  lio-fs:                                       [ x86_64-darwin ]
+  midi-alsa:                                    [ x86_64-darwin ]
+  pam:                                          [ x86_64-darwin ]
+  PortMidi:                                     [ x86_64-darwin ]
+  Raincat:                                      [ x86_64-darwin ]
   reactivity:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  rtlsdr:                                       [ i686-linux, x86_64-linux ]
-  rubberband:                                   [ i686-linux, x86_64-linux ]
-  sdl2-mixer:                                   [ i686-linux, x86_64-linux ]
-  sdl2-ttf:                                     [ i686-linux, x86_64-linux ]
-  tokyotyrant-haskell:                          [ i686-linux, x86_64-linux ]
+  rtlsdr:                                       [ x86_64-darwin ]
+  rubberband:                                   [ x86_64-darwin ]
+  sdl2-mixer:                                   [ x86_64-darwin ]
+  sdl2-ttf:                                     [ x86_64-darwin ]
+  tokyotyrant-haskell:                          [ x86_64-darwin ]
   Win32-console:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Win32-dhcp-server:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   Win32-errors:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2548,9 +2552,9 @@ dont-distribute-packages:
   Win32-security:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Win32-services:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Win32-services-wrapper:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  xattr:                                        [ i686-linux, x86_64-linux ]
+  xattr:                                        [ x86_64-darwin ]
   XInput:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  xmobar:                                       [ i686-linux, x86_64-linux ]
+  xmobar:                                       [ x86_64-darwin ]
 
   # Depens on shine, which is a ghcjs project.
   shine-varying:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2692,7 +2696,6 @@ dont-distribute-packages:
   al:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   AlignmentAlgorithms:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   align-text:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  Allure:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   alms:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   alphachar:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   alpha:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2715,6 +2718,7 @@ dont-distribute-packages:
   amazonka-elbv2:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-health:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-kinesis-analytics:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lambda:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-lightsail:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-opsworks-cm:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-pinpoint:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2901,6 +2905,7 @@ dont-distribute-packages:
   backward-state:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Baggins:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   bag:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ballast:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   bamboo:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bamboo-launcher:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bamboo-plugin-highlight:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2925,6 +2930,7 @@ dont-distribute-packages:
   basic-prelude:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   basic-sop:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   baskell:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  batchd:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   battlenet:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   battlenet-yesod:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   battleships:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3118,6 +3124,7 @@ dont-distribute-packages:
   Buster:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   buster-network:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   bustle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  butcher:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   butterflies:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   byline:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytable:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3151,6 +3158,7 @@ dont-distribute-packages:
   cabal-install-bundle:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-install-ghc72:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-install-ghc74:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cabalish:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-macosx:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabalmdvrpm:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-mon:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3359,6 +3367,9 @@ dont-distribute-packages:
   cloud-haskell:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cloudi:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   cloudyfs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  clr-bindings:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  clr-inline:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  clr-typed:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   clua:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cluss:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   clustering:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3433,6 +3444,11 @@ dont-distribute-packages:
   complexity:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   compose-ltr:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   compose-trans:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  composite-aeson:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  composite-aeson-refined:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  composite-base:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  composite-ekg:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  composite-opaleye:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   composition-tree:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   compressed:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   compression:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3712,6 +3728,7 @@ dont-distribute-packages:
   dead-code-detection:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dead-simple-json:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   debian-binary:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  debug-me:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   decepticons:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   decimal-arithmetic:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   DecisionTree:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3760,6 +3777,7 @@ dont-distribute-packages:
   dfsbuild:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgim:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-check:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   dia-functions:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-boolean:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-builder:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3981,6 +3999,7 @@ dont-distribute-packages:
   entangle:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   EntrezHTTP:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   EnumContainers:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  enumerate-function:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumerate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumeration:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumfun:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4030,6 +4049,8 @@ dont-distribute-packages:
   eurofxref:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Euterpea:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   event-driven:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  eventful-dynamodb:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  eventful-postgresql:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   eventloop:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   event-monad:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   EventSocket:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4256,6 +4277,7 @@ dont-distribute-packages:
   friday-scale-dct:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   frp-arduino:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fs-events:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fsh-csv:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fsmActions:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   fsutils:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fswatcher:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4320,6 +4342,8 @@ dont-distribute-packages:
   genericserialize:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-storable:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-xml:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genesis:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genesis-test:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   genetics:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   geniconvert:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   genifunctors:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4697,6 +4721,7 @@ dont-distribute-packages:
   halive:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   halma-gui:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   halma:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  halma-telegram-bot:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hamilton:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HaMinitel:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hampp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5028,6 +5053,7 @@ dont-distribute-packages:
   hfann:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfiar:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  HFitUI:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfmt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfoil:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfov:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5171,6 +5197,7 @@ dont-distribute-packages:
   hmumps:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hnetcdf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   HNM:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hnormalise:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hoauth:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hobbes:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hobbits:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5349,6 +5376,7 @@ dont-distribute-packages:
   hs-mesos:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hsmtlib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsmtpclient:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hs-multiaddr:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsnock:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-nombre-generator:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsns:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5409,6 +5437,7 @@ dont-distribute-packages:
   hstyle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hstzaar:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsubconvert:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsudoku:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hs-vcard:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsverilog:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   HSvm:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5878,7 +5907,6 @@ dont-distribute-packages:
   lambdacube-samples:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-devs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaFeed:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  LambdaHack:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   LambdaINet:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Lambdajudge:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaLit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5996,6 +6024,7 @@ dont-distribute-packages:
   librato:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libroman:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   libssh2-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  libssh2:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libsystemd-daemon:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   libsystemd-journal:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   libtagc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6018,6 +6047,7 @@ dont-distribute-packages:
   limp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   lin-alg:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   linda:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  linden:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   linear-algebra-cblas:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   linear-circuit:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   linearmap-category:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6044,10 +6074,8 @@ dont-distribute-packages:
   lio-eci11:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lio-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   lipsum-gen:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  liquid-fixpoint:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   liquidhaskell-cabal-demo:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   liquidhaskell-cabal:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  liquidhaskell:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   liquid:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   listlike-instances:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   list-mux:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6221,6 +6249,9 @@ dont-distribute-packages:
   matlab:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   matplotlib:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   matsuri:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  matterhorn:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mattermost-api:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mattermost-api-qc:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   maude:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   maxent:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   maxsharing:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6232,6 +6263,7 @@ dont-distribute-packages:
   MBot:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   mbox-tools:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   MC-Fold-DP:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mcl:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   mcmaster-gloss-examples:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mcmc-samplers:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mcmc-synthesis:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6764,6 +6796,8 @@ dont-distribute-packages:
   pandoc-placetable:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-plantuml-diagrams:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-unlit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pang-a-lambda:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  panpipe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   pansite:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   papa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   papa-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6968,6 +7002,7 @@ dont-distribute-packages:
   pool:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   popenhs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   poppler:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  portager:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   porte:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   porter:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   PortFusion:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7085,9 +7120,7 @@ dont-distribute-packages:
   pure-cdb:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pure-priority-queue:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   pure-priority-queue-tests:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  purescript-bridge:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   purescript-bundle-fast:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  purescript:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pure-zlib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   pusher-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   pusher-http-haskell:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7170,6 +7203,7 @@ dont-distribute-packages:
   rados-haskell:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   raft:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   rail-compiler-editor:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rails-session:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   rainbow-tests:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   rakhana:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ralist:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7244,6 +7278,7 @@ dont-distribute-packages:
   record:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   record-preprocessor:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   records:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  records-sop:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   records-th:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   record-syntax:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   recursion-schemes:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7274,6 +7309,7 @@ dont-distribute-packages:
   ref-mtl:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   refresht:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   refty:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  refurb:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   regexchar:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   regex-deriv:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   regex-dfa:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7462,6 +7498,7 @@ dont-distribute-packages:
   saferoute:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   sai-shape-syb:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Salsa:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  saltine:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   saltine-quickcheck:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   salvia-demo:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   salvia-extras:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7589,6 +7626,7 @@ dont-distribute-packages:
   servant-pool:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-postgresql:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-purescript:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-py:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-quickcheck:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-router:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-scotty:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7600,6 +7638,7 @@ dont-distribute-packages:
   serversession-backend-redis:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   serversession-frontend-snap:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   serv:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  services:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   serv-wai:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ses-html:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ses-html-snaplet:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7701,6 +7740,7 @@ dont-distribute-packages:
   sink:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   siphon:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sirkel:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sitepipe:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sixfiguregroup:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   sized:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   sized-vector:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7737,6 +7777,7 @@ dont-distribute-packages:
   smt-lib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   SmtLib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   smtp2mta:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SMTPClient:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   smtp-mail-ng:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   snake-game:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   snake:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7869,6 +7910,7 @@ dont-distribute-packages:
   sproxy2:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sproxy-web:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   spsa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sqlcipher:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   sqlite-simple-typed:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple-mysql:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8030,6 +8072,7 @@ dont-distribute-packages:
   Sysmon:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sys-process:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   system-canonicalpath:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  system-info:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   system-lifted:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   system-locale:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   system-random-effect:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8103,6 +8146,14 @@ dont-distribute-packages:
   temporal-csound:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   temporary-resourcet:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   tempus:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-core-ops:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-logging:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-opgen:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-ops:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-proto:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-records-conduit:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tensorflow-records:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   tensor:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   termbox-bindings:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   terminal-progress-bar:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8192,6 +8243,7 @@ dont-distribute-packages:
   TicTacToe:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tidal-midi:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tidal-serial:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tidal-vis:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tie-knot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   tiempo:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   TigerHash:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8224,6 +8276,7 @@ dont-distribute-packages:
   TinyURL:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   tip-haskell-frontend:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tip-lib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  titan:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Titim:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   tkhs:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   tkyprof:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8253,6 +8306,7 @@ dont-distribute-packages:
   toxcore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   toysolver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tpar:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tpb:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   trace-call:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   traced:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   trace-function-call:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8293,6 +8347,7 @@ dont-distribute-packages:
   TrieMap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   tries:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   trimpolya:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  triplesec:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tripLL:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   tropical:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   tsession-happstack:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8554,6 +8609,7 @@ dont-distribute-packages:
   wai-static-cache:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-thrift:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-throttler:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  waldo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   warc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   warp-dynamic:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   warp-static:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8603,6 +8659,7 @@ dont-distribute-packages:
   web-routing:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   webserver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   websnap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  websockets-simple:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   websockets-snap:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   webwire:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   wedged:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8646,6 +8703,7 @@ dont-distribute-packages:
   wordsearch:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   workdays:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   workflow-osx:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  workflow-pure:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   workflow-windows:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   wp-archivebot:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   wraxml:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8777,6 +8835,7 @@ dont-distribute-packages:
   yesod-auth-deskcom:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-fb:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-hashdb:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yesod-auth-hmac-keccak:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-kerberos:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-ldap:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   yesod-auth-ldap-mediocre:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8866,6 +8925,7 @@ dont-distribute-packages:
   ZFS:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   zifter-cabal:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   zifter-git:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zifter-google-java-format:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   zifter-hindent:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   zifter-hlint:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   zifter:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8880,6 +8940,7 @@ dont-distribute-packages:
   zlib-enum:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ZMachine:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   zmcat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zm:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   zmidi-score:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   zmqat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   zoneinfo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 15dca1c0bc5..58ab8024369 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -198,9 +198,6 @@ self: super: builtins.intersectAttrs super {
   # Nix-specific workaround
   xmonad = appendPatch (dontCheck super.xmonad) ./patches/xmonad-nix.patch;
 
-  # https://github.com/ucsd-progsys/liquid-fixpoint/issues/44
-  liquid-fixpoint = overrideCabal super.liquid-fixpoint (drv: { preConfigure = "patchShebangs ."; });
-
   # wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
   # http://hydra.cryp.to/build/1331287/log/raw
   wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; };
@@ -458,4 +455,10 @@ self: super: builtins.intersectAttrs super {
   # loc and loc-test depend on each other for testing. Break that infinite cycle:
   loc-test = super.loc-test.override { loc = dontCheck self.loc; };
 
+  # The test suites try to run the "fixpoint" and "liquid" executables built just
+  # before and fail because the library search paths aren't configured properly.
+  # Also needs https://github.com/ucsd-progsys/liquidhaskell/issues/1038 resolved.
+  liquid-fixpoint = disableSharedExecutables super.liquid-fixpoint;
+  liquidhaskell = dontCheck (disableSharedExecutables super.liquidhaskell);
+
 }
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index 8090732ddee..6b5812cd07f 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -2,6 +2,7 @@
 , compilerConfig ? (self: super: {})
 , packageSetConfig ? (self: super: {})
 , overrides ? (self: super: {})
+, initialPackages ? import ./hackage-packages.nix
 }:
 
 let
@@ -10,18 +11,20 @@ let
   inherit (import ./lib.nix { inherit pkgs; }) overrideCabal makePackageSet;
 
   haskellPackages = makePackageSet {
-    package-set = import ./hackage-packages.nix;
-    inherit ghc;
+    package-set = initialPackages;
+    inherit ghc extensible-self;
   };
 
   commonConfiguration = import ./configuration-common.nix { inherit pkgs; };
   nixConfiguration = import ./configuration-nix.nix { inherit pkgs; };
 
-in
-
-  makeExtensible
+  extensible-self = makeExtensible
     (extends overrides
       (extends packageSetConfig
         (extends compilerConfig
           (extends commonConfiguration
-            (extends nixConfiguration haskellPackages)))))
+            (extends nixConfiguration haskellPackages)))));
+
+in
+
+  extensible-self
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 653e5cd245c..9516aca5366 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -34,8 +34,7 @@
 , license
 , maintainers ? []
 , doCoverage ? false
-# TODO Do we care about haddock when cross-compiling?
-, doHaddock ? !isCross && (!stdenv.isDarwin || stdenv.lib.versionAtLeast ghc.version "7.8")
+, doHaddock ? (!ghc.isHaLVM or true)
 , passthru ? {}
 , pkgconfigDepends ? [], libraryPkgconfigDepends ? [], executablePkgconfigDepends ? [], testPkgconfigDepends ? [], benchmarkPkgconfigDepends ? []
 , testDepends ? [], testHaskellDepends ? [], testSystemDepends ? []
@@ -197,13 +196,11 @@ stdenv.mkDerivation ({
     ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
   '' + postPatch;
 
-  # for ghcjs, we want to put ghcEnv on PATH so compiler plugins will be available.
-  # TODO(cstrahan): would the same be of benefit to native ghc?
   setupCompilerEnvironmentPhase = ''
     runHook preSetupCompilerEnvironment
 
     echo "Build with ${ghc}."
-    export PATH="${if ghc.isGhcjs or false then ghcEnv else ghc}/bin:$PATH"
+    export PATH="${ghc}/bin:$PATH"
     ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
 
     packageConfDir="$TMPDIR/package.conf.d"
diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix
index 53772b90dfb..7fbca53886e 100644
--- a/pkgs/development/haskell-modules/generic-stack-builder.nix
+++ b/pkgs/development/haskell-modules/generic-stack-builder.nix
@@ -1,11 +1,11 @@
-{ stdenv, ghc, pkgconfig, glibcLocales, cacert }:
+{ stdenv, ghc, pkgconfig, glibcLocales, cacert }@depArgs:
 
 with stdenv.lib;
 
 { buildInputs ? []
 , extraArgs ? []
 , LD_LIBRARY_PATH ? []
-, ghc ? ghc
+, ghc ? depArgs.ghc
 , ...
 }@args:
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index acccdd61528..057df5adf58 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -840,27 +840,26 @@ self: {
      }) {};
 
   "Allure" = callPackage
-    ({ mkDerivation, base, containers, enummapset-th, filepath
-     , LambdaHack, template-haskell, text
+    ({ mkDerivation, async, base, containers, enummapset-th, filepath
+     , LambdaHack, random, template-haskell, text, zlib
      }:
      mkDerivation {
        pname = "Allure";
-       version = "0.5.0.0";
-       sha256 = "0lmkfa6wk0hqin43lf6ll3227c4h7qvya7s6k6sfz8syy51ggqx7";
+       version = "0.6.0.0";
+       sha256 = "1baqvfrg5qsrfzlg6para87vf11srk0dmi062fpzfv1x452wx6ja";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers enummapset-th filepath LambdaHack template-haskell
-         text
+         async base containers enummapset-th filepath LambdaHack random
+         template-haskell text zlib
        ];
        testHaskellDepends = [
-         base containers enummapset-th filepath LambdaHack template-haskell
-         text
+         base containers enummapset-th filepath LambdaHack random
+         template-haskell text zlib
        ];
        homepage = "http://allureofthestars.com";
        description = "Near-future Sci-Fi roguelike and tactical squad game";
        license = stdenv.lib.licenses.agpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "AndroidViewHierarchyImporter" = callPackage
@@ -1377,8 +1376,8 @@ self: {
      }:
      mkDerivation {
        pname = "BioHMM";
-       version = "1.1.3";
-       sha256 = "0h4jll4dnya71lawkpsyyd4nnagpjpyss268ccrrn8z8wvbml8la";
+       version = "1.2.0";
+       sha256 = "1mrk5w10601gvfghmmrkmxvnr5jcwnlnk05q1bfb8akiyc2d4pbh";
        libraryHaskellDepends = [
          base colour diagrams-cairo diagrams-lib directory either-unwrap
          filepath parsec ParsecTools StockholmAlignment SVGFonts text vector
@@ -1812,16 +1811,29 @@ self: {
      }) {};
 
   "Blogdown" = callPackage
-    ({ mkDerivation, base, containers, MissingH, parsec }:
+    ({ mkDerivation, base, Cabal, containers, criterion, MissingH
+     , network-uri, parsec
+     }:
      mkDerivation {
        pname = "Blogdown";
-       version = "0.1.0";
-       sha256 = "0cjmpn0bj6jizz78mhbhh03d07ha7mx3zqihp63mh6xnyjjmwj74";
+       version = "0.2.2";
+       sha256 = "18lxj5ka4jfaz1ig6x6qkdzlil99i3bcy4cqpbsccvyvhbax323c";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base containers MissingH parsec ];
-       executableHaskellDepends = [ base containers MissingH parsec ];
-       testHaskellDepends = [ base containers MissingH parsec ];
+       setupHaskellDepends = [ base Cabal MissingH ];
+       libraryHaskellDepends = [
+         base containers MissingH network-uri parsec
+       ];
+       executableHaskellDepends = [
+         base containers MissingH network-uri parsec
+       ];
+       testHaskellDepends = [
+         base containers MissingH network-uri parsec
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion MissingH network-uri parsec
+       ];
+       homepage = "https://blogdown.io";
        description = "A markdown-like markup language designed for blog posts";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -2409,6 +2421,8 @@ self: {
        pname = "Cabal";
        version = "1.24.2.0";
        sha256 = "0h33v1716wkqh9wvq2wynvhwzkjjhg4aav0a1i3cmyq36n7fpl5p";
+       revision = "1";
+       editedCabalFile = "0jw809psa2ms9sy1mnirmbj9h7rs76wbmf24zgjqvhp4wq919z3m";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          pretty process time unix
@@ -2564,8 +2578,8 @@ self: {
     ({ mkDerivation, base, free, mmorph, mtl, transformers-base }:
      mkDerivation {
        pname = "ChannelT";
-       version = "0.0.0.2";
-       sha256 = "1857i9pwizdq8wr2502ff0ghaq9ggrklajj28fkj7lqi689n98qw";
+       version = "0.0.0.4";
+       sha256 = "06yr40kpi4jr65r76vlbf68ybh17n4b2k8claj0czgs4igspyhvn";
        libraryHaskellDepends = [ base free mmorph mtl transformers-base ];
        homepage = "https://github.com/pthariensflame/ChannelT";
        description = "Generalized stream processors";
@@ -4907,8 +4921,8 @@ self: {
      }:
      mkDerivation {
        pname = "Euterpea";
-       version = "2.0.2";
-       sha256 = "1d2dnjx7lml4b4bp7n3ac8lxg90pdpjgxpy12c93zbnf5kcgwzcv";
+       version = "2.0.3";
+       sha256 = "0khr4yqrg258x0fqrhzpwrzzsmzwdk3x3b3vyyqqmy5vh9hagvfy";
        libraryHaskellDepends = [
          array arrows base bytestring containers deepseq ghc-prim HCodecs
          heap PortMidi random stm
@@ -5033,7 +5047,7 @@ self: {
        librarySystemDepends = [ ftgl ];
        description = "Portable TrueType font rendering for OpenGL using the Freetype2 library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) ftgl;};
 
   "FTGL-bytestring" = callPackage
@@ -6374,6 +6388,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Glob_0_8_0" = callPackage
+    ({ mkDerivation, base, containers, directory, dlist, filepath
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "Glob";
+       version = "0.8.0";
+       sha256 = "15p8nbi19mhl3iisngbawmdpvk8paaqq4248fqgan63q1sz13w1q";
+       libraryHaskellDepends = [
+         base containers directory dlist filepath transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         base containers directory dlist filepath HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         transformers transformers-compat
+       ];
+       homepage = "http://iki.fi/matti.niemenmaa/glob/";
+       description = "Globbing library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "GlomeTrace" = callPackage
     ({ mkDerivation, array, base, GlomeVec }:
      mkDerivation {
@@ -7136,8 +7174,8 @@ self: {
      }:
      mkDerivation {
        pname = "HFitUI";
-       version = "0.1.0.0";
-       sha256 = "0g3isg6cacwkx0xmwnxpck7j1z58pykdzq9lqgzl4279an4j7vwx";
+       version = "0.1.1.0";
+       sha256 = "03v03adcqyf0ppbhx8jxmp1f4pzmqs5s43as21add2yl13rkwzm7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -7149,6 +7187,7 @@ self: {
        homepage = "https://github.com/iqsf/HFitUI.git";
        description = "The library for generating a graphical interface on the web";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "HFrequencyQueue" = callPackage
@@ -7180,7 +7219,7 @@ self: {
        homepage = "https://github.com/m15k/hfuse";
        description = "HFuse is a binding for the Linux FUSE library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) fuse;};
 
   "HGE2D" = callPackage
@@ -8270,6 +8309,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "HSoM" = callPackage
+    ({ mkDerivation, array, arrows, base, containers, deepseq, Euterpea
+     , ghc-prim, HCodecs, markov-chain, pure-fft, random, UISF
+     }:
+     mkDerivation {
+       pname = "HSoM";
+       version = "1.0.0";
+       sha256 = "1hh23kid568yhc92j4j0xd18xxlfwgrdhmbpb3zvxzrg0ah0pxkk";
+       libraryHaskellDepends = [
+         array arrows base containers deepseq Euterpea ghc-prim HCodecs
+         markov-chain pure-fft random UISF
+       ];
+       homepage = "http://www.euterpea.com";
+       description = "Library for computer music education";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "HSoundFile" = callPackage
     ({ mkDerivation, base, binary, bytestring, filepath, haskell98, mtl
      , parallel
@@ -8294,8 +8350,8 @@ self: {
      }:
      mkDerivation {
        pname = "HStringTemplate";
-       version = "0.8.5";
-       sha256 = "1zrmbclnc0njdcppzsjlp4ln69hzcixmw1x1l6rjvxx5y51k0az0";
+       version = "0.8.6";
+       sha256 = "1kam09fhnz1485swp5z1k8whjiwz9fcscp6zibxkq8hw3sfcn8kh";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers deepseq directory
          filepath mtl old-locale parsec pretty syb template-haskell text
@@ -8376,29 +8432,6 @@ self: {
      }:
      mkDerivation {
        pname = "HTTP";
-       version = "4000.3.6";
-       sha256 = "0j5sz52pikk82nz02iimq4khbz0yd2h00fvknhpp2s32mix8ii0q";
-       libraryHaskellDepends = [
-         array base bytestring mtl network network-uri parsec time
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive conduit conduit-extra deepseq
-         http-types httpd-shed HUnit mtl network network-uri pureMD5 split
-         test-framework test-framework-hunit wai warp
-       ];
-       homepage = "https://github.com/haskell/HTTP";
-       description = "A library for client-side HTTP";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "HTTP_4000_3_7" = callPackage
-    ({ mkDerivation, array, base, bytestring, case-insensitive, conduit
-     , conduit-extra, deepseq, http-types, httpd-shed, HUnit, mtl
-     , network, network-uri, parsec, pureMD5, split, test-framework
-     , test-framework-hunit, time, wai, warp
-     }:
-     mkDerivation {
-       pname = "HTTP";
        version = "4000.3.7";
        sha256 = "1s7amm0wai6z4x2arrqh0h6n0gjbrqpkqyz9a7l38i78hkmwrh6m";
        libraryHaskellDepends = [
@@ -8412,7 +8445,6 @@ self: {
        homepage = "https://github.com/haskell/HTTP";
        description = "A library for client-side HTTP";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "HTTP-Simple" = callPackage
@@ -8534,6 +8566,8 @@ self: {
        pname = "HUnit-approx";
        version = "1.1";
        sha256 = "19ih90i0j7zzydqpii9lv9g16ndbkylmsyilnd2zis4j0099xk6p";
+       revision = "1";
+       editedCabalFile = "1h78rwj5vy88pdj192l57181z0617gn5p8psrgbz6qgimfq35dpw";
        libraryHaskellDepends = [ base HUnit ];
        testHaskellDepends = [ base HUnit ];
        homepage = "https://github.com/goldfirere/HUnit-approx";
@@ -8640,6 +8674,8 @@ self: {
        pname = "HaRe";
        version = "0.8.4.0";
        sha256 = "1yqm2vwai3ss5r4brfgmx90kqifwvy5m8jrldb49b88aix3p4ckk";
+       revision = "2";
+       editedCabalFile = "1hwajkfskbnh3cn7jgiqp83vpfinnfn4pfzwkl6cwqi63iwy944p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -9712,6 +9748,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
+  "HsOpenSSL_0_11_4_9" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, integer-gmp, network
+     , openssl, time
+     }:
+     mkDerivation {
+       pname = "HsOpenSSL";
+       version = "0.11.4.9";
+       sha256 = "0y5khy8a1anisa8s1zysz763yg29mr6c9zcx4bjszaba5axyj3za";
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [
+         base bytestring integer-gmp network time
+       ];
+       librarySystemDepends = [ openssl ];
+       testHaskellDepends = [ base bytestring ];
+       homepage = "https://github.com/vshabanov/HsOpenSSL";
+       description = "Partial OpenSSL binding for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "HsOpenSSL-x509-system" = callPackage
     ({ mkDerivation, base, bytestring, HsOpenSSL, unix }:
      mkDerivation {
@@ -10462,6 +10518,8 @@ self: {
        pname = "JuicyPixels-extra";
        version = "0.2.1";
        sha256 = "0lai831n9iak96l854fynpa1bf41rq8mg45397zjg0p25w0i1dka";
+       revision = "1";
+       editedCabalFile = "0f42a7jirsk3ciyd081wcb2pkss34yzfwhaiaclgf17yiav4zzv0";
        libraryHaskellDepends = [ base JuicyPixels ];
        testHaskellDepends = [ base hspec JuicyPixels ];
        benchmarkHaskellDepends = [ base criterion JuicyPixels ];
@@ -10873,48 +10931,44 @@ self: {
      }) {};
 
   "LambdaHack" = callPackage
-    ({ mkDerivation, array, assert-failure, async, base, binary
-     , bytestring, containers, data-default, deepseq, directory
-     , enummapset-th, filepath, ghc-prim, gtk, gtk2, hashable, hsini
-     , keys, miniutter, mtl, old-time, pretty-show, random, stm
-     , template-haskell, text, transformers, unordered-containers
-     , vector, vector-binary-instances, zlib
+    ({ mkDerivation, assert-failure, async, base, base-compat, binary
+     , bytestring, containers, deepseq, directory, enummapset-th
+     , filepath, ghc-prim, hashable, hsini, keys, miniutter, pretty-show
+     , random, sdl2, sdl2-ttf, stm, template-haskell, text, time
+     , transformers, unordered-containers, vector
+     , vector-binary-instances, zlib
      }:
      mkDerivation {
        pname = "LambdaHack";
-       version = "0.5.0.0";
-       sha256 = "0vzra6020jmir6pqs26fnw2pgap7l10160v5admk7wnrrnfr91r5";
-       revision = "1";
-       editedCabalFile = "1xxwkcb4c9jxfrjy124wijcvrpv40nbkagap9bsc640459c5ipx5";
+       version = "0.6.0.0";
+       sha256 = "12bvsl4bshks02dqk09nzjz8jd8mspf408h88bmswsxyhq6r03gc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array assert-failure async base binary bytestring containers
-         data-default deepseq directory enummapset-th filepath ghc-prim gtk
-         hashable hsini keys miniutter mtl old-time pretty-show random stm
-         text transformers unordered-containers vector
-         vector-binary-instances zlib
+         assert-failure async base base-compat binary bytestring containers
+         deepseq directory enummapset-th filepath ghc-prim hashable hsini
+         keys miniutter pretty-show random sdl2 sdl2-ttf stm text time
+         transformers unordered-containers vector vector-binary-instances
+         zlib
        ];
-       libraryPkgconfigDepends = [ gtk2 ];
        executableHaskellDepends = [
-         array assert-failure async base binary bytestring containers
-         data-default deepseq directory enummapset-th filepath ghc-prim
-         hashable hsini keys miniutter mtl old-time pretty-show random stm
-         template-haskell text transformers unordered-containers vector
-         vector-binary-instances zlib
+         assert-failure async base base-compat binary bytestring containers
+         deepseq directory enummapset-th filepath ghc-prim hashable hsini
+         keys miniutter pretty-show random stm template-haskell text time
+         transformers unordered-containers vector vector-binary-instances
+         zlib
        ];
        testHaskellDepends = [
-         array assert-failure async base binary bytestring containers
-         data-default deepseq directory enummapset-th filepath ghc-prim
-         hashable hsini keys miniutter mtl old-time pretty-show random stm
-         template-haskell text transformers unordered-containers vector
-         vector-binary-instances zlib
+         assert-failure async base base-compat binary bytestring containers
+         deepseq directory enummapset-th filepath ghc-prim hashable hsini
+         keys miniutter pretty-show random stm template-haskell text time
+         transformers unordered-containers vector vector-binary-instances
+         zlib
        ];
-       homepage = "http://github.com/LambdaHack/LambdaHack";
+       homepage = "https://lambdahack.github.io";
        description = "A game engine library for roguelike dungeon crawlers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {gtk2 = pkgs.gnome2.gtk;};
+     }) {};
 
   "LambdaINet" = callPackage
     ({ mkDerivation, base, containers, GLFW, GLFW-task, monad-task, mtl
@@ -12362,6 +12416,30 @@ self: {
        pname = "MusicBrainz";
        version = "0.2.4";
        sha256 = "1f1x3iivxkn5d7w3xyh2q8mpn1mg24c1n6v8dvdsph745xszh8fj";
+       revision = "1";
+       editedCabalFile = "1bnj0wq9q6y2pxjnl1rk5ybdj16g17g7qkzrfnjrwmm7iq8xbm62";
+       libraryHaskellDepends = [
+         aeson base bytestring conduit conduit-extra HTTP http-conduit
+         http-types monad-control resourcet text time time-locale-compat
+         transformers vector xml-conduit xml-types
+       ];
+       homepage = "http://floss.scru.org/hMusicBrainz";
+       description = "interface to MusicBrainz XML2 web service";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "MusicBrainz_0_3" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, conduit-extra
+     , HTTP, http-conduit, http-types, monad-control, resourcet, text
+     , time, time-locale-compat, transformers, vector, xml-conduit
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "MusicBrainz";
+       version = "0.3";
+       sha256 = "1c0vl5zkb8628k5222fg6z806byjqnsxr0h3yw86fzwhgkxqywd4";
+       revision = "1";
+       editedCabalFile = "1bv1nwl4pijgiw4zpnw6b15d7phj6b8chiqvv42s8vrq51crdvm6";
        libraryHaskellDepends = [
          aeson base bytestring conduit conduit-extra HTTP http-conduit
          http-types monad-control resourcet text time time-locale-compat
@@ -12370,6 +12448,7 @@ self: {
        homepage = "http://floss.scru.org/hMusicBrainz";
        description = "interface to MusicBrainz XML2 web service";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "MusicBrainz-libdiscid" = callPackage
@@ -14077,7 +14156,7 @@ self: {
        homepage = "http://github.com/ninegua/PortMidi";
        description = "A binding for PortMedia/PortMidi";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) alsaLib;};
 
   "PostgreSQL" = callPackage
@@ -14823,6 +14902,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "RSA_2_3_0" = callPackage
+    ({ mkDerivation, base, binary, bytestring, crypto-api
+     , crypto-pubkey-types, DRBG, QuickCheck, SHA, tagged
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "RSA";
+       version = "2.3.0";
+       sha256 = "0csk933gb2ayijxx6ar110lmsbvgyn7p5bqln3g2qbfxz73nvrzf";
+       libraryHaskellDepends = [
+         base binary bytestring crypto-api crypto-pubkey-types SHA
+       ];
+       testHaskellDepends = [
+         base binary bytestring crypto-api crypto-pubkey-types DRBG
+         QuickCheck SHA tagged test-framework test-framework-quickcheck2
+       ];
+       description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Raincat" = callPackage
     ({ mkDerivation, base, containers, extensible-exceptions, GLUT, mtl
      , OpenGL, random, sdl2, sdl2-image, sdl2-mixer, time
@@ -14840,7 +14940,7 @@ self: {
        homepage = "http://raincat.bysusanlin.com/";
        description = "A puzzle game written in Haskell with a cat in lead role";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
   "Random123" = callPackage
@@ -15229,25 +15329,15 @@ self: {
        pname = "SCalendar";
        version = "0.1.0.0";
        sha256 = "0dvmfr82hnavgpiv2zi0dccldpyl84l653gncrbgd7dmdnmbsvw9";
+       revision = "1";
+       editedCabalFile = "0vcdmzisi7v7jsm6bj34q43f42ab0bhq992lyq740ickzp3a6k22";
        libraryHaskellDepends = [ base containers text time ];
        homepage = "https://github.com/sebasHack/SCalendar";
-       description = "Library for managing calendars and resource availability";
+       description = "XXXX";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "SConfig" = callPackage
-    ({ mkDerivation, base, containers }:
-     mkDerivation {
-       pname = "SConfig";
-       version = "0.2.0.0";
-       sha256 = "032s6szll58zavdnf6fsj2rhpdlizv3l46lh819bqjy1kbffv0yz";
-       libraryHaskellDepends = [ base containers ];
-       homepage = "https://github.com/fgaz/SConfig";
-       description = "A simple config library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
   "SDL" = callPackage
     ({ mkDerivation, base, SDL }:
      mkDerivation {
@@ -15471,6 +15561,7 @@ self: {
        ];
        description = "A simple SMTP client library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "SNet" = callPackage
@@ -16641,8 +16732,8 @@ self: {
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.1.0";
-       sha256 = "0ycvlacvr49gjzci1l68wi128z5gw0z6pgw00i3spjybd87ydykc";
+       version = "1.1.1";
+       sha256 = "085kw1rw4dkyivjpm7l5alj0x9cgzd8c2ai4f2k1kkcwjkhbpllv";
        libraryHaskellDepends = [
          base colour diagrams-cairo diagrams-lib directory either-unwrap
          filepath parsec ParsecTools SVGFonts text vector
@@ -17153,8 +17244,8 @@ self: {
        pname = "TestExplode";
        version = "0.1.0.0";
        sha256 = "0r4nwzwdila9p05g5y99rp06dbh1k2yl5jsc6yn6dwvxkvvdjcs1";
-       revision = "3";
-       editedCabalFile = "0158f7h9panmpsymc8bwaflbd23zc2d0ndb0pdarqglh06x8wa4c";
+       revision = "4";
+       editedCabalFile = "04qpbdcpfayghrc4hgy9bacg3s5cqfhjgmbmdba00wmqlja0yz8d";
        libraryHaskellDepends = [
          base containers directory fgl graphviz interpolatedstring-perl6 mtl
          process text
@@ -17932,17 +18023,17 @@ self: {
      }) {};
 
   "Villefort" = callPackage
-    ({ mkDerivation, base, FindBin, HDBC, HDBC-sqlite3, mtl, scotty
-     , split, text, time
+    ({ mkDerivation, base, FindBin, HDBC, HDBC-sqlite3, mtl, random
+     , scotty, split, text, time
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.0.7";
-       sha256 = "05njwx4d6cd4h4zx8bxpnypq9hm9fzz6kmnx6ic308asvyjgkhav";
+       version = "0.1.0.8";
+       sha256 = "0974k5adxxa0jpi99wqq13lnav2rdb7qr40snvycsazk5mx1fd35";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base FindBin HDBC HDBC-sqlite3 mtl split time
+         base FindBin HDBC HDBC-sqlite3 mtl random split time
        ];
        executableHaskellDepends = [
          base HDBC HDBC-sqlite3 scotty split text time
@@ -19368,6 +19459,8 @@ self: {
        pname = "accelerate";
        version = "1.0.0.0";
        sha256 = "04pix2hazqafyb3zr8ikn1acrc77f9r9061fygpblbl5fxmk9g96";
+       revision = "1";
+       editedCabalFile = "1n6mhckkry2ga6w5yhc9s37saf055jfs2ixi1g0np5cca6027h10";
        libraryHaskellDepends = [
          base base-orphans containers deepseq directory exceptions fclabels
          filepath ghc-prim hashable hashtables mtl pretty template-haskell
@@ -19696,10 +19789,10 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-llvm-ptx";
-       version = "1.0.0.0";
-       sha256 = "03ids4vmyvrxj70jx5rd2p7v73p6d4w0dj4zkyc1xkir2fwizbjg";
-       revision = "2";
-       editedCabalFile = "1ywp6xiaa3c1zs0x26997mki3l9lm38pqj298rs1vz9nagqh31z6";
+       version = "1.0.0.1";
+       sha256 = "0s01vfqrg6kg2jkg9dkj98b7xr88m519drs73x5ffj6xdgq6b57z";
+       revision = "1";
+       editedCabalFile = "0r9j7pnhfxvx1qv3xn877mbr1pfwqh0nhm436cpqanqrj7sk876n";
        libraryHaskellDepends = [
          accelerate accelerate-llvm base bytestring containers cuda
          directory dlist fclabels filepath hashable llvm-hs llvm-hs-pure mtl
@@ -20435,26 +20528,6 @@ self: {
      }:
      mkDerivation {
        pname = "active";
-       version = "0.2.0.12";
-       sha256 = "07mrm3ij5466lpvh43jpb1xlg64lp6gpdl84knb7c9rbmn7iya2m";
-       revision = "2";
-       editedCabalFile = "17x1irvhj2snkljgdplm1330a4ji3lz9myi809hvxk37knfp9djq";
-       libraryHaskellDepends = [
-         base lens linear semigroupoids semigroups vector
-       ];
-       testHaskellDepends = [
-         base lens linear QuickCheck semigroupoids semigroups vector
-       ];
-       description = "Abstractions for animation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "active_0_2_0_13" = callPackage
-    ({ mkDerivation, base, lens, linear, QuickCheck, semigroupoids
-     , semigroups, vector
-     }:
-     mkDerivation {
-       pname = "active";
        version = "0.2.0.13";
        sha256 = "1yw029rh0gb63bhwwjynbv173mny14is4cyjkrlvzvxwb0fi96jx";
        libraryHaskellDepends = [
@@ -20465,7 +20538,6 @@ self: {
        ];
        description = "Abstractions for animation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "activehs" = callPackage
@@ -20698,6 +20770,8 @@ self: {
        pname = "adler32";
        version = "0.1.1.0";
        sha256 = "1v18d4xfbgqflx957xy6wiv7zhkgimpy85fy49d91p2ifkmbk32p";
+       revision = "1";
+       editedCabalFile = "087fykdlay78g9zg1w6a36xwd4pizcyi5wqzvj7cw5sh6gq493km";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ zlib ];
        testHaskellDepends = [ base bytestring hspec ];
@@ -20800,6 +20874,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aeson_0_11_3_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-orphans, bytestring
+     , containers, deepseq, dlist, fail, ghc-prim, hashable, HUnit, mtl
+     , QuickCheck, quickcheck-instances, scientific, syb, tagged
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "0.11.3.0";
+       sha256 = "1sgcjmf945hazdfx7iyr60w0x9l3y292q2k13zcjihl1g32zl9pk";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers deepseq dlist fail ghc-prim
+         hashable mtl scientific syb tagged template-haskell text time
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-orphans bytestring containers ghc-prim
+         hashable HUnit QuickCheck quickcheck-instances tagged
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 text time unordered-containers vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat, base-orphans
      , base16-bytestring, bytestring, containers, deepseq, dlist
@@ -20971,6 +21074,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson-compat_0_3_7" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-iso8601, base
+     , base-compat, base-orphans, bytestring, containers, exceptions
+     , hashable, nats, QuickCheck, quickcheck-instances, scientific
+     , semigroups, tagged, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-compat";
+       version = "0.3.7";
+       sha256 = "053wa7j82pymr633vakpdandrddg083zcmv76g9sbawcsfiw5whv";
+       libraryHaskellDepends = [
+         aeson attoparsec attoparsec-iso8601 base base-compat bytestring
+         containers exceptions hashable nats scientific semigroups tagged
+         text time time-locale-compat unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base-compat base-orphans bytestring
+         containers exceptions hashable nats QuickCheck quickcheck-instances
+         scientific semigroups tagged tasty tasty-hunit tasty-quickcheck
+         text time time-locale-compat unordered-containers vector
+       ];
+       homepage = "https://github.com/phadej/aeson-compat#readme";
+       description = "Compatibility layer for aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-diff" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, doctest
      , edit-distance-vector, filepath, Glob, hashable, hlint, mtl
@@ -21235,8 +21366,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-pretty";
-       version = "0.8.2";
-       sha256 = "1c5r1w1hcv297pmj9yjpz9al22k3mh61gimi37wddga02212kd3c";
+       version = "0.8.4";
+       sha256 = "028527bymhvvry5knaqwjj32x3v15flj6d1c9zqy6gwqp87ji3zx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -21583,8 +21714,10 @@ self: {
      }:
      mkDerivation {
        pname = "agda-snippets";
-       version = "2.5.1";
-       sha256 = "1mjn415halclsqph57s2a577w52d79jmwqcnmzvfdy3x0zzdbllx";
+       version = "2.5.2";
+       sha256 = "1bfjbxgmy0nxfjcsqqp4snshmx3ka7rjij4pdw46ax6jlsap2w1f";
+       revision = "1";
+       editedCabalFile = "1lyagh0psry89lh7j8r7gq9ar1a4zgs75mdfrm40wym9h3hcwm1d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -21603,8 +21736,8 @@ self: {
      }:
      mkDerivation {
        pname = "agda-snippets-hakyll";
-       version = "0.1.2.1";
-       sha256 = "1kxnsciaqrv58vl6335fcn3gf5a98r85q9f83knsxl62nxr2x6wz";
+       version = "0.1.2.2";
+       sha256 = "1bwia22d78wjm33vhsxrx5jchcjvqwl95d1ikkhm9dhraba38z1h";
        libraryHaskellDepends = [
          agda-snippets base directory filepath hakyll network-uri pandoc
          pandoc-types
@@ -22032,6 +22165,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "alerta" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, containers
+     , data-default, http-api-data, http-client, servant, servant-client
+     , servant-server, text, time
+     }:
+     mkDerivation {
+       pname = "alerta";
+       version = "0.1.0.3";
+       sha256 = "0phw1l11v1dhim7njc5rrxlkacmk5wwm2vw9jcvkyh2j1bz5gx5g";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base containers data-default http-api-data
+         http-client servant servant-client servant-server text time
+       ];
+       homepage = "https://github.com/mjhopkins/alerta-client";
+       description = "Bindings to the alerta REST API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "alex" = callPackage
     ({ mkDerivation, array, base, Cabal, containers, directory
      , filepath, happy, process, QuickCheck
@@ -22528,7 +22679,7 @@ self: {
        homepage = "https://github.com/ttuegel/alsa-mixer";
        description = "Bindings to the ALSA simple mixer API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) alsaLib;};
 
   "alsa-pcm" = callPackage
@@ -22549,7 +22700,7 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/ALSA";
        description = "Binding to the ALSA Library API (PCM audio)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) alsaLib;};
 
   "alsa-pcm-tests" = callPackage
@@ -22585,7 +22736,7 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/ALSA";
        description = "Binding to the ALSA Library API (MIDI sequencer)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) alsaLib;};
 
   "alsa-seq-tests" = callPackage
@@ -23792,6 +23943,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lambda SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-lightsail" = callPackage
@@ -24078,7 +24230,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
-  "amazonka-s3-streaming_0_2_0_1" = callPackage
+  "amazonka-s3-streaming_0_2_0_3" = callPackage
     ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, base
      , bytestring, conduit, conduit-extra, deepseq, dlist, exceptions
      , http-client, lens, lifted-async, mmap, mmorph, mtl, resourcet
@@ -24086,8 +24238,8 @@ self: {
      }:
      mkDerivation {
        pname = "amazonka-s3-streaming";
-       version = "0.2.0.1";
-       sha256 = "0rk99kl4j6mxlws5mjglhpwd2kg1pkzncf9cyxlckpq3p7k64k3i";
+       version = "0.2.0.3";
+       sha256 = "1pndy65mk3kjl51jr75k1dk182wsbzfd2q9zsvcxpalfs0nsaf30";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24964,8 +25116,8 @@ self: {
        pname = "ansi-pretty";
        version = "0.1.2.1";
        sha256 = "1ill2dlzbxn97smkzdqcjfx9z3fw7pgwvz6w36d92n8p7zwik23h";
-       revision = "2";
-       editedCabalFile = "0rds13k27ycmm3vcg503fc32ddwdn078hxlb2fa274sxc3wd443x";
+       revision = "3";
+       editedCabalFile = "046w5nybk8fyhicw5wy7qchbx9k4sib189afj2gysrsblj0ki864";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -24977,14 +25129,14 @@ self: {
      }) {};
 
   "ansi-terminal" = callPackage
-    ({ mkDerivation, base, unix }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.6.2.3";
-       sha256 = "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d";
+       version = "0.6.3.1";
+       sha256 = "15c0c0vb66y3mr11kcvgjf4h0f7dqg7k1xq7zzq9fy11r7h9i3s5";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base unix ];
+       libraryHaskellDepends = [ base ];
        homepage = "https://github.com/feuerbach/ansi-terminal";
        description = "Simple ANSI terminal support, with Windows compatibility";
        license = stdenv.lib.licenses.bsd3;
@@ -27271,6 +27423,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "async-extra_0_2_0_0" = callPackage
+    ({ mkDerivation, async, base, deepseq, split }:
+     mkDerivation {
+       pname = "async-extra";
+       version = "0.2.0.0";
+       sha256 = "0hyc27mphjpc7m9khs47ch0q6j6hy2hmibk82vzrfmc3rfjxa1hd";
+       libraryHaskellDepends = [ async base deepseq split ];
+       homepage = "https://github.com/agrafix/async-extra#readme";
+       description = "Useful concurrent combinators";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "async-extras" = callPackage
     ({ mkDerivation, async, base, lifted-async, lifted-base
      , monad-control, SafeSemaphore, stm, transformers-base
@@ -27564,8 +27729,8 @@ self: {
      }:
      mkDerivation {
        pname = "atom-basic";
-       version = "0.2.4";
-       sha256 = "1sr9slv3gdjab9ipzwn3iksp733np6r5r0c6cn74mzvqgdsvjzxk";
+       version = "0.2.5";
+       sha256 = "1vkm5wfsgprs42qjzxchgrpxj3xalpg2zd79n9isvlxsp1krdgi4";
        libraryHaskellDepends = [
          base base64-bytestring bytestring network network-uri text time
        ];
@@ -28046,6 +28211,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "attoparsec-uri" = callPackage
+    ({ mkDerivation, attoparsec, base, bytedump, n-tuple, strict, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "attoparsec-uri";
+       version = "0.0.1";
+       sha256 = "0bjfk1ljm16kzb3415973w5z3zhjbb2yyphwr6v3givszgwryq6g";
+       libraryHaskellDepends = [
+         attoparsec base bytedump n-tuple strict text vector
+       ];
+       homepage = "https://github.com/athanclark/attoparsec-uri#readme";
+       description = "URI parser / printer using attoparsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "attosplit" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring }:
      mkDerivation {
@@ -28164,17 +28345,15 @@ self: {
      }:
      mkDerivation {
        pname = "aur";
-       version = "6.0.0";
-       sha256 = "1gnd5nq4s23sxil86a54wvcyrs12vvqsqrhjlxp3n05paickq36p";
-       revision = "1";
-       editedCabalFile = "13jpk4f3215dij8y01z3bq4i6kfss4fksz4k06bjmiyxfphgan2a";
+       version = "6.0.0.1";
+       sha256 = "1ip97gnny26h5ayq7x0yx4afls3nhd1kfhqz3l3bsjq7fvkn8jx0";
        libraryHaskellDepends = [
          aeson base http-client servant servant-client text
        ];
        testHaskellDepends = [
          base http-client http-client-tls tasty tasty-hunit
        ];
-       homepage = "https://github.com/aurapm/aura";
+       homepage = "https://github.com/fosskers/haskell-aur";
        description = "Access metadata from the Arch Linux User Repository";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -28253,6 +28432,8 @@ self: {
        pname = "authenticate-oauth";
        version = "1.6";
        sha256 = "0xc37yql79r9idjfdhzg85syrwwgaxggcv86myi6zq2pzl89yvfj";
+       revision = "1";
+       editedCabalFile = "1fxwn8bn6qs8dhxq0q04psq7zp1qvw1b6g3vmsclgyj9p7kr77ms";
        libraryHaskellDepends = [
          base base64-bytestring blaze-builder bytestring crypto-pubkey-types
          data-default http-client http-types random RSA SHA time
@@ -28503,8 +28684,8 @@ self: {
        pname = "avers";
        version = "0.0.17.1";
        sha256 = "1x96fvx0z7z75c39qcggw70qvqnw7kzjf0qqxb3jwg3b0fmdhi8v";
-       revision = "10";
-       editedCabalFile = "0fpch12cdz7ll52xyxmc8ymwszrzn4m4yc97crxy0mdd9acs7wlj";
+       revision = "11";
+       editedCabalFile = "0panmqlzp0mq004fc0rm6fywrmc07cgwsp2567g4v1ay8g812ls2";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock containers cryptonite
          filepath inflections memory MonadRandom mtl network network-uri
@@ -29630,6 +29811,7 @@ self: {
        homepage = "https://github.com/bitemyapp/ballast#readme";
        description = "Shipwire API client";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bamboo" = callPackage
@@ -29914,6 +30096,8 @@ self: {
        pname = "barrier";
        version = "0.1.1";
        sha256 = "1n8yx66lvyn90ixyvpjafrmhpgnznnqj9il5rixlr651xq0xm5b3";
+       revision = "1";
+       editedCabalFile = "167akvi72l47gcqbq5609m24469pq0xmv0kjbmivnrxs796gh890";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -29924,7 +30108,7 @@ self: {
          base bytestring lens-family-core tasty tasty-golden
        ];
        homepage = "https://github.com/philopon/barrier";
-       description = "Shield.io style badge generator";
+       description = "Shields.io style badge generator";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -29969,10 +30153,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "base-feature-macros";
-       version = "0.1";
-       sha256 = "1arr3mb5axmy4aq8h1706hq62qzxcg9msy31n3smhddy0zia06xy";
-       revision = "1";
-       editedCabalFile = "1risd4pq9vyvi1xgdx1yb46wwn600ldlsl2qrcw97bkr05c748fr";
+       version = "0.1.0.1";
+       sha256 = "1v4a0jmjjqirfxvwim7gsrn5vj0p6la6fncy6k4v2va0p8xaggmp";
        libraryHaskellDepends = [ base ];
        doHaddock = false;
        description = "Semantic CPP feature macros for base";
@@ -30351,6 +30533,39 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "batchd" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, containers
+     , cryptonite, data-default, dates, directory, esqueleto, filepath
+     , Glob, http-client, http-client-tls, http-types, libssh2
+     , monad-logger, monad-logger-syslog, mtl, optparse-applicative
+     , parsec, persistent, persistent-postgresql, persistent-sqlite
+     , persistent-template, process, readline, resourcet, scotty, syb
+     , template, template-haskell, text, th-lift, time, tls
+     , transformers, unix, unordered-containers, vault, wai, wai-cors
+     , wai-extra, wai-middleware-static, warp, x509-store, yaml
+     }:
+     mkDerivation {
+       pname = "batchd";
+       version = "0.1.0.0";
+       sha256 = "1axj4w0g34fgnn89l6f2zxbx172z6yq98clksp2bqxmnswza7di2";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring connection containers cryptonite data-default
+         dates directory esqueleto filepath Glob http-client http-client-tls
+         http-types libssh2 monad-logger monad-logger-syslog mtl
+         optparse-applicative parsec persistent persistent-postgresql
+         persistent-sqlite persistent-template process readline resourcet
+         scotty syb template template-haskell text th-lift time tls
+         transformers unix unordered-containers vault wai wai-cors wai-extra
+         wai-middleware-static warp x509-store yaml
+       ];
+       homepage = "https://github.com/portnov/batchd";
+       description = "Batch processing toolset for Linux / Unix";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "battlenet" = callPackage
     ({ mkDerivation, aeson, base, containers, http-conduit, text }:
      mkDerivation {
@@ -30635,6 +30850,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "beeminder-api" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
+     , conduit, containers, data-default-class
+     , data-default-instances-base, http-conduit, http-types, lens
+     , monad-control, mtl, resourcet, scientific, text, time
+     , transformers, transformers-base, universe, universe-base
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "beeminder-api";
+       version = "1.0";
+       sha256 = "0yvk51s7pajndzh3sy6jsq1yg2myvn7i211b0g50n1afh96mf84j";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder bytestring conduit containers
+         data-default-class data-default-instances-base http-conduit
+         http-types lens monad-control mtl resourcet scientific text time
+         transformers transformers-base universe universe-base
+         unordered-containers vector
+       ];
+       description = "Bindings to the beeminder.com JSON API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bein" = callPackage
     ({ mkDerivation, base, bytestring, containers, convertible, Crypto
      , directory, filepath, happstack-server, happstack-util, hdaemonize
@@ -30664,8 +30902,8 @@ self: {
      }:
      mkDerivation {
        pname = "bench";
-       version = "1.0.3";
-       sha256 = "1ik097g76yr8vinnr6h2d0388x74f9milksyipd2i9sixr7bj1ri";
+       version = "1.0.4";
+       sha256 = "1q376q5jy3i99smx06dma4d05jdxmcfyfskjkj7bmm3g84fdwxas";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -31717,8 +31955,8 @@ self: {
        pname = "binary-tagged";
        version = "0.1.4.2";
        sha256 = "1167rlb2lnib1vin9p75hp7fzcjqxljlw56bhmkwn05c5f6an7ri";
-       revision = "5";
-       editedCabalFile = "1arlkc6f4ckm0xarvqf45yj9hvx9y1v4ih4s4fmjdfj3y7rzzbrr";
+       revision = "6";
+       editedCabalFile = "02fw1994ln0f63v77qfr9zwsfzhl3pmmsck9dzcv43895jkq55pi";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          generics-sop hashable nats scientific semigroups SHA tagged text
@@ -32043,7 +32281,7 @@ self: {
        libraryPkgconfigDepends = [ directfb ];
        description = "Low level bindings to DirectFB";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) directfb;};
 
   "bindings-eskit" = callPackage
@@ -32197,8 +32435,8 @@ self: {
     ({ mkDerivation, base, bindings-DSL, blas, liblapack }:
      mkDerivation {
        pname = "bindings-levmar";
-       version = "1.1.0.3";
-       sha256 = "1da9n88wwjpm3ph7q73niv3cslpa0h8r0lsyfl35arymxfqpb4c0";
+       version = "1.1.0.4";
+       sha256 = "1dxr9lbgf08a143d4vm78d1iibafzjx6zdlvpdxfri1v523z3sgd";
        libraryHaskellDepends = [ base bindings-DSL ];
        librarySystemDepends = [ blas liblapack ];
        homepage = "https://github.com/basvandijk/bindings-levmar";
@@ -32489,7 +32727,7 @@ self: {
        description = "FFI bindings to libsane";
        license = stdenv.lib.licenses.lgpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {saneBackends = null;};
+     }) {inherit (pkgs) saneBackends;};
 
   "bindings-sc3" = callPackage
     ({ mkDerivation, base, bindings-DSL, scsynth }:
@@ -34424,14 +34662,15 @@ self: {
      }) {};
 
   "bluemix-sdk" = callPackage
-    ({ mkDerivation, aeson, base, http-client, http-types, text, vector
+    ({ mkDerivation, aeson, base, bytestring, http-client, http-types
+     , text, vector
      }:
      mkDerivation {
        pname = "bluemix-sdk";
-       version = "0.1.0.0";
-       sha256 = "0j7x6mw6z4kvs2icis4p517fv09b11fgnl8qvbnrajx6wzjl3sdj";
+       version = "0.1.1.0";
+       sha256 = "0ljpjk7wd11y90maib0vyx8y6v96b6ng9skdig136xjfy27vv82r";
        libraryHaskellDepends = [
-         aeson base http-client http-types text vector
+         aeson base bytestring http-client http-types text vector
        ];
        homepage = "https://github.com/agrafix/bluemix-sdk#readme";
        description = "Bindings to Bluemix APIs";
@@ -36001,6 +36240,7 @@ self: {
        homepage = "https://github.com/lspitzner/butcher/";
        description = "Chops a command or program invocation into digestable pieces";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "butterflies" = callPackage
@@ -37023,25 +37263,12 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "cabal-doctest";
-       version = "1.0.1";
-       sha256 = "1fj8marihk7is2qcv0m9lfgycqqvi0b84s19xbfgywq3w54z16jl";
-       libraryHaskellDepends = [ base Cabal directory filepath ];
-       homepage = "https://github.com/phadej/cabal-doctest";
-       description = "A Setup.hs helper for doctests running";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cabal-doctest_1_0_2" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
-     mkDerivation {
-       pname = "cabal-doctest";
        version = "1.0.2";
        sha256 = "0h3wsjf2mg8kw1zvxc0f9nzchj5kzvza9z0arcyixkd9rkgqq6sa";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        homepage = "https://github.com/phadej/cabal-doctest";
        description = "A Setup.hs helper for doctests running";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabal-file-th" = callPackage
@@ -37178,6 +37405,8 @@ self: {
        pname = "cabal-install";
        version = "1.24.0.2";
        sha256 = "1q0gl3i9cpg854lcsiifxxginnvhp2bpx19wkkzpzrd072983j1a";
+       revision = "1";
+       editedCabalFile = "0v112hvvppa31sklpzg54vr0hfidy1334kg5p3jc0gbgl8in1n90";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -37810,6 +38039,7 @@ self: {
        homepage = "https://github.com/RobertFischer/cabalish#readme";
        description = "Provides access to the cabal file data for shell scripts";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabalmdvrpm" = callPackage
@@ -38338,17 +38568,51 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "camfort_0_902" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , directory, fgl, filepath, fortran-src, GenericPretty, ghc-prim
+     , happy, hmatrix, hspec, lattices, matrix, mtl, partial-order
+     , QuickCheck, sbv, syb, syz, text, transformers, uniplate, vector
+     }:
+     mkDerivation {
+       pname = "camfort";
+       version = "0.902";
+       sha256 = "0pakm4zdygzxpfnvxmn88pc1y1dx33xw71lkg0hbxj1k4dn4651q";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers directory fgl filepath
+         fortran-src GenericPretty ghc-prim hmatrix lattices matrix mtl
+         partial-order sbv syb syz text transformers uniplate vector
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [
+         array base binary bytestring containers directory fgl filepath
+         fortran-src GenericPretty ghc-prim hmatrix lattices matrix mtl
+         partial-order QuickCheck sbv syb syz text transformers uniplate
+         vector
+       ];
+       testHaskellDepends = [
+         array base binary bytestring containers directory filepath
+         fortran-src hmatrix hspec lattices mtl partial-order QuickCheck sbv
+         text uniplate
+       ];
+       description = "CamFort - Cambridge Fortran infrastructure";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "camh" = callPackage
     ({ mkDerivation, base, bytestring, Imlib, terminfo }:
      mkDerivation {
        pname = "camh";
-       version = "0.0.2";
-       sha256 = "0xk1rxydncwfwj9cg4jwdgi8mlgwmk5nfk462pla26dqqg44aw2p";
+       version = "0.0.3";
+       sha256 = "0r6wzn9kxwinfa383lbxsjlrpv4v2m72qzpsyc9gcigvd5h7zhzz";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base bytestring Imlib terminfo ];
        homepage = "not yet available";
-       description = "Image converter to 256-colored text";
+       description = "write image files onto 256(or 24bit) color terminals";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -38901,8 +39165,8 @@ self: {
      }:
      mkDerivation {
        pname = "case-insensitive";
-       version = "1.2.0.9";
-       sha256 = "1f6jjgxnc8579pzf4d96xlg2gk20mrglpdrq85fwsizz113qrpm7";
+       version = "1.2.0.10";
+       sha256 = "0v1hclvv0516fnlj5j2izd9xmakl7dshi9cb32iz6dgvzx01qck6";
        libraryHaskellDepends = [ base bytestring deepseq hashable text ];
        testHaskellDepends = [
          base bytestring HUnit test-framework test-framework-hunit text
@@ -40716,10 +40980,25 @@ self: {
        pname = "choice";
        version = "0.2.0";
        sha256 = "0bppl551b384c28fqzww73lddzhfdgs10qcf2wd8xk2awna0i9w9";
+       revision = "1";
+       editedCabalFile = "1bv77nhabm33jfaqhpl77jdcbfl7zxz4daphsmqb0pi6z85man7p";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/mboes/choice#readme";
+       description = "A solution to boolean blindness";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "choice_0_2_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "choice";
+       version = "0.2.1";
+       sha256 = "163p6ji6gsr0lgxvldnz0rmcbckfk75wpq0xn1n41fbhxzchr2gi";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/mboes/choice#readme";
        description = "A solution to boolean blindness";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "choose" = callPackage
@@ -40879,6 +41158,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "chronologique" = callPackage
+    ({ mkDerivation, base, hourglass, hspec, QuickCheck, time }:
+     mkDerivation {
+       pname = "chronologique";
+       version = "0.2.1.0";
+       sha256 = "13lrngxfbsfsmqph8slh8zn7hvvihbwzc6cna315kjzhi3a3mwbm";
+       libraryHaskellDepends = [ base hourglass time ];
+       testHaskellDepends = [ base hourglass hspec QuickCheck ];
+       description = "Time to manipulate time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "chronos" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, hashable
      , HUnit, primitive, QuickCheck, test-framework
@@ -41609,6 +41900,8 @@ self: {
        pname = "clash-ghc";
        version = "0.7.2";
        sha256 = "1fjimvj07mc8d8z6i9sl9ifyvcil262p53bz6gap833jrirqd3yh";
+       revision = "1";
+       editedCabalFile = "1np4zs8bqdvzlls8c8zpiwqq91bvx2aiz7qpvza0fzdvc0df2cmj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41638,6 +41931,8 @@ self: {
        pname = "clash-lib";
        version = "0.7.1";
        sha256 = "1mml3f10mdirlihjnbzjh3jjnmvgcqfqs16k22a13m8pd4whcw88";
+       revision = "1";
+       editedCabalFile = "00vdln8qysx9m7br6mcszgkw810dglry6irfs9d24r0vrwfvfrig";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clash-prelude concurrent-supply
          containers data-binary-ieee754 deepseq directory errors fgl
@@ -41674,6 +41969,8 @@ self: {
        pname = "clash-prelude";
        version = "0.11.2";
        sha256 = "1ccbcqkqcq5kyfjfvpkis2z40ishc4yqjjjswfsg92qrklk38wcl";
+       revision = "1";
+       editedCabalFile = "1ckr7vjww2qfbgvqyxdg5j2pzca0nridwh17ydvpsmzchf4xdrqp";
        libraryHaskellDepends = [
          array base constraints data-binary-ieee754 data-default deepseq
          ghc-prim ghc-typelits-extra ghc-typelits-knownnat
@@ -42588,14 +42885,14 @@ self: {
      }:
      mkDerivation {
        pname = "cloudi";
-       version = "1.7.0";
-       sha256 = "0j46jzrvdfxmy1hbb6p9bmf1jhws9s3463dlyrjz86cszv075lv6";
+       version = "1.7.1";
+       sha256 = "12kk359wfkwsc62bb6f0ak5gzkwdw4gmcfmj9ryqrjcc2irlnbk1";
        libraryHaskellDepends = [
          array base binary bytestring containers network time unix zlib
        ];
        homepage = "https://github.com/CloudI/cloudi_api_haskell";
        description = "Haskell CloudI API";
-       license = stdenv.lib.licenses.bsdOriginal;
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -42635,6 +42932,7 @@ self: {
        homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/libs/clr-bindings";
        description = "Glue between clr-host and clr-typed";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clr-host" = callPackage
@@ -42677,6 +42975,7 @@ self: {
        homepage = "https://gitlab.com/tim-m89/clr-haskell";
        description = "Quasiquoters for inline C# and F#";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clr-marshal" = callPackage
@@ -42704,6 +43003,7 @@ self: {
        homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/libs/clr-typed";
        description = "A strongly typed Haskell interface to the CLR type system";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clr-win-linker" = callPackage
@@ -44518,6 +44818,7 @@ self: {
        homepage = "https://github.com/ConferHealth/composite#readme";
        description = "JSON for Vinyl/Frames records";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "composite-aeson-refined" = callPackage
@@ -44530,6 +44831,7 @@ self: {
        homepage = "https://github.com/ConferHealth/composite#readme";
        description = "composite-aeson support for Refined from the refined package";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "composite-base" = callPackage
@@ -44552,6 +44854,7 @@ self: {
        homepage = "https://github.com/ConferHealth/composite#readme";
        description = "Shared utilities for composite-* packages";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "composite-ekg" = callPackage
@@ -44568,6 +44871,7 @@ self: {
        homepage = "https://github.com/ConferHealth/composite#readme";
        description = "EKG Metrics for Vinyl/Frames records";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "composite-opaleye" = callPackage
@@ -44586,6 +44890,7 @@ self: {
        homepage = "https://github.com/ConferHealth/composite#readme";
        description = "Opaleye SQL for Frames records";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "composition" = callPackage
@@ -44889,16 +45194,25 @@ self: {
      }) {};
 
   "concrete-haskell" = callPackage
-    ({ mkDerivation, base, bytestring, containers, hashable, QuickCheck
-     , text, thrift, unordered-containers, vector
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, filepath, hashable, megaparsec, mtl
+     , optparse-applicative, process, QuickCheck, scientific, tar, text
+     , thrift, time, unordered-containers, uuid, vector, zlib
      }:
      mkDerivation {
        pname = "concrete-haskell";
-       version = "0.1.0.4";
-       sha256 = "0azbckg3dqr8fy89m0mmjwa5z8y86jpm9qsk6xxmy2yb4dq49gkg";
+       version = "0.1.0.7";
+       sha256 = "1v076bi2fk6a5sm4bjrxlah8hglbgbr2gcbsh3017h2hkkhl8gdv";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers hashable QuickCheck text thrift
-         unordered-containers vector
+         attoparsec base bytestring containers directory filepath hashable
+         megaparsec mtl process QuickCheck scientific tar text thrift time
+         unordered-containers uuid vector zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring containers directory filepath optparse-applicative
+         process text vector zlib
        ];
        homepage = "https://github.com/hltcoe";
        description = "Library for the Concrete data format";
@@ -44963,14 +45277,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_1_2_0" = callPackage
+  "concurrency_1_1_2_1" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.1.2.0";
-       sha256 = "0k3vyfyq8jlsh0rf3rn4arl1qlcwz7bzxazwaggzxlyhv89vycqx";
+       version = "1.1.2.1";
+       sha256 = "0gadbm9z9qbm208md5f811hz9f2ljw0z9dyldpgklqvic1n8w5xi";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -45022,8 +45336,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-extra";
-       version = "0.7.0.10";
-       sha256 = "04nw39pbfqa4ldymn706ij83hxa07c73r7hy18y5pwpmj05cq9vg";
+       version = "0.7.0.11";
+       sha256 = "0bvfgm26hyix074c36l7cqdq40xx8zzml6v50qdfly04g1bb05m5";
        libraryHaskellDepends = [ base stm unbounded-delays ];
        testHaskellDepends = [
          async base HUnit random stm test-framework test-framework-hunit
@@ -45304,6 +45618,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "conduit_1_2_11" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, exceptions
+     , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
+     , mwc-random, primitive, QuickCheck, resourcet, safe, split
+     , transformers, transformers-base, vector
+     }:
+     mkDerivation {
+       pname = "conduit";
+       version = "1.2.11";
+       sha256 = "1xx8vj2azbzr2skcrpcy02hgnik01i6hcx01h0mjd4fr0hzl4rhb";
+       libraryHaskellDepends = [
+         base exceptions lifted-base mmorph monad-control mtl primitive
+         resourcet transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base containers exceptions hspec mtl QuickCheck resourcet safe
+         split transformers
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion deepseq hspec kan-extensions mwc-random
+         transformers vector
+       ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Streaming data processing library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "conduit-audio" = callPackage
     ({ mkDerivation, base, conduit, vector }:
      mkDerivation {
@@ -45437,38 +45779,6 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-extra";
-       version = "1.1.15";
-       sha256 = "13dvj271bhdaf83px99mlm0pgvc3474cmidh35jj775m1pmjkvvv";
-       revision = "1";
-       editedCabalFile = "0kqnggsn4fqvjh5gadaf8h5sw4hprppx63ihpmz32rymhc48sjcl";
-       libraryHaskellDepends = [
-         async attoparsec base blaze-builder bytestring conduit directory
-         exceptions filepath monad-control network primitive process
-         resourcet stm streaming-commons text transformers transformers-base
-       ];
-       testHaskellDepends = [
-         async attoparsec base blaze-builder bytestring bytestring-builder
-         conduit directory exceptions hspec process QuickCheck resourcet stm
-         streaming-commons text transformers transformers-base
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring bytestring-builder conduit criterion
-         transformers
-       ];
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Batteries included conduit: adapters for common libraries";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit-extra_1_1_16" = callPackage
-    ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
-     , bytestring-builder, conduit, criterion, directory, exceptions
-     , filepath, hspec, monad-control, network, primitive, process
-     , QuickCheck, resourcet, stm, streaming-commons, text, transformers
-     , transformers-base
-     }:
-     mkDerivation {
-       pname = "conduit-extra";
        version = "1.1.16";
        sha256 = "1mgqc34i6ccq5bjkkn943gfa3w0lhddi3am0fd5afnazrnxc2wmx";
        libraryHaskellDepends = [
@@ -45488,7 +45798,6 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Batteries included conduit: adapters for common libraries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-find" = callPackage
@@ -45741,8 +46050,8 @@ self: {
      }:
      mkDerivation {
        pname = "config-schema";
-       version = "0.4.0.0";
-       sha256 = "0pzsaklq1nx4f2jln7iqlimz2xiad10xajjsfx70lyf20hnpq6rj";
+       version = "0.5.0.0";
+       sha256 = "108gjzafzc5hv1vilnxagf65bh2xia2rfwxcjw6axzzhw5lszgli";
        libraryHaskellDepends = [
          base config-value containers free kan-extensions pretty
          semigroupoids text transformers
@@ -45773,8 +46082,8 @@ self: {
     ({ mkDerivation, alex, array, base, happy, pretty, text }:
      mkDerivation {
        pname = "config-value";
-       version = "0.6.2.1";
-       sha256 = "1ilbl2ff0sdk49wi4czqabqk2bkc5ivac5m356y5w8hmmzi03w4y";
+       version = "0.6.3";
+       sha256 = "0c7ghasn06m4mlhk3lg5pxpssbsr4l88ibi6vzvp8ylbqha0b3gn";
        libraryHaskellDepends = [ array base pretty text ];
        libraryToolDepends = [ alex happy ];
        homepage = "https://github.com/glguy/config-value";
@@ -46079,6 +46388,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "console-prompt" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "console-prompt";
+       version = "0.1";
+       sha256 = "07s4p41hjsalbaayxq2j973f3wnk8d7aybvl84fww7sz6mj7kvhw";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/jlamothe/console-prompt";
+       description = "console user prompts";
+       license = stdenv.lib.licenses.lgpl3;
+     }) {};
+
   "console-style" = callPackage
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
@@ -48163,8 +48484,10 @@ self: {
      }:
      mkDerivation {
        pname = "creatur";
-       version = "5.9.14";
-       sha256 = "10ymq9cyavj21k0y7acaa1y0hr8bazvf21ysazfgg0vvip9p43q4";
+       version = "5.9.16";
+       sha256 = "03ipmz55cw6d8d79zv0m7cg8r6izdgy2v50xc8s7hk1sln86qbmx";
+       revision = "1";
+       editedCabalFile = "0vna37j7y2bzvhizizi69gghqqpz32w0aasy9xdaxpwq4y8wc83c";
        libraryHaskellDepends = [
          array base bytestring cereal cond directory exceptions filepath
          gray-extended hdaemonize hsyslog MonadRandom mtl old-locale process
@@ -48383,6 +48706,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "criterion_1_2_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
+     , bytestring, cassava, code-page, containers, deepseq, directory
+     , exceptions, filepath, Glob, HUnit, js-flot, js-jquery
+     , microstache, mtl, mwc-random, optparse-applicative, parsec
+     , QuickCheck, statistics, tasty, tasty-hunit, tasty-quickcheck
+     , text, time, transformers, transformers-compat, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "criterion";
+       version = "1.2.0.0";
+       sha256 = "0rbmfjgxba7qsp79lj7k00yzphmknimqh5r20nw1bc6i1v4civ6f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint base base-compat binary bytestring cassava
+         code-page containers deepseq directory exceptions filepath Glob
+         js-flot js-jquery microstache mtl mwc-random optparse-applicative
+         parsec statistics text time transformers transformers-compat vector
+         vector-algorithms
+       ];
+       executableHaskellDepends = [ base optparse-applicative ];
+       testHaskellDepends = [
+         aeson base bytestring deepseq directory HUnit QuickCheck statistics
+         tasty tasty-hunit tasty-quickcheck vector
+       ];
+       homepage = "http://www.serpentine.com/criterion";
+       description = "Robust, reliable performance measurement and analysis";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "criterion-plus" = callPackage
     ({ mkDerivation, base, criterion, deepseq, HTF, HUnit, loch-th
      , monad-control, mtl, optparse-applicative, placeholders
@@ -48468,12 +48824,11 @@ self: {
      }:
      mkDerivation {
        pname = "crjdt-haskell";
-       version = "0.2.1";
-       sha256 = "0ddlfncbnrnnbkv4cwv058s12jlcafbrd7gxjpyxagby9nyq24qy";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.3.0";
+       sha256 = "1cxfmpvsm4zjaks6afcf7fjcr7k50p9nx2pasah6862j47j4npgc";
+       revision = "1";
+       editedCabalFile = "118xzpnj3mlhag71dhpr0lj35pfxkz5xgykw9wqjyfldqy53p00b";
        libraryHaskellDepends = [ base containers free mtl text ];
-       executableHaskellDepends = [ base ];
        testHaskellDepends = [ base containers hedgehog hspec mtl ];
        homepage = "https://github.com/amarpotghan/crjdt-haskell#readme";
        description = "A Conflict-Free Replicated JSON Datatype for Haskell";
@@ -49820,6 +50175,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cue-sheet_0_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , exceptions, hspec, hspec-megaparsec, megaparsec, mtl, QuickCheck
+     , text
+     }:
+     mkDerivation {
+       pname = "cue-sheet";
+       version = "0.1.1";
+       sha256 = "1h0v7jzxavjs2c50p1z3bfvbn1r29z31qcr17mjmd7a9yskp4yhd";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class exceptions megaparsec
+         mtl QuickCheck text
+       ];
+       testHaskellDepends = [
+         base bytestring exceptions hspec hspec-megaparsec QuickCheck text
+       ];
+       homepage = "https://github.com/mrkkrp/cue-sheet";
+       description = "Support for construction, rendering, and parsing of CUE sheets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cufft" = callPackage
     ({ mkDerivation, base, c2hs, Cabal, cuda, directory, filepath
      , template-haskell
@@ -50132,8 +50509,8 @@ self: {
      }:
      mkDerivation {
        pname = "d-bus";
-       version = "0.1.6";
-       sha256 = "0qrvpjl7hj6npq1h96c0fsakv2yrsqm3qr76l193vnkyd4i3s8hn";
+       version = "0.1.7";
+       sha256 = "00bd001hxh68cwrv2597qg8rpcdz0n96nn31qkqgyhbc4lni72af";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -50920,8 +51297,8 @@ self: {
     ({ mkDerivation, base, containers, hspec, QuickCheck }:
      mkDerivation {
        pname = "data-check";
-       version = "0.1.0";
-       sha256 = "1rwspik0l5j7ymj7xgs3xa9y5nwvnyj7qkf9b7pax7vii4vd4z2q";
+       version = "0.1.1";
+       sha256 = "00di2szqavzmbx4y5b6dq7qalm5pgalb19lfqcdawd5n61fj2gq1";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/mrkkrp/data-check";
@@ -51797,6 +52174,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "data-msgpack_0_0_10" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, criterion
+     , data-binary-ieee754, deepseq, groom, hashable, hspec, QuickCheck
+     , text, unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "data-msgpack";
+       version = "0.0.10";
+       sha256 = "0vpv4l6phsa9b3l0wxk798w9kzkc454v2kk554rcmz94wq3k6n61";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring containers data-binary-ieee754 deepseq
+         hashable QuickCheck text unordered-containers vector void
+       ];
+       executableHaskellDepends = [ base bytestring groom ];
+       testHaskellDepends = [
+         base bytestring containers hashable hspec QuickCheck text
+         unordered-containers vector void
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq QuickCheck
+       ];
+       homepage = "http://msgpack.org/";
+       description = "A Haskell implementation of MessagePack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "data-msgpack-types" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, hashable
      , QuickCheck, text, unordered-containers, vector, void
@@ -53418,6 +53824,7 @@ self: {
        homepage = "https://debug-me.branchable.com/";
        description = "secure remote debugging";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "debug-time" = callPackage
@@ -53859,18 +54266,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "dejafu_0_6_0_0" = callPackage
+  "dejafu_0_7_0_1" = callPackage
     ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
-     , monad-loops, mtl, random, ref-fd, semigroups, transformers
-     , transformers-base
+     , leancheck, monad-loops, mtl, random, ref-fd, semigroups
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "0.6.0.0";
-       sha256 = "07l1i8kfmblyc76qgw1db339b9w8nrgf5h5c38nnr79cbjdz9n60";
+       version = "0.7.0.1";
+       sha256 = "0cdkf5qgcwy4sapvingi0s37s0k9d5v8crskaj5wjy1pwl9vs8kq";
        libraryHaskellDepends = [
-         base concurrency containers deepseq exceptions monad-loops mtl
-         random ref-fd semigroups transformers transformers-base
+         base concurrency containers deepseq exceptions leancheck
+         monad-loops mtl random ref-fd semigroups transformers
+         transformers-base
        ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Systematic testing for Haskell concurrency";
@@ -54145,11 +54553,12 @@ self: {
      }:
      mkDerivation {
        pname = "dependent-sum-template";
-       version = "0.0.0.5";
-       sha256 = "0r87c0m2cjgvp62r84ki7nkaimdyjsv6l62sc8xvrn55ld6mhgxj";
+       version = "0.0.0.6";
+       sha256 = "1bcipqkkgj1afi2ax726gbvp9haqghvm5016rawx3jj9364v8k4r";
        libraryHaskellDepends = [
          base dependent-sum template-haskell th-extras
        ];
+       testHaskellDepends = [ base dependent-sum ];
        homepage = "/dev/null";
        description = "Template Haskell code to generate instances of classes in dependent-sum package";
        license = stdenv.lib.licenses.publicDomain;
@@ -54704,6 +55113,7 @@ self: {
        homepage = "https://github.com/anfelor/dhall-check#readme";
        description = "Check all dhall files in a project";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dhall-json" = callPackage
@@ -54746,6 +55156,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhcp-lease-parser" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, chronos, ip, tasty
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "dhcp-lease-parser";
+       version = "0.1";
+       sha256 = "00h40vr2x77ajv1kks9gdg7a6nmrykc8pjf13zs1bq3pvgygqacs";
+       libraryHaskellDepends = [
+         attoparsec base bytestring chronos ip text
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring chronos ip tasty tasty-hunit
+       ];
+       homepage = "https://github.com/andrewthad/dhcp-lease-parser#readme";
+       description = "Parse a DHCP lease file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "di" = callPackage
     ({ mkDerivation, base, stm, text, time, transformers }:
      mkDerivation {
@@ -54948,6 +55377,8 @@ self: {
        pname = "diagrams-graphviz";
        version = "1.4";
        sha256 = "1lb1r8681c2dypm420102grnkxkwjqzgv30gljnq2dnpm6m42fj8";
+       revision = "1";
+       editedCabalFile = "0x1nsbp8np317qx96civ9bgknqhvjff7afcj24bg8ql56f5sd2cl";
        libraryHaskellDepends = [
          base containers diagrams-lib fgl graphviz split
        ];
@@ -55040,23 +55471,21 @@ self: {
      }) {};
 
   "diagrams-lib" = callPackage
-    ({ mkDerivation, active, adjunctions, array, base, cereal, colour
-     , containers, criterion, data-default-class, deepseq, diagrams-core
-     , diagrams-solve, directory, distributive, dual-tree, exceptions
-     , filepath, fingertree, fsnotify, hashable, intervals, JuicyPixels
-     , lens, linear, monoid-extras, mtl, numeric-extras
-     , optparse-applicative, process, profunctors, semigroups, tagged
-     , tasty, tasty-hunit, tasty-quickcheck, text, transformers
-     , unordered-containers
+    ({ mkDerivation, active, adjunctions, array, base, bytestring
+     , cereal, colour, containers, criterion, data-default-class
+     , deepseq, diagrams-core, diagrams-solve, directory, distributive
+     , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable
+     , intervals, JuicyPixels, lens, linear, monoid-extras, mtl
+     , numeric-extras, optparse-applicative, process, profunctors
+     , semigroups, tagged, tasty, tasty-hunit, tasty-quickcheck, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "diagrams-lib";
-       version = "1.4.0.1";
-       sha256 = "1iidlcqb001w2a0a4wnxv1qwybjv23qjx12k8a6hairhr28bah2i";
-       revision = "1";
-       editedCabalFile = "12jyrrfsxz8mmjf55m7r53vinam88g1rm430ybldldfv7b6sp6dh";
+       version = "1.4.1";
+       sha256 = "0x7v0j27ydizb6lw89q7wilalzwyl545nqdwkxwnzg0fdnnhkz5w";
        libraryHaskellDepends = [
-         active adjunctions array base cereal colour containers
+         active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
          distributive dual-tree exceptions filepath fingertree fsnotify
          hashable intervals JuicyPixels lens linear monoid-extras mtl
@@ -55073,6 +55502,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-lib_1_4_1_1" = callPackage
+    ({ mkDerivation, active, adjunctions, array, base, bytestring
+     , cereal, colour, containers, criterion, data-default-class
+     , deepseq, diagrams-core, diagrams-solve, directory, distributive
+     , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable
+     , intervals, JuicyPixels, lens, linear, monoid-extras, mtl
+     , numeric-extras, optparse-applicative, process, profunctors
+     , semigroups, tagged, tasty, tasty-hunit, tasty-quickcheck, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "diagrams-lib";
+       version = "1.4.1.1";
+       sha256 = "1sgpmxs8n05bl9cq4fmbgwyqra5kr69di2ngwlc2vqf1fpymis9a";
+       libraryHaskellDepends = [
+         active adjunctions array base bytestring cereal colour containers
+         data-default-class diagrams-core diagrams-solve directory
+         distributive dual-tree exceptions filepath fingertree fsnotify
+         hashable intervals JuicyPixels lens linear monoid-extras mtl
+         optparse-applicative process profunctors semigroups tagged text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base deepseq diagrams-solve distributive lens numeric-extras tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion diagrams-core ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Embedded domain-specific language for declarative graphics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-pandoc" = callPackage
     ({ mkDerivation, base, diagrams-builder, diagrams-cairo
      , diagrams-lib, directory, filepath, linear, optparse-applicative
@@ -55414,7 +55876,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dictionaries_0_2_0_1" = callPackage
+  "dictionaries_0_2_0_2" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, containers
      , criterion, data-default, deepseq, directory, exceptions, filepath
      , hspec, QuickCheck, random, random-shuffle, tagged, text, time
@@ -55422,8 +55884,8 @@ self: {
      }:
      mkDerivation {
        pname = "dictionaries";
-       version = "0.2.0.1";
-       sha256 = "0jvyhx2mgw8fiwckj5bjljaisxzqhy0sa7y8cvxjbxp8darbjx0a";
+       version = "0.2.0.2";
+       sha256 = "0zzzlk2479kk321f06aw5j5fkrza7nmg41f886b47bzd6mzmmnq8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -56276,8 +56738,8 @@ self: {
      }:
      mkDerivation {
        pname = "dirstream";
-       version = "1.0.2";
-       sha256 = "0xgsf15hz08rh49kz6l25hsx1jcvc13p3h8j2fl0h8xvzxnihppz";
+       version = "1.0.3";
+       sha256 = "1yga8qzmarskjlnz7wnkrjiv438m2yswz640bcw8dawwqk8xf1x4";
        libraryHaskellDepends = [
          base directory pipes pipes-safe system-fileio system-filepath unix
        ];
@@ -60320,8 +60782,8 @@ self: {
        pname = "either";
        version = "4.4.1.1";
        sha256 = "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh";
-       revision = "1";
-       editedCabalFile = "1ccxjfp1vsnrq9wyd5jrz7adk9rwmrlvppsc8ad1dpjy5zsayxij";
+       revision = "2";
+       editedCabalFile = "1n7792mcrvfh31qrbj8mpnx372s03kz83mypj7l4fm5h6zi4a3hs";
        libraryHaskellDepends = [
          base bifunctors exceptions free mmorph monad-control MonadRandom
          mtl profunctors semigroupoids semigroups transformers
@@ -60735,6 +61197,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "elm-bridge_0_4_1" = callPackage
+    ({ mkDerivation, aeson, base, containers, hspec, QuickCheck
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "elm-bridge";
+       version = "0.4.1";
+       sha256 = "1wp813l6bdw5x7vpiq098v1gbxzvv3129n2rl4div9mrj53a3i2l";
+       revision = "1";
+       editedCabalFile = "05kk6lsh10ligdgj4dw0iyhvv0blnrcvmk94hn27qq70bpv8xcqz";
+       libraryHaskellDepends = [ aeson base template-haskell ];
+       testHaskellDepends = [
+         aeson base containers hspec QuickCheck text
+       ];
+       homepage = "https://github.com/agrafix/elm-bridge";
+       description = "Derive Elm types and Json code from Haskell types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "elm-build-lib" = callPackage
     ({ mkDerivation, base, bytestring, containers, elm-compiler
      , elm-core-sources, file-embed, template-haskell
@@ -61595,11 +62077,16 @@ self: {
      }) {};
 
   "entropy" = callPackage
-    ({ mkDerivation, base, bytestring, unix }:
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , process, unix
+     }:
      mkDerivation {
        pname = "entropy";
        version = "0.3.7";
        sha256 = "1vzg9fi597dbrcbjsr71y47rvmhiih7lg5rjnb297fzdlbmj1w0z";
+       revision = "1";
+       editedCabalFile = "01lyh4cbpqlcj1y8mnkw6vk4vid5rzqg1vcf9kwxwd88zj86cgjg";
+       setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base bytestring unix ];
        homepage = "https://github.com/TomMD/entropy";
        description = "A platform independent entropy source";
@@ -61657,6 +62144,7 @@ self: {
        homepage = "http://github.com/sboosali/enumerate-function#readme";
        description = "simple package for inverting functions and testing totality, via brute enumeration of the domain";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "enumeration" = callPackage
@@ -62523,10 +63011,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "2.5.1";
-       sha256 = "1nc71jaqc8i5rhgv3kshgrg2ya26qwyfgy6q50dx9q5lqj25r9vn";
-       revision = "1";
-       editedCabalFile = "1f0h4x07j6gz1d3fizys5lh9r6b4nmfav23x39b6jzbywm1vq4nn";
+       version = "2.5.2";
+       sha256 = "1hbwb6vzd5ykqg6v6f1jmbpbdin1hpjgghgnz1c986d9n6skm6wf";
        libraryHaskellDepends = [
          base blaze-html bytestring conduit monad-logger persistent
          resourcet tagged text transformers unordered-containers
@@ -62705,7 +63191,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ether_0_5_0_0" = callPackage
+  "ether_0_5_1_0" = callPackage
     ({ mkDerivation, base, criterion, deepseq, exceptions, ghc-prim
      , lens, mmorph, monad-control, mtl, QuickCheck, reflection, tagged
      , tasty, tasty-quickcheck, template-haskell, transformers
@@ -62713,10 +63199,8 @@ self: {
      }:
      mkDerivation {
        pname = "ether";
-       version = "0.5.0.0";
-       sha256 = "0ypji3blmdha1lcsw09985hbqys793kj4c2m0vlnpr3xd4ypvqnf";
-       revision = "1";
-       editedCabalFile = "0l3bsf1l2kkni9rsdl45wb8w9jlfpg24mxmsqia00k2lbry573m5";
+       version = "0.5.1.0";
+       sha256 = "1180l4z2cdgc6zj9pcr2c0lj28ka85kbk8sxd42fis65k2ahr61n";
        libraryHaskellDepends = [
          base exceptions mmorph monad-control mtl reflection tagged
          template-haskell transformers transformers-base transformers-lift
@@ -63156,6 +63640,7 @@ self: {
        homepage = "https://github.com/jdreaver/eventful#readme";
        description = "Library for eventful DynamoDB event stores";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eventful-memory" = callPackage
@@ -63199,6 +63684,7 @@ self: {
        homepage = "https://github.com/jdreaver/eventful#readme";
        description = "Postgres implementations for eventful";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "eventful-sql-common" = callPackage
@@ -64039,8 +64525,8 @@ self: {
     ({ mkDerivation, base, deepseq, transformers }:
      mkDerivation {
        pname = "explicit-exception";
-       version = "0.1.8";
-       sha256 = "0vyi9k0rx083qs3yizcm89pvp38823akbrkr43w3ng6vh4vpmvkz";
+       version = "0.1.9";
+       sha256 = "1kxx42kzm3r0mji7756yblpr7ys3lhx937jixgm8q1zsyg36m2hz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base deepseq transformers ];
@@ -64943,6 +65429,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "fastparser" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, containers
+     , microlens, thyme, vector-space
+     }:
+     mkDerivation {
+       pname = "fastparser";
+       version = "0.3.0";
+       sha256 = "1dg7nsyn2qrf37x1512kzxhg2ldwkfngsy0jc4y2szd37i4iqqb4";
+       revision = "1";
+       editedCabalFile = "1qg6bbar66qxhnh3mdv41m9zrvggwnjszzr42z9x4gybx6anqzfi";
+       libraryHaskellDepends = [
+         base bytestring bytestring-lexing containers microlens thyme
+         vector-space
+       ];
+       homepage = "https://github.com/bartavelle/fastparser#readme";
+       description = "A fast, but bare bones, bytestring parser combinators library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fastpbkdf2" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, criterion
      , cryptonite, openssl, pbkdf, tasty, tasty-hunit
@@ -65006,8 +65511,8 @@ self: {
        pname = "fay";
        version = "0.23.1.16";
        sha256 = "0r4ac76mn7dykva0dz6ar2zfcij2kiz8kjfcywpgdg40g75zhvn4";
-       revision = "6";
-       editedCabalFile = "1zss528kggb1072lv68zh13l8a2n1bmrv6ga7dhmchnd6faz9411";
+       revision = "7";
+       editedCabalFile = "07iqrpg2hga3n8m08aq2zizvq27v8hyqzvx5sfz497whjxr9h358";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65301,8 +65806,8 @@ self: {
        pname = "fclabels";
        version = "2.0.3.2";
        sha256 = "1c42f420bih3azhis9hhcdk6ijm10wp9rqa2kh763g68qgzq6pad";
-       revision = "2";
-       editedCabalFile = "0fjxcs8c5b01mz9h5jfihvnxdh486mjxqr7fpzz53r1zxh880gcr";
+       revision = "3";
+       editedCabalFile = "19gd2jwjpfrmq80gpjk05djhn42vvj88fgka5yr7yaq6mfx103by";
        libraryHaskellDepends = [ base mtl template-haskell transformers ];
        testHaskellDepends = [
          base HUnit mtl template-haskell transformers
@@ -65371,6 +65876,41 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "feature-flipper" = callPackage
+    ({ mkDerivation, base, containers, hspec, mtl, text }:
+     mkDerivation {
+       pname = "feature-flipper";
+       version = "0.2.0.1";
+       sha256 = "16d9cx3cm5ljbi6f5xmnm654hfi8kkw5wrv077k0zv41wzkpn5md";
+       libraryHaskellDepends = [ base containers mtl text ];
+       testHaskellDepends = [ base containers hspec mtl ];
+       homepage = "https://github.com/toddmohney/flipper#readme";
+       description = "A minimally obtrusive feature flag library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "feature-flipper-postgres" = callPackage
+    ({ mkDerivation, base, bytestring, containers, feature-flipper
+     , hspec, monad-logger, mtl, persistent, persistent-postgresql
+     , persistent-template, text, time
+     }:
+     mkDerivation {
+       pname = "feature-flipper-postgres";
+       version = "0.1.0.1";
+       sha256 = "1mhwdqpy3l0dx7cwmxi67yp9mp223ang5vpawsh27ms0p8qbgp95";
+       libraryHaskellDepends = [
+         base bytestring containers feature-flipper monad-logger mtl
+         persistent persistent-postgresql persistent-template text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers feature-flipper hspec monad-logger mtl
+         persistent persistent-postgresql
+       ];
+       homepage = "https://github.com/toddmohney/flipper-postgres#readme";
+       description = "A minimally obtrusive feature flag library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "fec" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -66374,6 +66914,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "final-pretty-printer" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, exceptions, mtl
+     , temporary, text
+     }:
+     mkDerivation {
+       pname = "final-pretty-printer";
+       version = "0.1.0.0";
+       sha256 = "0p0g73nq7154msvzazkn79fjnkzd939chgmxqdi9xbcpq47zgac2";
+       libraryHaskellDepends = [
+         ansi-terminal base containers exceptions mtl temporary text
+       ];
+       description = "Extensible pretty printing with semantic annotations and proportional fonts";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "find-clumpiness" = callPackage
     ({ mkDerivation, aeson, base, bytestring, clumpiness, containers
      , optparse-applicative, text, text-show, tree-fun
@@ -67026,10 +67581,8 @@ self: {
      }:
      mkDerivation {
        pname = "flac";
-       version = "0.1.1";
-       sha256 = "0gl707qcxyzc8cbqsajhxm7j648iv23mpfdayyfc7pwvndy2idsq";
-       revision = "2";
-       editedCabalFile = "1l0mldkciqx5p3crzsyxn174znaygx56drqsmvrydp81gn2mv99a";
+       version = "0.1.2";
+       sha256 = "0adc88h5dmazf9m2xah0qkcav3pm0l3jiy8wbg9fxjv1qpgv74jn";
        libraryHaskellDepends = [
          base bytestring containers data-default-class directory exceptions
          filepath mtl text transformers vector wave
@@ -67051,10 +67604,8 @@ self: {
      }:
      mkDerivation {
        pname = "flac-picture";
-       version = "0.1.0";
-       sha256 = "14rjzczbbzlhfcndrsnp3c2hv44jwwrz4073d4m50i5vrvwxydiw";
-       revision = "1";
-       editedCabalFile = "006dailwwrgq7pi3rcd5m0ly7c6568hyr5q45srhaa31pqpz7zxa";
+       version = "0.1.1";
+       sha256 = "1kn1zvv5izinyidmxij7zqml94a8q52bbm2icg7704sj906gh71w";
        libraryHaskellDepends = [ base bytestring flac JuicyPixels ];
        testHaskellDepends = [
          base bytestring data-default-class directory flac hspec JuicyPixels
@@ -67608,8 +68159,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.1.5";
-       sha256 = "1w257l6cva99558jrgjn0a78bcrqzfkjblgya72v2lpyfz3gvkbl";
+       version = "0.5.2.4";
+       sha256 = "196hfy2sw2ikgfnlwycmyn9bm8aykaqh05c67bjr03cgi42rnixk";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -67904,6 +68455,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "foldl_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, containers
+     , contravariant, criterion, hashable, mwc-random, primitive
+     , profunctors, text, transformers, unordered-containers, vector
+     , vector-builder
+     }:
+     mkDerivation {
+       pname = "foldl";
+       version = "1.3.0";
+       sha256 = "1rinr1a18pjwlrk21d9sfg0f954cwdc3bk9jl276ypcf8ydy3yin";
+       libraryHaskellDepends = [
+         base bytestring comonad containers contravariant hashable
+         mwc-random primitive profunctors text transformers
+         unordered-containers vector vector-builder
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Composable, streaming, and efficient left folds";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foldl-incremental" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
      , foldl, histogram-fill, mwc-random, pipes, QuickCheck, tasty
@@ -67934,8 +68506,8 @@ self: {
      }:
      mkDerivation {
        pname = "foldl-statistics";
-       version = "0.1.4.2";
-       sha256 = "1q4bbi6v9x4wfgpbb38v1xjlssqb2fzr1xx6369m4h7z6rnnvyhw";
+       version = "0.1.4.4";
+       sha256 = "1lihrkc3k3h8mdkbvlwvq0xf9cbhszy50ykshg7yv1y4zdcwqk0q";
        libraryHaskellDepends = [
          base foldl math-functions profunctors semigroups
        ];
@@ -67952,31 +68524,6 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
-  "foldl-statistics_0_1_4_3" = callPackage
-    ({ mkDerivation, base, criterion, foldl, math-functions, mwc-random
-     , profunctors, quickcheck-instances, semigroups, statistics, tasty
-     , tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "foldl-statistics";
-       version = "0.1.4.3";
-       sha256 = "0f8gkdy3zwkj7cqmydgll3r18f104n5bpryd6fsr2hqn9cdmf463";
-       libraryHaskellDepends = [
-         base foldl math-functions profunctors semigroups
-       ];
-       testHaskellDepends = [
-         base foldl profunctors quickcheck-instances semigroups statistics
-         tasty tasty-quickcheck vector
-       ];
-       benchmarkHaskellDepends = [
-         base criterion foldl mwc-random statistics vector
-       ];
-       homepage = "http://github.com/Data61/foldl-statistics#readme";
-       description = "Statistical functions from the statistics package implemented as Folds";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "foldl-transduce" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, comonad, containers
      , criterion, doctest, foldl, free, lens-family-core
@@ -68584,6 +69131,35 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "fortran-src_0_1_0_6" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , directory, fgl, filepath, GenericPretty, happy, hspec, mtl
+     , pretty, text, uniplate
+     }:
+     mkDerivation {
+       pname = "fortran-src";
+       version = "0.1.0.6";
+       sha256 = "1rmjcbhfh0j67ffrqg0qp4qsz7bv49k3iw40qy0kmwiivhkgbaxl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers directory fgl filepath
+         GenericPretty mtl pretty text uniplate
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [
+         array base binary bytestring containers directory fgl filepath
+         GenericPretty mtl pretty text uniplate
+       ];
+       testHaskellDepends = [
+         array base binary 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
@@ -68673,12 +69249,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "foundation_0_0_10" = callPackage
+    ({ mkDerivation, base, criterion, ghc-prim, mtl, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "foundation";
+       version = "0.0.10";
+       sha256 = "0ihrdgsn4ivpyhck0qqcfqx2xza1spqv81sd071i151yfyvl1a5p";
+       libraryHaskellDepends = [ base ghc-prim ];
+       testHaskellDepends = [
+         base mtl QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/haskell-foundation/foundation";
+       description = "Alternative prelude with batteries and no dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foundation-edge" = callPackage
     ({ mkDerivation, bytestring, foundation, text }:
      mkDerivation {
        pname = "foundation-edge";
        version = "0.0.2";
        sha256 = "1ddcw4a8gmlcb6pgy2sysp6inpm19i7j1cg9ix3z5fwkpxg2kr71";
+       revision = "1";
+       editedCabalFile = "01w5bjjavfq76s43c2f0wbna6rn6yilivsq7s8ws5i1kqav9yffx";
        libraryHaskellDepends = [ bytestring foundation text ];
        homepage = "https://github.com/haskell-foundation/foundation-edge";
        description = "foundation's edge with the conventional set of packages";
@@ -69238,7 +69835,7 @@ self: {
        homepage = "https://github.com/chrisdone/freenect";
        description = "Interface to the Kinect device";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) freenect; freenect_sync = null; 
          libfreenect = null;};
 
@@ -69264,6 +69861,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "freer-converse" = callPackage
+    ({ mkDerivation, base, freer-effects, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "freer-converse";
+       version = "0.1.0.0";
+       sha256 = "00a9apnr6kpg29yi3nfdfqjdbyld1fj2w3dkpv3xf4z8l00lflxj";
+       libraryHaskellDepends = [ base freer-effects text ];
+       testHaskellDepends = [
+         base freer-effects tasty tasty-hunit tasty-quickcheck text
+       ];
+       description = "Handle effects conversely using monadic conversation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "freer-effects" = callPackage
     ({ mkDerivation, base, criterion, free, mtl, QuickCheck, tasty
      , tasty-hunit, tasty-quickcheck
@@ -69649,6 +70262,7 @@ self: {
        libraryHaskellDepends = [ base hint ];
        description = "csv parser for fsh";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fsharp" = callPackage
@@ -71304,8 +71918,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "generic-records";
-       version = "0.1.0.0";
-       sha256 = "0m14fb687crwg6bsfrharcgqqxk60h7yzg9rgjvl0xjk5w6b0dri";
+       version = "0.2.0.0";
+       sha256 = "0xga8vm89xjgzmnz5032kqyq1q8nhbf01n55xjgda4kfjzkx1yr0";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/kcsongor/generic-records";
        description = "Magic record operations using generics";
@@ -71487,6 +72101,7 @@ self: {
        homepage = "https://github.com/cjdev/genesis#readme";
        description = "Opinionated bootstrapping for Haskell web services";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genesis-test" = callPackage
@@ -71510,6 +72125,7 @@ self: {
        homepage = "https://github.com/cjdev/genesis#readme";
        description = "Opinionated bootstrapping for Haskell web services";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genetics" = callPackage
@@ -71887,14 +72503,16 @@ self: {
      }) {};
 
   "genvalidity-time" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec, time
-     , validity-time
+    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
+     , QuickCheck, time, validity-time
      }:
      mkDerivation {
        pname = "genvalidity-time";
-       version = "0.0.0.1";
-       sha256 = "10m0nmjrsrqnf18ippcrc4dsvcicyr3w39hfwckhi6w9basbmbxj";
-       libraryHaskellDepends = [ base genvalidity time validity-time ];
+       version = "0.0.0.2";
+       sha256 = "0fck7f6ipizd05v56kgmsbkqr8nkxzb18kv1wmw9n7n6mdimjqv0";
+       libraryHaskellDepends = [
+         base genvalidity QuickCheck time validity-time
+       ];
        testHaskellDepends = [ base genvalidity-hspec hspec time ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "GenValidity support for time";
@@ -72374,6 +72992,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-events_0_6_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers }:
+     mkDerivation {
+       pname = "ghc-events";
+       version = "0.6.0";
+       sha256 = "0s87rrap5j9xca8l1x6gi8nmx3w6fn4avckn1i9hx4d1v7fajz97";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers
+       ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       description = "Library and tool for parsing .eventlog files from GHC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-events-analyze" = callPackage
     ({ mkDerivation, base, containers, diagrams-lib, diagrams-svg
      , filepath, ghc-events, lens, mtl, optparse-applicative, parsec
@@ -72444,6 +73080,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-exactprint_0_5_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Diff, directory
+     , filemanip, filepath, free, ghc, ghc-boot, ghc-paths, HUnit, mtl
+     , silently, syb
+     }:
+     mkDerivation {
+       pname = "ghc-exactprint";
+       version = "0.5.4.0";
+       sha256 = "1kpfk81iir3dn4420lczwal9bhs787z24g05vdd0g44jcp07d6nk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers directory filepath free ghc ghc-boot
+         ghc-paths mtl syb
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff directory filemanip filepath ghc
+         ghc-boot ghc-paths HUnit mtl silently syb
+       ];
+       description = "ExactPrint for GHC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-gc-tune" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -73233,8 +73893,8 @@ self: {
     ({ mkDerivation, base, ghcjs-dom-jsaddle, text, transformers }:
      mkDerivation {
        pname = "ghcjs-dom";
-       version = "0.8.0.0";
-       sha256 = "0sh20vnh9yfaafdy9w24j9izj39lmf4bnc7cxjdxngwc1kp51x38";
+       version = "0.9.0.0";
+       sha256 = "0z55qfvnyq5z22ynmnrxdymq6jgcs7ps04bznqna4fbcvlqy0zm9";
        libraryHaskellDepends = [
          base ghcjs-dom-jsaddle text transformers
        ];
@@ -73268,8 +73928,8 @@ self: {
     ({ mkDerivation, jsaddle-dom }:
      mkDerivation {
        pname = "ghcjs-dom-jsaddle";
-       version = "0.8.0.0";
-       sha256 = "0k3pb1chrip60yymdj80wb10kj0dh8hgp85qyn58q37fnb53w04a";
+       version = "0.9.0.0";
+       sha256 = "0ghk8nvfhwm5zwwiws2621gk08x73w11v0cab5nsdpyz1qn0dl5j";
        libraryHaskellDepends = [ jsaddle-dom ];
        doHaddock = false;
        description = "DOM library that supports both GHCJS and GHC using jsaddle";
@@ -73281,8 +73941,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "ghcjs-dom-jsffi";
-       version = "0.8.0.0";
-       sha256 = "1qpkgv67nkmnhd9zwfb5cynsnk0wlrgrqzgdlq8i9q2c16pwh7sw";
+       version = "0.9.0.0";
+       sha256 = "1q04gibg5jlqs287vwig43bxyi9gpy951mfpmv17qky8b50sxkmc";
        description = "DOM library using JSFFI and GHCJS";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -73699,8 +74359,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstbase";
-       version = "1.0.12";
-       sha256 = "09fzs82d62gwmfb94jrqxy1rjkylb8n6vlzmnfsm2wjnrbfbadsq";
+       version = "1.0.13";
+       sha256 = "1s3x30d65yl908hwy67mb9a7c55lrypiaxjq13j7fhl99clppy6b";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst haskell-gi
@@ -73714,6 +74374,49 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
 
+  "gi-gstpbutils" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, gi-gst, gi-gstaudio, gi-gsttag, gi-gstvideo
+     , gstreamer-pbutils, haskell-gi, haskell-gi-base, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gi-gstpbutils";
+       version = "1.0.12";
+       sha256 = "1skbvijcnjd2nqic2q2ggqfbz1amrxpy7gkbmvsgv4qzxgywsyv3";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-glib gi-gobject gi-gst gi-gstaudio
+         gi-gsttag gi-gstvideo haskell-gi haskell-gi-base text transformers
+       ];
+       libraryPkgconfigDepends = [ gstreamer-pbutils ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "GStreamer Plugins Base Utils bindings";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {gstreamer-pbutils = null;};
+
+  "gi-gsttag" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, gi-gst, gi-gstbase, gstreamer-tag, haskell-gi
+     , haskell-gi-base, text, transformers
+     }:
+     mkDerivation {
+       pname = "gi-gsttag";
+       version = "1.0.12";
+       sha256 = "1xn4aav9gz08wakgsspm385iv7gvd9v1xkisgnl64lwlgah7rkh2";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
+         haskell-gi haskell-gi-base text transformers
+       ];
+       libraryPkgconfigDepends = [ gstreamer-tag ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "GStreamer Tag bindings";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {gstreamer-tag = null;};
+
   "gi-gstvideo" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
      , gi-gobject, gi-gst, gi-gstbase, gst-plugins-base, haskell-gi
@@ -73759,6 +74462,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {gtk3 = pkgs.gnome3.gtk;};
 
+  "gi-gtk_3_0_15" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
+     , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject
+     , gi-pango, gtk3, haskell-gi, haskell-gi-base, text, transformers
+     }:
+     mkDerivation {
+       pname = "gi-gtk";
+       version = "3.0.15";
+       sha256 = "176hvvrl2w71dy096irazr83v07qd8nixl6gsihn2i9caaxn4scb";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
+         gi-gio gi-glib gi-gobject gi-pango haskell-gi haskell-gi-base text
+         transformers
+       ];
+       libraryPkgconfigDepends = [ gtk3 ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "Gtk bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {gtk3 = pkgs.gnome3.gtk;};
+
   "gi-gtk-hs" = callPackage
     ({ mkDerivation, base, base-compat, containers, gi-gdk
      , gi-gdkpixbuf, gi-glib, gi-gobject, gi-gtk, haskell-gi-base, mtl
@@ -73907,7 +74633,7 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "OSTree bindings";
        license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) ostree;};
 
   "gi-pango" = callPackage
@@ -74183,26 +74909,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "ginger_0_5_1_2" = callPackage
+  "ginger_0_5_1_3" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, filepath
      , http-types, mtl, parsec, safe, scientific, tasty, tasty-hunit
      , tasty-quickcheck, text, time, transformers, unordered-containers
-     , utf8-string, vector
+     , utf8-string, vector, wryte
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.5.1.2";
-       sha256 = "0xr0r3wwyhksa9b6qg39akd2kqgwdqpc21sn81yj422lw0j79szn";
+       version = "0.5.1.3";
+       sha256 = "06dywl7wi2qy2apc9gwcf5j9mxckyjbjpqddqdqgnj47wbssrmiz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring data-default filepath http-types mtl parsec
          safe scientific text time transformers unordered-containers
-         utf8-string vector
+         utf8-string vector wryte
        ];
        executableHaskellDepends = [
          aeson base bytestring data-default text transformers
-         unordered-containers
+         unordered-containers wryte
        ];
        testHaskellDepends = [
          aeson base bytestring data-default mtl tasty tasty-hunit
@@ -75712,8 +76438,8 @@ self: {
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.21";
-       sha256 = "1bvilflgsdlyrxq0q88nz8c3lz7fhda05kz3w0bc400jgp9jfb55";
+       version = "2.22";
+       sha256 = "02kfxarddlb7yjj17slvn28pz49m27l7ag06milxjg0k157dxkpi";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -76330,8 +77056,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnss-converters";
-       version = "0.2.8";
-       sha256 = "0n0p31n3mivk5wsfaa6805ybjn7d7jli5vdpmap3p8f2ld48ina7";
+       version = "0.2.9";
+       sha256 = "083simwpm3d9jk1iaymb2sbkaa98yxg3ngg0rmvl8vk015p7hcxr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79375,6 +80101,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "google-oauth2-jwt_0_2_2" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, HsOpenSSL
+     , RSA, text, unix-time
+     }:
+     mkDerivation {
+       pname = "google-oauth2-jwt";
+       version = "0.2.2";
+       sha256 = "0alvq0sxmzi1mxc7bahwxydbgmhp8hva0w8p9h6cb1fh2vam5p1q";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring HsOpenSSL RSA text unix-time
+       ];
+       homepage = "https://github.com/MichelBoucey/google-oauth2-jwt";
+       description = "Get a signed JWT for Google Service Accounts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "google-search" = callPackage
     ({ mkDerivation, base, free, nats, text, time }:
      mkDerivation {
@@ -79909,6 +80652,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "grammatical-parsers" = callPackage
+    ({ mkDerivation, base, checkers, containers, criterion, deepseq
+     , doctest, monoid-subclasses, parsers, QuickCheck, rank2classes
+     , tasty, tasty-quickcheck, testing-feat, text, transformers
+     }:
+     mkDerivation {
+       pname = "grammatical-parsers";
+       version = "0.1";
+       sha256 = "0bk85y27mbbxq2rp9f68ym2f1s2l36d126hahy25svdiqcq6s1ss";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers monoid-subclasses parsers rank2classes transformers
+       ];
+       executableHaskellDepends = [
+         base containers monoid-subclasses rank2classes
+       ];
+       testHaskellDepends = [
+         base checkers doctest monoid-subclasses parsers QuickCheck
+         rank2classes tasty tasty-quickcheck testing-feat
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion deepseq monoid-subclasses rank2classes
+         text
+       ];
+       homepage = "https://github.com/blamario/grampa/tree/master/grammatical-parsers";
+       description = "parsers that can combine into grammars";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "grapefruit-examples" = callPackage
     ({ mkDerivation, base, colour, containers, fraction, grapefruit-frp
      , grapefruit-records, grapefruit-ui
@@ -80055,10 +80828,8 @@ self: {
     ({ mkDerivation, base, base-unicode-symbols, containers, mtl }:
      mkDerivation {
        pname = "graph-rewriting";
-       version = "0.7.9";
-       sha256 = "09cfx9vz34623rpl903v4fmb59n0bymlcy8ilv13lp8cmcinawy4";
-       revision = "1";
-       editedCabalFile = "0jw4s59qgw3jyn9lbbl01z9q6wlk58ashw7bl9sdfmr3qgz5xb8z";
+       version = "0.7.10";
+       sha256 = "14gggfh1z6p4i8x8pf5744a6jbw7wz7kvdqvlzmmf6rf5cb68a35";
        libraryHaskellDepends = [
          base base-unicode-symbols containers mtl
        ];
@@ -80094,8 +80865,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-gl";
-       version = "0.7.7";
-       sha256 = "0gc0s57qzwxn1jpckg2g9kk6mzzz7zi68czwqrrs6z44bh6mpbks";
+       version = "0.7.8";
+       sha256 = "0fqfylas4y7993riw9vf2ppazk1wgpzxrd8a0avf5s63s0w29hm7";
        libraryHaskellDepends = [
          AC-Vector base base-unicode-symbols containers GLUT graph-rewriting
          graph-rewriting-layout OpenGL
@@ -80113,8 +80884,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-lambdascope";
-       version = "0.5.9";
-       sha256 = "0qq5yvyjxlsw1w53vpi3vcrvvwa55davjnk60x24hk144asjxarn";
+       version = "0.5.10";
+       sha256 = "0sz87nsn7ff0k63j54rdxp5v9xl926d47fkfa0jjnmdjg1xz2pn4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -80134,8 +80905,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-layout";
-       version = "0.5.5";
-       sha256 = "0qf3451pz1rgkh11czls60rajzv91jxs91i3dlvxpyh37xacka0q";
+       version = "0.5.6";
+       sha256 = "0h8inqg673kb6kwvsgl0hi44yil08775rw9l5bq9g8qzldz34z85";
        libraryHaskellDepends = [
          AC-Vector base base-unicode-symbols graph-rewriting
        ];
@@ -80151,8 +80922,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-ski";
-       version = "0.6.6";
-       sha256 = "1w1h5jkf8dk224gv06pkmndv1kpqfjs2f212xm7jh6xwfjfvfciv";
+       version = "0.6.7";
+       sha256 = "1ahwm3dlvy9aaara644m4y0s89xgjcgm2hpkc92z2wmdfydc05g6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -80171,8 +80942,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-strategies";
-       version = "0.2.5";
-       sha256 = "16jxrwxyxx4d8dfq6hbi4xdk4bvw61b90j29pviphn6jyfppna6x";
+       version = "0.2.6";
+       sha256 = "0paacz014jvxixqscd2nlny7x4vd735qqw0zbxsyxr3qz9jxjll9";
        libraryHaskellDepends = [
          base base-unicode-symbols containers graph-rewriting
        ];
@@ -80189,8 +80960,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-trs";
-       version = "0.1.8";
-       sha256 = "074g3kl05g85ylg90rwx5xlh6z3kj7f0c7rhj9nbklp55krfyaw2";
+       version = "0.1.9";
+       sha256 = "0wygasyj35sa05vvcmkk8ipdla3zms85pvq48jq1rl2gnk79f2jy";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -80211,8 +80982,8 @@ self: {
      }:
      mkDerivation {
        pname = "graph-rewriting-ww";
-       version = "0.3.6";
-       sha256 = "12vdwvl06f2ryyr454ibnbsplqnkmsjxi6x3jpx4n7i67sx4w5xj";
+       version = "0.3.7";
+       sha256 = "07fjl05w1lidmwh7iz9km3590ggxncq43rmrhzssn49as7basah8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -83219,8 +83990,33 @@ self: {
      }:
      mkDerivation {
        pname = "hackernews";
-       version = "1.1.1.0";
-       sha256 = "0i78kyf1kbgxd083anmn9bw6ahivpbpvhmhmvsvckl4nvq1yni35";
+       version = "1.1.2.0";
+       sha256 = "07hsky158rgl3v70vrvfj1babvk9ad3pmasvx5sd932rkdwmz8g5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base http-client http-types QuickCheck quickcheck-instances
+         servant servant-client string-conversions text
+       ];
+       executableHaskellDepends = [ base http-client http-client-tls ];
+       testHaskellDepends = [
+         aeson base hspec http-client http-client-tls QuickCheck
+         quickcheck-instances
+       ];
+       description = "API for Hacker News";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackernews_1_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, hspec, http-client, http-client-tls
+     , http-types, QuickCheck, quickcheck-instances, servant
+     , servant-client, string-conversions, text
+     }:
+     mkDerivation {
+       pname = "hackernews";
+       version = "1.2.0.0";
+       sha256 = "08akddv2n1zll630vqi5i9ja1q99zp75hbx1jkgzp9ly81pdf1v7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -83284,8 +84080,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.5.2";
-       sha256 = "0qvwxnmj8x05lkv92al27aa5m35lc0vqblrqckc7al5b2f1qff7s";
+       version = "0.5.3";
+       sha256 = "1ywmrr2frvp3pz4c6dvsp9vqwykhbwbdaykjpsyrjq0idn47akhf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -83360,8 +84156,8 @@ self: {
     ({ mkDerivation, base, filepath, haddock-api, hspec }:
      mkDerivation {
        pname = "haddock";
-       version = "2.17.4";
-       sha256 = "1z3h3v7w84dzsm47iavdppc2w899mr4c1agq9fzghgz902i0a655";
+       version = "2.17.5";
+       sha256 = "1qxy6yxpxgpqpwcs76ydpal45cz4a3hyq3rq07cwma1cs4p034ql";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
@@ -83677,8 +84473,8 @@ self: {
      }:
      mkDerivation {
        pname = "haiji";
-       version = "0.2.0.0";
-       sha256 = "0a7px4z7c102h0ll600k3rz81f4lrbky07zzdz16y5bn72z014hk";
+       version = "0.2.1.0";
+       sha256 = "054iyikik4n2qkpbpc4p1jikj7z6vgvcjhm3ay9mi9zwmz0mb3f8";
        libraryHaskellDepends = [
          aeson attoparsec base data-default mtl scientific tagged
          template-haskell text transformers unordered-containers vector
@@ -83973,6 +84769,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) utillinux;};
 
+  "hakyll_4_9_6_0" = callPackage
+    ({ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
+     , containers, cryptohash, data-default, deepseq, directory
+     , filepath, fsnotify, http-conduit, http-types, lrucache, mtl
+     , network, network-uri, optparse-applicative, pandoc
+     , pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
+     , regex-tdfa, resourcet, scientific, system-filepath, tagsoup
+     , tasty, tasty-hunit, tasty-quickcheck, text, time
+     , time-locale-compat, unordered-containers, utillinux, vector, wai
+     , wai-app-static, warp, yaml
+     }:
+     mkDerivation {
+       pname = "hakyll";
+       version = "4.9.6.0";
+       sha256 = "0qkwa8fs5wpqg4gvk19cg5jsjhwyirvwbah1hk7a5b8yfrbsm08c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary blaze-html blaze-markup bytestring containers
+         cryptohash data-default deepseq directory filepath fsnotify
+         http-conduit http-types lrucache mtl network network-uri
+         optparse-applicative pandoc pandoc-citeproc parsec process random
+         regex-base regex-tdfa resourcet scientific system-filepath tagsoup
+         text time time-locale-compat unordered-containers vector wai
+         wai-app-static warp yaml
+       ];
+       executableHaskellDepends = [ base directory filepath ];
+       testHaskellDepends = [
+         base binary blaze-html blaze-markup bytestring containers
+         cryptohash data-default deepseq directory filepath fsnotify
+         http-conduit http-types lrucache mtl network network-uri
+         optparse-applicative pandoc pandoc-citeproc parsec process
+         QuickCheck random regex-base regex-tdfa resourcet scientific
+         system-filepath tagsoup tasty tasty-hunit tasty-quickcheck text
+         time time-locale-compat unordered-containers vector wai
+         wai-app-static warp yaml
+       ];
+       testToolDepends = [ utillinux ];
+       homepage = "http://jaspervdj.be/hakyll";
+       description = "A static website compiler library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) utillinux;};
+
   "hakyll-R" = callPackage
     ({ mkDerivation, base, directory, filepath, hakyll, pandoc, process
      }:
@@ -84408,6 +85248,7 @@ self: {
        homepage = "https://github.com/timjb/halma";
        description = "Telegram bot for playing Halma";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haltavista" = callPackage
@@ -84554,6 +85395,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hamtsolo" = callPackage
+    ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
+     , bytestring, conduit, conduit-combinators, conduit-extra
+     , exceptions, optparse-applicative, resourcet, stm-conduit, unix
+     , word8
+     }:
+     mkDerivation {
+       pname = "hamtsolo";
+       version = "1.0.0";
+       sha256 = "0lpac24fayd9s40b39l46aak9d51vv3bjslg0drgj2xlp1d9w60y";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         async attoparsec attoparsec-binary base binary bytestring conduit
+         conduit-combinators conduit-extra exceptions optparse-applicative
+         resourcet stm-conduit unix word8
+       ];
+       homepage = "https://github.com/tfc/hamtsolo#readme";
+       description = "Intel AMT serial-over-lan (SOL) client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hamusic" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, haskore
      , HaXml, musicxml, non-negative, process
@@ -86158,8 +87021,8 @@ self: {
        pname = "hashabler";
        version = "2.0.0";
        sha256 = "1wrwjbpvdf4yimcshw396a1crl76mr9wabspz6z3pdwg4d8dfava";
-       revision = "1";
-       editedCabalFile = "111jik2b8vyp1ap5i1flnxbrrv0nyiba8canwyrilimw5wz0qsn8";
+       revision = "2";
+       editedCabalFile = "0plq6sfzplpg7lc9s2jsnj3l53z1v614h4ni3fvnw4hxj0n4cykv";
        libraryHaskellDepends = [
          array base bytestring ghc-prim integer-gmp primitive
          template-haskell text
@@ -86348,8 +87211,8 @@ self: {
        pname = "hask";
        version = "0";
        sha256 = "1c87jxafxpnlyblhdif4br61wqvnad0s6hvfhmzhx9y1jri3rb39";
-       revision = "1";
-       editedCabalFile = "09h0sr60vwkjnjdfawg8d8shz8vh3r7q7n9vgwfs3fkzbajcpaq4";
+       revision = "2";
+       editedCabalFile = "19gb0kn40nd9904adiqpj5h3pcsic6nqflzh8nvpvblphrn5npxs";
        libraryHaskellDepends = [
          base constraints ghc-prim reflection tagged transformers void
        ];
@@ -86897,6 +87760,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-gettext" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-trie
+     , containers, filepath, haskell-src-exts, mtl, old-locale, parsec
+     , text, time, transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "haskell-gettext";
+       version = "0.1.1.0";
+       sha256 = "1kfqrm90my0h15f1x6n4fzzf9fvyicg87fqwbal37hj888jb0gv8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring bytestring-trie containers mtl parsec text
+         time transformers
+       ];
+       executableHaskellDepends = [
+         base filepath haskell-src-exts old-locale time uniplate
+       ];
+       description = "GetText runtime library implementation in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-gi" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, Cabal, containers
      , directory, doctest, filepath, glib, gobjectIntrospection
@@ -86905,8 +87790,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-gi";
-       version = "0.20.1";
-       sha256 = "04ndhi4w88vmc3h4jk95z8i9j83aif99k9c8qwr6nv1q05zxbwbz";
+       version = "0.20.2";
+       sha256 = "1dnavj0qpcljakmb5jnv0hqds8a0zqn5ycn0xq5fls20fmw9j5gh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -86928,8 +87813,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
        pname = "haskell-gi-base";
-       version = "0.20.2";
-       sha256 = "05jr33kvj2iafsp7g5b8z3m33pf7law9q6rjzq969c5cc586pvp7";
+       version = "0.20.3";
+       sha256 = "07ggfmbr9s4c1ql4cyyk64fbig5k2mpc25371zrrj44yc6ai2xz1";
        libraryHaskellDepends = [ base bytestring containers text ];
        libraryPkgconfigDepends = [ glib ];
        homepage = "https://github.com/haskell-gi/haskell-gi-base";
@@ -87503,6 +88388,8 @@ self: {
        pname = "haskell-src-meta";
        version = "0.7.0.1";
        sha256 = "0fka53lw1xh6fa77s7bxcyaf888v3dr89yalrg4x8if6j0f5m3j2";
+       revision = "1";
+       editedCabalFile = "0g6jslwrz934hpq8x0b7r50rk2q96raw5a6s4mxanjx36g19rrgp";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -87510,15 +88397,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-src-meta_0_8" = callPackage
+  "haskell-src-meta_0_8_0_1" = callPackage
     ({ mkDerivation, base, haskell-src-exts, HUnit, pretty, syb
      , template-haskell, test-framework, test-framework-hunit
      , th-orphans
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8";
-       sha256 = "0kv9xcgfgrs1558cfqj94y1mzqpnpsq3hxnpw3wm8nvnbqyss24x";
+       version = "0.8.0.1";
+       sha256 = "1i5f21mx061k50nl3pvvffjqsbvvldl50y8d4b9b31g63l0jg5q9";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -89201,6 +90088,45 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskus-binary" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, criterion, haskus-utils
+     , mtl, QuickCheck, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "haskus-binary";
+       version = "0.6.0.0";
+       sha256 = "0r0np4kdvyfslgjqs983dzv4xi5s62splahn2ra55qjbm8lpmps0";
+       libraryHaskellDepends = [
+         base bytestring cereal haskus-utils mtl
+       ];
+       testHaskellDepends = [
+         base bytestring haskus-utils QuickCheck tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "http://www.haskus.org/system";
+       description = "Haskus binary format manipulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskus-utils" = callPackage
+    ({ mkDerivation, base, containers, extra, file-embed, list-t, mtl
+     , stm, stm-containers, tasty, tasty-quickcheck, template-haskell
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "haskus-utils";
+       version = "0.6.0.0";
+       sha256 = "0hph5305ykz9qbc0dbm043q6m4x9bxzgwdnjqby7f6rir6ks995w";
+       libraryHaskellDepends = [
+         base containers extra file-embed list-t mtl stm stm-containers
+         template-haskell transformers vector
+       ];
+       testHaskellDepends = [ base tasty tasty-quickcheck ];
+       homepage = "http://www.haskus.org/system";
+       description = "Haskus utility modules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haslo" = callPackage
     ({ mkDerivation, base, mtl, old-time, QuickCheck, time, wtk }:
      mkDerivation {
@@ -90600,7 +91526,7 @@ self: {
        homepage = "https://github.com/ivanperez-keera/hcwiid";
        description = "Library to interface with the wiimote";
        license = stdenv.lib.licenses.gpl2;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {bluetooth = null; inherit (pkgs) cwiid;};
 
   "hdaemonize" = callPackage
@@ -90619,6 +91545,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hdaemonize_0_5_4" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-exceptions, filepath
+     , hsyslog, mtl, unix
+     }:
+     mkDerivation {
+       pname = "hdaemonize";
+       version = "0.5.4";
+       sha256 = "0r6bfb2bc9lg4iywbql7ik9swvvn4lfhq0qn7r20v4gq5fkpwgvw";
+       libraryHaskellDepends = [
+         base bytestring extensible-exceptions filepath hsyslog mtl unix
+       ];
+       homepage = "http://github.com/greydot/hdaemonize";
+       description = "Library to handle the details of writing daemons for UNIX";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hdaemonize-buildfix" = callPackage
     ({ mkDerivation, base, extensible-exceptions, filepath, hsyslog
      , mtl, unix
@@ -91867,8 +92810,8 @@ self: {
      }:
      mkDerivation {
        pname = "here";
-       version = "1.2.9";
-       sha256 = "0f7zr2np52zy10jgbmb501imh4dfbb2hvbfwljvi995zkf47vs66";
+       version = "1.2.11";
+       sha256 = "1jpcwzi5pq82zlv1w987dlpfyi566gvabaj2wywyr9i95hv97jk8";
        libraryHaskellDepends = [
          base haskell-src-meta mtl parsec template-haskell
        ];
@@ -92157,6 +93100,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "heterocephalus_1_0_5_0" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, containers, dlist
+     , doctest, Glob, mtl, parsec, shakespeare, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "heterocephalus";
+       version = "1.0.5.0";
+       sha256 = "1qhm8vq8dncmqd9mjqghw1b327brjc9ij9pxjbkpk0lppx3pgsnw";
+       libraryHaskellDepends = [
+         base blaze-html blaze-markup containers dlist mtl parsec
+         shakespeare template-haskell text transformers
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/arowM/heterocephalus#readme";
+       description = "A type-safe template engine for working with popular front end development tools";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "heterolist" = callPackage
     ({ mkDerivation, base, constraint-manip, hspec, indextype, polydata
      }:
@@ -92280,8 +93243,8 @@ self: {
     ({ mkDerivation, base, bytestring, extra }:
      mkDerivation {
        pname = "hexml";
-       version = "0.3.1";
-       sha256 = "1c5il2n1f1k27m47ma4xpzf18vfvndhp11hv1yfgnyxqps8ivlwh";
+       version = "0.3.2";
+       sha256 = "0vyv45s6nqhbgkzxcgx1ihmif0d7sxmfafqc2xcmcm2vg4jb7ls4";
        libraryHaskellDepends = [ base bytestring extra ];
        testHaskellDepends = [ base bytestring ];
        homepage = "https://github.com/ndmitchell/hexml#readme";
@@ -92682,6 +93645,7 @@ self: {
        description = "File/folder watching for OS X";
        license = stdenv.lib.licenses.bsd3;
        platforms = [ "x86_64-darwin" ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa; 
          inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;};
 
@@ -94498,6 +95462,8 @@ self: {
        pname = "hledger";
        version = "1.2";
        sha256 = "18j7h8km15lyqhhglbxj9gqrhk3r2wh6qv8v3cly05lrlkjvmx06";
+       revision = "1";
+       editedCabalFile = "02ddp8gkx3k36b9n2jywd0pkzvjq8mapc6idxa70az84va3lmnvd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94671,6 +95637,8 @@ self: {
        pname = "hledger-lib";
        version = "1.2";
        sha256 = "15yp89q5im3b7fbjz50inkmrgihq16vgbrfkdd6nnnd9n8vxhzrc";
+       revision = "1";
+       editedCabalFile = "0alkb7hd6rvfr5fvlqyqy1ma7fbsfnkn36gnx8dcvij75b1ym0a2";
        libraryHaskellDepends = [
          array base base-compat blaze-markup bytestring cmdargs containers
          csv data-default Decimal deepseq directory filepath hashtables
@@ -94701,6 +95669,8 @@ self: {
        pname = "hledger-ui";
        version = "1.2";
        sha256 = "02mhhhkk6zz3bjcv6x0yhp4f2ifhj3pdk1z4wf6qkwm7jqsamqk1";
+       revision = "1";
+       editedCabalFile = "0ryr7rwf4bc9biwdpn3mjm82jlsr91773a7wsr0xw765mvgxvzbf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -94747,6 +95717,8 @@ self: {
        pname = "hledger-web";
        version = "1.2";
        sha256 = "1rn5x8h8vn28hk1201v2zzaawc86zkxrlqv8jwiyp2jls3l4m8d3";
+       revision = "1";
+       editedCabalFile = "1l08fzwdn1wqb1f1788rqdqr0znvgfqyb4r82vbjm62dar8qmzcg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94875,7 +95847,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hlint_2_0_7" = callPackage
+  "hlint_2_0_8" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cmdargs
      , containers, cpphs, directory, extra, filepath, haskell-src-exts
      , hscolour, process, refact, text, transformers, uniplate
@@ -94883,8 +95855,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.0.7";
-       sha256 = "08dvhdxii1wpgd1rchld35fgm82jzmxxgv2d2km326y5j3n7gaa6";
+       version = "2.0.8";
+       sha256 = "1zdwlyj913cwdi0gfv5wmbqbgsxjg4ypggmkmlzj006sj7qpbn2z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95563,6 +96535,42 @@ self: {
        license = stdenv.lib.licenses.unfree;
      }) {};
 
+  "hnormalise" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec
+     , attoparsec-iso8601, base, bytestring, conduit
+     , conduit-combinators, conduit-extra, containers, criterion
+     , deepseq, directory, hspec, hspec-attoparsec, hspec-core
+     , hspec-expectations, ip, optparse-applicative, permute, random
+     , resourcet, text, time, unordered-containers, word8, yaml
+     }:
+     mkDerivation {
+       pname = "hnormalise";
+       version = "0.3.3.0";
+       sha256 = "1rrriy9i6bfh1l6q9iwsc9zfcaif3d3f1vmkzm353gprf7vg8fnk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec attoparsec-iso8601 base bytestring
+         containers directory ip permute text time unordered-containers yaml
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty attoparsec attoparsec-iso8601 base bytestring
+         conduit conduit-combinators conduit-extra containers directory ip
+         optparse-applicative resourcet text time word8 yaml
+       ];
+       testHaskellDepends = [
+         aeson attoparsec attoparsec-iso8601 base conduit-extra hspec
+         hspec-attoparsec hspec-core hspec-expectations ip text time
+       ];
+       benchmarkHaskellDepends = [
+         aeson attoparsec base criterion deepseq random text
+       ];
+       homepage = "https://github.com/itkovian/hnormalise#readme";
+       description = "Log message normalisation tool producing structured JSON messages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ho-rewriting" = callPackage
     ({ mkDerivation, base, compdata, containers, mtl, patch-combinators
      }:
@@ -95794,6 +96802,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hoggl" = callPackage
+    ({ mkDerivation, aeson, base, base64-string, either, formatting
+     , hashable, http-client, http-client-tls, mtl, optparse-applicative
+     , servant, servant-client, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hoggl";
+       version = "0.2.0.0";
+       sha256 = "0kblkirivnw3ylaifdpa8acy2armxxkl9hbqymg2qfiiwnbgg2wh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-string either formatting hashable http-client
+         http-client-tls mtl servant servant-client text time transformers
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         base either http-client http-client-tls optparse-applicative
+         servant-client text time transformers
+       ];
+       description = "Bindings to the Toggl.com REST API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hogre" = callPackage
     ({ mkDerivation, base, cgen, cgen-hs, grgen, OGRE, OgreMain }:
      mkDerivation {
@@ -96499,15 +97532,13 @@ self: {
     ({ mkDerivation, base, bytestring, doctest, HUnit, openssl }:
      mkDerivation {
        pname = "hopenssl";
-       version = "2";
-       sha256 = "1mw3wxb18rvfqqsvllgfkpn0wy15vlgqrz0kvqgzwybjy04n8008";
-       revision = "1";
-       editedCabalFile = "117a56v2p9s69j3f8l0ky0m1vz8xdwwavszp02f37bs6li6pqrdg";
+       version = "2.2";
+       sha256 = "0hypc779yyrf3kgb9ik396zwf83d05x2gvrzr1nhv55pr8m0kvax";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ openssl ];
        testHaskellDepends = [ base doctest HUnit ];
        homepage = "http://github.com/peti/hopenssl";
-       description = "FFI bindings to OpenSSL's EVP digest interface";
+       description = "FFI Bindings to OpenSSL's EVP Digest Interface";
        license = stdenv.lib.licenses.bsd3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {inherit (pkgs) openssl;};
@@ -96587,8 +97618,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.3.1";
-       sha256 = "15lvxsdd2ayd94mr9bxzcxrwkb22yflnby1r5ch8wmyymwvbv55y";
+       version = "0.3.2";
+       sha256 = "04ah438igxykyspzlhpa5y50z1accrb9sxhv2sn8riqfhdz2sych";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -96604,8 +97635,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.3.2";
-       sha256 = "1sv76yfbp4r2dda17crng7g39wz2fy77jc246w6749hd9s3izx7a";
+       version = "0.3.3";
+       sha256 = "18n48kkf6pcmcwb85a74kqh84aadpm1s9jv1r56b43rya8ra3mgw";
        libraryHaskellDepends = [
          base containers directory filepath haskell-src mtl
        ];
@@ -96616,12 +97647,14 @@ self: {
      }) {};
 
   "hoppy-runtime" = callPackage
-    ({ mkDerivation, base, containers }:
+    ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.3.0";
-       sha256 = "1nd9mgzqnak420dcifldq09c7sph7mf8llrsfagphq9aqhw3lij4";
-       libraryHaskellDepends = [ base containers ];
+       version = "0.3.1";
+       sha256 = "0cbnhpwy3m0l7gcarg7xr1f5y6nwdnfa269vvza0fm4fhf3lz6g5";
+       libraryHaskellDepends = [
+         base Cabal containers directory filepath
+       ];
        homepage = "http://khumba.net/projects/hoppy";
        description = "C++ FFI generator - Runtime support";
        license = stdenv.lib.licenses.asl20;
@@ -96651,8 +97684,8 @@ self: {
      }:
      mkDerivation {
        pname = "hops";
-       version = "0.7.0";
-       sha256 = "1d0g4vcwdrmdp4wy0d5f3b8s1h0q4z2ny0xrjbkykmd2fasp08zp";
+       version = "0.7.1";
+       sha256 = "04hgpvk7lrp1iqw02yjawnh2mvxjnp21h3cd36yzy4hw74am33sp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -97067,8 +98100,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.17.0";
-       sha256 = "0r3lcp217i9nqavymhn02wnyg5qplhayp09aqcj58brh3b58lmyj";
+       version = "0.17.1";
+       sha256 = "0lxpjv5j3bg725n1kqjgpcq3rb3s7zc1w3j5snc92ayk8fxpbd3n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -97378,8 +98411,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpio";
-       version = "0.8.0.7";
-       sha256 = "0c76irxdcj34sm65w7b5mpccziw3a3girhqgk23lrd6pyd4za0x0";
+       version = "0.8.0.9";
+       sha256 = "1yr86m9zw3kbhb6wl2i3ikkvhzkzrlswgvan8wpyvd5chp4vxjm7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -97396,7 +98429,7 @@ self: {
          exceptions filepath hlint hspec mtl mtl-compat QuickCheck text
          transformers transformers-compat unix unix-bytestring
        ];
-       homepage = "https://github.com/dhess/hpio";
+       homepage = "https://github.com/quixoftic/hpio";
        description = "Monads for GPIO in Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -97697,37 +98730,6 @@ self: {
 
   "hquantlib" = callPackage
     ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl
-     , hmatrix-special, HUnit, mersenne-random, parallel, QuickCheck
-     , statistics, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, time, vector, vector-algorithms
-     }:
-     mkDerivation {
-       pname = "hquantlib";
-       version = "0.0.3.3";
-       sha256 = "0a4cszl77arpk4vcgkdn8s57cvqniqy6454jw2qg7xaaibv3k210";
-       revision = "2";
-       editedCabalFile = "1zyvr1rgasymap5zbj16nbg8klshwm43842f8y0y56779ynai4vy";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers hmatrix hmatrix-gsl hmatrix-special mersenne-random
-         parallel statistics time vector vector-algorithms
-       ];
-       executableHaskellDepends = [
-         base containers mersenne-random parallel
-       ];
-       testHaskellDepends = [
-         base HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2
-       ];
-       homepage = "http://github.com/paulrzcz/hquantlib.git";
-       description = "HQuantLib is a port of essencial parts of QuantLib to Haskell";
-       license = "LGPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hquantlib_0_0_4_0" = callPackage
-    ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl
      , hmatrix-special, HUnit, mersenne-random-pure64, parallel
      , QuickCheck, random, statistics, test-framework
      , test-framework-hunit, test-framework-quickcheck2, time, vector
@@ -97812,8 +98814,8 @@ self: {
      }:
      mkDerivation {
        pname = "hreader-lens";
-       version = "0.1.2.0";
-       sha256 = "0a3pv1vb390b8419n0as4qp9wn3xw9xg12qn0whg058hw8nf4i2d";
+       version = "0.1.3.0";
+       sha256 = "1l02fplf2gjns869rhlwzglg08gl8cpjciv9fh05rg74dhn0m3s0";
        libraryHaskellDepends = [
          base comonad hreader hset lens lens-action profunctors
        ];
@@ -98247,6 +99249,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) mesos; inherit (pkgs) protobuf;};
 
+  "hs-multiaddr" = callPackage
+    ({ mkDerivation, base, bytes, bytestring, cereal, either-unwrap
+     , filepath, hspec, iproute, multihash, sandi
+     }:
+     mkDerivation {
+       pname = "hs-multiaddr";
+       version = "0.1.0.1";
+       sha256 = "0bac505a3fvz46zbh60vl0m6jj5snjbmj925vxhv6bpdydidi8hw";
+       libraryHaskellDepends = [
+         base bytes bytestring cereal filepath iproute multihash sandi
+       ];
+       testHaskellDepends = [
+         base bytestring either-unwrap hspec iproute multihash sandi
+       ];
+       homepage = "https://github.com/MatrixAI/haskell-multiaddr#readme";
+       description = "Multiaddr Library for LibP2P";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hs-nombre-generator" = callPackage
     ({ mkDerivation, base, HandsomeSoup, hxt, random }:
      mkDerivation {
@@ -99278,8 +100300,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsdev";
-       version = "0.2.3.2";
-       sha256 = "0ajm7nf8dil629ws285hr2zb5pdrdspp3a224sgf14qnlq80nqrz";
+       version = "0.2.5.0";
+       sha256 = "12x26y11xd5h0j3s2j3pvfjak6mbdc417brhx6zva9k1x4lijagm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100308,6 +101330,8 @@ self: {
        pname = "hspec-core";
        version = "2.4.3";
        sha256 = "0mg1144azwhrvk6224qnn7gbjyqlpq4kbxqns0hh4gwvg4s6z7bw";
+       revision = "1";
+       editedCabalFile = "0shqhsss67lhp2kn7spjn9ngfhlf6cnsrn66s6h1wk4f9k24lf5v";
        libraryHaskellDepends = [
          ansi-terminal array async base call-stack deepseq directory
          filepath hspec-expectations HUnit QuickCheck quickcheck-io random
@@ -100659,15 +101683,16 @@ self: {
   "hspec-snap" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , digestive-functors, directory, HandsomeSoup, hspec, hspec-core
-     , hxt, lens, mtl, snap, snap-core, text, transformers
+     , HUnit, hxt, lens, mtl, snap, snap-core, text, transformers
      }:
      mkDerivation {
        pname = "hspec-snap";
-       version = "1.0.0.1";
-       sha256 = "1kjc3z6q3c8asnv6n4lc84v7vxybms17d2w43p9gzzl15lnbv5sc";
+       version = "1.0.0.2";
+       sha256 = "0d2mr14ksyjvzaprakfqb5pdrsdgxi8jlfa4a2bwd3yfsdmj8pp5";
        libraryHaskellDepends = [
          aeson base bytestring containers digestive-functors HandsomeSoup
-         hspec hspec-core hxt lens mtl snap snap-core text transformers
+         hspec hspec-core HUnit hxt lens mtl snap snap-core text
+         transformers
        ];
        testHaskellDepends = [
          aeson base bytestring containers digestive-functors directory
@@ -101499,6 +102524,7 @@ self: {
        homepage = "https://github.com/marcelmoosbrugger/hsudoku";
        description = "Sudoku game with a GTK3 interface";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsverilog" = callPackage
@@ -101691,14 +102717,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) taglib;};
 
-  "htaglib_1_1_0" = callPackage
+  "htaglib_1_1_1" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, hspec
      , taglib, text, transformers
      }:
      mkDerivation {
        pname = "htaglib";
-       version = "1.1.0";
-       sha256 = "007zk5y9j404w3hfj39bxhkf64x7af02qvsyiz4d88v82ggwklp2";
+       version = "1.1.1";
+       sha256 = "0a4rzw1343zixkmdy84bg7j35qxbnpx7pjr23857cil906wi33r3";
        libraryHaskellDepends = [ base bytestring text transformers ];
        librarySystemDepends = [ taglib ];
        testHaskellDepends = [ base directory filepath hspec ];
@@ -101798,6 +102824,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "htlset" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "htlset";
+       version = "0.1.0.0";
+       sha256 = "18wbw6zfb424xq3m05hjxypiiaqc75nd365y9l8035dvi29mfbnf";
+       libraryHaskellDepends = [ base containers ];
+       homepage = "https://github.com/kelemzol/htlset";
+       description = "Heterogenous Set";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "html" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -102195,8 +103233,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.5.6.1";
-       sha256 = "1v9bdb8dkhb5g6jl9azk86ig7ia8xh9arr64n7s8r94fp0vl6c1c";
+       version = "0.5.7.0";
+       sha256 = "18zza3smv5fn5clgq2nij0wqnakh950xif9lwlfqbkam5k1flhg2";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -102355,8 +103393,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client-tls";
-       version = "0.3.4.2";
-       sha256 = "0jzxzncm8i00l2sdayizxj7g98ahp4pi9zr5rh1dhsrw18rq5gz8";
+       version = "0.3.5";
+       sha256 = "1jgwca2dn269c7z14yasj0i1qayz5lvxxqf72m0y62cqwx4hdm5h";
        libraryHaskellDepends = [
          base bytestring case-insensitive connection containers cryptonite
          data-default-class exceptions http-client http-types memory network
@@ -102688,8 +103726,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-pony";
-       version = "0.1.0.6";
-       sha256 = "1k1pdm0qmskv3vrh8msanppqxkl4y68aq7rf89qv18z6fnvh53j8";
+       version = "0.1.0.7";
+       sha256 = "1zlz9fmnhaxb38axscmpda4iqsv8idv3wq116pr449dvxs5kj721";
        libraryHaskellDepends = [
          base bytestring exceptions network pipes pipes-network pipes-safe
          transformers
@@ -103370,12 +104408,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hunit-dejafu_0_5_0_0" = callPackage
+  "hunit-dejafu_0_6_0_0" = callPackage
     ({ mkDerivation, base, dejafu, exceptions, HUnit }:
      mkDerivation {
        pname = "hunit-dejafu";
-       version = "0.5.0.0";
-       sha256 = "05l8sm7r2n17a0dd3xhdcnrf6vaz4mv82im39r0iykh284hjcpnh";
+       version = "0.6.0.0";
+       sha256 = "0nw906gq8jzn6kr7iq40qna3r3q1s0dvfyxz84xfp5452g56a1ah";
        libraryHaskellDepends = [ base dejafu exceptions HUnit ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the HUnit test framework";
@@ -105722,8 +106760,10 @@ self: {
      }:
      mkDerivation {
        pname = "identicon";
-       version = "0.2.1";
-       sha256 = "0gy14lg6sc4s45b2csk6y3gc4nb4vyill949k2gsb0047g89crxq";
+       version = "0.2.2";
+       sha256 = "0qzj2063sh7phbqyxqxf96avz1zcwd1ry06jdqxwkg55q3yb8y9n";
+       revision = "1";
+       editedCabalFile = "0jlm9cmw0ycbyifab7bzkmykj8w7vn2wyc6pfadfjrhb76zyvcxr";
        libraryHaskellDepends = [ base bytestring JuicyPixels ];
        testHaskellDepends = [
          base bytestring hspec JuicyPixels QuickCheck
@@ -107459,8 +108499,8 @@ self: {
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.1.2.1";
-       sha256 = "1ih916gj21mrl9v7is64fs5ns4j5jsimh2c6cnxqkfmp5n9dby7w";
+       version = "1.1.2.2";
+       sha256 = "038031446gpby3s805j1imffriwfq35jvkmd7z8gjnz5x5xciz9b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -107732,6 +108772,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) R;};
 
+  "inliterate" = callPackage
+    ({ mkDerivation, base, blaze-html, cheapskate, containers
+     , haskell-src-exts, lucid, lucid-extras, plotlyhs, text, time
+     }:
+     mkDerivation {
+       pname = "inliterate";
+       version = "0.1.0";
+       sha256 = "17z3s5w49x8j57v6myz2r6i0knnm60ydg3y8d0v008xrwdjcr5id";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blaze-html cheapskate containers haskell-src-exts lucid
+         lucid-extras plotlyhs text time
+       ];
+       executableHaskellDepends = [ base text ];
+       testHaskellDepends = [ base text ];
+       homepage = "https://github.com/diffusionkinetics/open/inliterate";
+       description = "Interactive literate programming";
+       license = stdenv.lib.licenses.mit;
+       broken = true;
+     }) {lucid-extras = null;};
+
   "inquire" = callPackage
     ({ mkDerivation, aether, base, text }:
      mkDerivation {
@@ -108253,13 +109315,34 @@ self: {
        pname = "interpolate";
        version = "0.1.0";
        sha256 = "0wlc10qd1bq3xj64a3yq2gzds9kas9zyylkm9kxd46gy35fns6id";
+       revision = "1";
+       editedCabalFile = "0ld319k9phmp6dp8m87bdhqp5519dxggf8r2a5z8hkznyjpa131j";
+       libraryHaskellDepends = [ base haskell-src-meta template-haskell ];
+       testHaskellDepends = [
+         base bytestring haskell-src-meta hspec QuickCheck
+         quickcheck-instances template-haskell text
+       ];
+       description = "String interpolation done right";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "interpolate_0_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-meta, hspec
+     , QuickCheck, quickcheck-instances, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "interpolate";
+       version = "0.1.1";
+       sha256 = "120ygxs8vfsjcc7xr9v8p8bcyqidhlg1rd568ym2bsl1nhx4h22b";
        libraryHaskellDepends = [ base haskell-src-meta template-haskell ];
        testHaskellDepends = [
          base bytestring haskell-src-meta hspec QuickCheck
          quickcheck-instances template-haskell text
        ];
+       homepage = "https://github.com/sol/interpolate#readme";
        description = "String interpolation done right";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "interpolatedstring-perl6" = callPackage
@@ -108808,8 +109891,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.0.1";
        sha256 = "0zwjdsg1pcxzd8s0d308q4jhx0pfrk2aq8q039gs8k9y8h9cbh64";
-       revision = "1";
-       editedCabalFile = "0jyv2d0llc63lnlz263n41lcc1pcq7kicq6g3cc99i8s1p38bz48";
+       revision = "2";
+       editedCabalFile = "1zm580jcncmh667k51k47xwwhd171r3f0h00d25hi6isq812ia40";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -109256,8 +110339,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-core";
-       version = "2.2.1";
-       sha256 = "1q2j9c2bahdkb4g1sydaz6yyyj98hndyvpxk1q3bf0v20zr7aqpc";
+       version = "2.3.0";
+       sha256 = "08nbdnszdakbam1x0fps3n3ziqv21d8ndhmrc7za69pm97wkicjf";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring bytestring hashable primitive
          text time vector
@@ -110772,21 +111855,23 @@ self: {
      }) {};
 
   "jenkinsPlugins2nix" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, attoparsec, base, bytestring
-     , containers, cryptohash, data-fix, hnix, http-conduit, mtl
-     , tasty-hspec, text, zip-archive
+    ({ mkDerivation, ansi-wl-pprint, attoparsec, base, bimap
+     , bytestring, containers, cryptohash, hnix, http-conduit, mtl
+     , optparse-applicative, tasty-hspec, text, zip-archive
      }:
      mkDerivation {
        pname = "jenkinsPlugins2nix";
-       version = "0.1.0.0";
-       sha256 = "0fsn6dr9ai7m03vnrbpkq8bzsvi2inxg5d0zgqaaxn8ab71cx947";
+       version = "0.2.0.2";
+       sha256 = "04ddcri3rwszxjl65c5kha6lkrf3w89gfri2cdghdq0znl51hvf5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-wl-pprint attoparsec base bytestring containers cryptohash
-         data-fix hnix http-conduit mtl text zip-archive
+         hnix http-conduit mtl text zip-archive
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base bimap optparse-applicative text
        ];
-       executableHaskellDepends = [ ansi-wl-pprint base text ];
        testHaskellDepends = [ base containers tasty-hspec text ];
        homepage = "https://github.com/Fuuzetsu/jenkinsPlugins2nix#readme";
        description = "Generate nix for Jenkins plugins";
@@ -111047,8 +112132,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.5.0.3";
-       sha256 = "0n1a450g8a7w30ans6lpgwiim3pizg3c5a4cqb8h5a1ncx6nq8fi";
+       version = "0.5.0.4";
+       sha256 = "164cgpz7a9yyd861y43ljw7wkjajvp7ylli4j2qyq4947v7ibxg9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -111070,7 +112155,7 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
-  "jose_0_6_0_1" = callPackage
+  "jose_0_6_0_2" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , bytestring, concise, containers, cryptonite, hspec, lens, memory
      , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances
@@ -111079,8 +112164,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.6.0.1";
-       sha256 = "06icsxvv8l82qhix9gd37i23xzxjwfcsg9ajllifpw1xd31s7rm0";
+       version = "0.6.0.2";
+       sha256 = "1m6ck60z9lmvc3rb8lpf4h7j3yvzmshwb8dm96s0d1ldhcmk26jy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -111201,8 +112286,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.8.3.2";
-       sha256 = "0xdgqwmjzx47l8rhxdvlwfzfb04bw5j6mahs02cwjdfb1h11m7m4";
+       version = "0.9.0.0";
+       sha256 = "1g61chx063m8n3yvs4z6awmdksvkr0yp5vwd4ffkhl94yczqh0q8";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring containers
          deepseq filepath ghc-prim http-types lens primitive process ref-tf
@@ -111213,14 +112298,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "jsaddle-clib" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, jsaddle
+     , text
+     }:
+     mkDerivation {
+       pname = "jsaddle-clib";
+       version = "0.9.0.0";
+       sha256 = "10ycmp3pnkh18d8xv44gj392h7xzfmnyl0qkfv0qx0p7pn9vn6zz";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default jsaddle text
+       ];
+       description = "Interface for JavaScript that works with GHCJS and GHC";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "jsaddle-dom" = callPackage
     ({ mkDerivation, base, base-compat, jsaddle, lens, text
      , transformers
      }:
      mkDerivation {
        pname = "jsaddle-dom";
-       version = "0.8.0.0";
-       sha256 = "0l6n6wsy9bqxdh2gjgkp4wvmxdikjziqi748690vz33gdc5qdgi7";
+       version = "0.9.0.0";
+       sha256 = "0yc5m80n3k3l2m429p5icfwk50c6qdfs5h273rgdr9pjb2if5cmm";
        libraryHaskellDepends = [
          base base-compat jsaddle lens text transformers
        ];
@@ -111248,15 +112348,16 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , doctest, filepath, ghc-prim, http-types, jsaddle, lens, network
      , primitive, process, QuickCheck, ref-tf, stm, text, time
-     , transformers, wai, wai-websockets, warp, webdriver, websockets
+     , transformers, uuid, uuid-types, wai, wai-websockets, warp
+     , webdriver, websockets
      }:
      mkDerivation {
        pname = "jsaddle-warp";
-       version = "0.8.3.1";
-       sha256 = "1ylpqyifxinqd23sypxxkqcwigqfcpz8jc8y770qbqy56wjz9nr1";
+       version = "0.9.1.0";
+       sha256 = "0d7q3dr05j81zx13qvl0kxhdmkk9bpka4cc2db8ck4wfnv7nj3yq";
        libraryHaskellDepends = [
-         aeson base containers http-types jsaddle stm text time transformers
-         wai wai-websockets warp websockets
+         aeson base bytestring containers http-types jsaddle stm text time
+         transformers uuid uuid-types wai wai-websockets warp websockets
        ];
        testHaskellDepends = [
          aeson base bytestring containers deepseq doctest filepath ghc-prim
@@ -111276,8 +112377,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-webkit2gtk";
-       version = "0.8.3.1";
-       sha256 = "0kdr69m1j5dvn2pbjkxx52q9jjcrs4ssn1lwqcf8myb1hrj2rjw3";
+       version = "0.9.0.0";
+       sha256 = "1qrrvfr9ha5v43940ppdf3ngrig1s324482aaxsnpj2s7jxmqsa6";
        libraryHaskellDepends = [
          aeson base bytestring directory gi-gio gi-glib gi-gtk
          gi-javascriptcore gi-webkit2 haskell-gi-base jsaddle text unix
@@ -111295,8 +112396,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-webkitgtk";
-       version = "0.8.3.1";
-       sha256 = "1a4b4dbgkzlhz1vl1bhqjaz20cazfs7jcfqddfcb6adb72jnay0d";
+       version = "0.9.0.0";
+       sha256 = "036k7ni5ki1p6f3hxkzyq2nskqxjbdg4kp9j5r2jzphp1cr8r9li";
        libraryHaskellDepends = [
          aeson base bytestring directory gi-glib gi-gtk gi-javascriptcore
          gi-webkit haskell-gi-base jsaddle text unix
@@ -111308,12 +112409,16 @@ self: {
      }) {};
 
   "jsaddle-wkwebview" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, jsaddle }:
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , jsaddle
+     }:
      mkDerivation {
        pname = "jsaddle-wkwebview";
-       version = "0.8.3.2";
-       sha256 = "0a65w5svvj5ncd5dy62zqk520bsf6zmajq7dvsr7gdlfn8s2r59k";
-       libraryHaskellDepends = [ aeson base bytestring jsaddle ];
+       version = "0.9.0.0";
+       sha256 = "1yy7m60h6kcqb97qwhrh3kbxrz981njff2f23x1axfrb2jc3mby4";
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default jsaddle
+       ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -111599,6 +112704,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "json-feed" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
+     , mime-types, network-uri, tagsoup, text, time
+     }:
+     mkDerivation {
+       pname = "json-feed";
+       version = "0.0.2";
+       sha256 = "0ka8g2d3hn8z122k8r7gxs8m72s4ys46j6s2yc2ys045r1fhzlc1";
+       libraryHaskellDepends = [
+         aeson base bytestring mime-types network-uri tagsoup text time
+       ];
+       testHaskellDepends = [
+         aeson base bytestring filepath hspec mime-types network-uri tagsoup
+         text time
+       ];
+       homepage = "https://github.com/tfausak/json-feed#readme";
+       description = "JSON Feed";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "json-fu" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , hashable, hspec, mtl, syb, text, time, unordered-containers
@@ -112893,6 +114018,42 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "katip_0_3_1_5" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , bytestring, containers, criterion, deepseq, directory, either
+     , exceptions, hostname, microlens, microlens-th, monad-control, mtl
+     , old-locale, quickcheck-instances, regex-tdfa, resourcet
+     , semigroups, string-conv, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time
+     , time-locale-compat, transformers, transformers-base
+     , transformers-compat, unagi-chan, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "katip";
+       version = "0.3.1.5";
+       sha256 = "1mnrs6ji7bqh9lrb9bzcxb4c1a60mzf8xkzgk6yi8ijxxv5ch8zn";
+       libraryHaskellDepends = [
+         aeson async auto-update base bytestring containers either
+         exceptions hostname microlens microlens-th monad-control mtl
+         old-locale resourcet semigroups string-conv template-haskell text
+         time transformers transformers-base transformers-compat unagi-chan
+         unix unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory microlens quickcheck-instances
+         regex-tdfa tasty tasty-golden tasty-hunit tasty-quickcheck
+         template-haskell text time time-locale-compat unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         aeson async base blaze-builder criterion deepseq text time
+         transformers unix
+       ];
+       homepage = "https://github.com/Soostone/katip";
+       description = "A structured logging framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "katip-elasticsearch" = callPackage
     ({ mkDerivation, aeson, async, base, bloodhound, containers
      , criterion, deepseq, enclosed-exceptions, exceptions, http-client
@@ -114386,8 +115547,8 @@ self: {
      }:
      mkDerivation {
        pname = "lackey";
-       version = "0.4.2";
-       sha256 = "1jbq701wwk7nvqs4ckzzsayk5v0gvbicyidgwypqlnh1dsv2hzrs";
+       version = "0.4.3";
+       sha256 = "07n5acnrwy991qsx0bg1hbpxky0nxwybnh1zs08n4jmbl10rvsrs";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base servant tasty tasty-hspec text ];
        homepage = "https://github.com/tfausak/lackey#readme";
@@ -115042,8 +116203,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdacube-gl";
-       version = "0.5.2.3";
-       sha256 = "0ayxfz35gwrwk9jqfdzv1fyp067kx2c2xpd7rcsc2lspbvkvscxy";
+       version = "0.5.2.4";
+       sha256 = "1qbf81fv66l0d0j2n1zlf3l2wlmr0wby0j4ckkims2biyzf9pflx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115179,8 +116340,8 @@ self: {
      }:
      mkDerivation {
        pname = "lame";
-       version = "0.1.0";
-       sha256 = "0k1fd58gsr71mbm7yfwhcc88944m7qk7yc3wazwnlagfpa2wlwmg";
+       version = "0.1.1";
+       sha256 = "0j35zpfhppb09m6h23awxgsawisvgsnrw7d99f5z3xq2bjihjq5k";
        libraryHaskellDepends = [
          base bytestring data-default-class directory exceptions filepath
          text transformers wave
@@ -115727,6 +116888,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-javascript_0_6_0_10" = callPackage
+    ({ mkDerivation, alex, array, base, blaze-builder, bytestring
+     , Cabal, containers, happy, hspec, mtl, QuickCheck, text
+     , utf8-light, utf8-string
+     }:
+     mkDerivation {
+       pname = "language-javascript";
+       version = "0.6.0.10";
+       sha256 = "0m1yk0v4myzjjv3czhavwlsgzp8ffpmbkwks97d3yipl1d0lrwfa";
+       libraryHaskellDepends = [
+         array base blaze-builder bytestring containers mtl text utf8-string
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [
+         array base blaze-builder bytestring Cabal containers hspec mtl
+         QuickCheck utf8-light utf8-string
+       ];
+       homepage = "https://github.com/erikd/language-javascript";
+       description = "Parser for JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-kort" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, QuickCheck
      , random, razom-text-util, regex-applicative, smaoin, text
@@ -116275,8 +117459,8 @@ self: {
      }:
      mkDerivation {
        pname = "latex-formulae-hakyll";
-       version = "0.2.0.2";
-       sha256 = "0rdv74y5wlhw28kv8l09p1dvhbkgxz5v9fa9hgnlx1h9miz3lwl2";
+       version = "0.2.0.3";
+       sha256 = "0mdfisdcsbr4q74h6zkrs6pacc2pxhq0dwh31jahpix5p8a07psn";
        libraryHaskellDepends = [
          base hakyll latex-formulae-image latex-formulae-pandoc lrucache
          pandoc-types
@@ -116293,8 +117477,8 @@ self: {
      }:
      mkDerivation {
        pname = "latex-formulae-image";
-       version = "0.1.1.2";
-       sha256 = "03czy9sbj5r04758jzlxy0zycnb81hjgmsfadwm9kxzf6crgmwcj";
+       version = "0.1.1.3";
+       sha256 = "0qf4906n0vs231hiyq6lxck5h5k0gkp9fsn3b0apx94akhr6v0zh";
        libraryHaskellDepends = [
          base directory errors filepath JuicyPixels process temporary
          transformers
@@ -116311,8 +117495,8 @@ self: {
      }:
      mkDerivation {
        pname = "latex-formulae-pandoc";
-       version = "0.2.0.4";
-       sha256 = "0cl3xk8cbvwb44w71q56p2rvqw2akdwjdh27qcd67wdryjlkn0bn";
+       version = "0.2.0.5";
+       sha256 = "023l02qlzhxkxkccbqlkhfipgis0657vpn8h6c6hdbc0cnl7cpg6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117143,7 +118327,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lens_4_15_2" = callPackage
+  "lens_4_15_3" = callPackage
     ({ mkDerivation, array, base, base-orphans, bifunctors, bytestring
      , Cabal, cabal-doctest, comonad, containers, contravariant
      , criterion, deepseq, directory, distributive, doctest, exceptions
@@ -117151,20 +118335,22 @@ self: {
      , HUnit, kan-extensions, mtl, nats, parallel, profunctors
      , QuickCheck, reflection, semigroupoids, semigroups, simple-reflect
      , tagged, template-haskell, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, test-framework-th, text, transformers
-     , transformers-compat, unordered-containers, vector, void
+     , test-framework-quickcheck2, test-framework-th, text
+     , th-abstraction, transformers, transformers-compat
+     , unordered-containers, vector, void
      }:
      mkDerivation {
        pname = "lens";
-       version = "4.15.2";
-       sha256 = "0anpihgq8sk07raryskwy9lc83wy61gjzhvvrg50bkkj0mjmc5av";
+       version = "4.15.3";
+       sha256 = "0znd63nkpdndpdgpvcwnqm31v4w2d1ipkj8lnnbsabbrhywknqd2";
        setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
        libraryHaskellDepends = [
          array base base-orphans bifunctors bytestring comonad containers
          contravariant distributive exceptions filepath free ghc-prim
          hashable kan-extensions mtl parallel profunctors reflection
-         semigroupoids semigroups tagged template-haskell text transformers
-         transformers-compat unordered-containers vector void
+         semigroupoids semigroups tagged template-haskell text
+         th-abstraction transformers transformers-compat
+         unordered-containers vector void
        ];
        testHaskellDepends = [
          base bytestring containers deepseq directory doctest filepath
@@ -117596,8 +118782,8 @@ self: {
     ({ mkDerivation, base, bindings-levmar, hmatrix, vector }:
      mkDerivation {
        pname = "levmar";
-       version = "1.2.1.6";
-       sha256 = "0zkllbk281jhny5sjzh4430jb5sm017rn1qp0mpfm51ydl55drlh";
+       version = "1.2.1.7";
+       sha256 = "07sdxa5xbgp26bjpchiy1g2n37chy95v0hfy8al5wyfbnlfws5xg";
        libraryHaskellDepends = [ base bindings-levmar hmatrix vector ];
        homepage = "https://github.com/basvandijk/levmar";
        description = "An implementation of the Levenberg-Marquardt algorithm";
@@ -118038,25 +119224,27 @@ self: {
     ({ mkDerivation, aeson, base, base-unicode-symbols, binary
      , boomerang, bytestring, concurrent-machines, containers
      , containers-unicode-symbols, contravariant, data-textual, dns
-     , exceptions, filepath, hjsonschema, lens, machines, managed
-     , monad-control, mtl, network, network-ip, parsers, pathtype
-     , protolude, QuickCheck, random, semigroups, stm, stm-containers
-     , temporary, test-framework, test-framework-quickcheck2
-     , test-framework-th, text, text-icu, text-icu-normalized
-     , text-printer, time, transformers, zippers
+     , exceptions, filepath, hjsonschema, lens, lifted-async
+     , lifted-base, machines, managed, monad-control, mtl, network
+     , network-ip, parsers, pathtype, protolude, QuickCheck, random
+     , semigroups, stm, stm-chans, stm-containers, temporary
+     , test-framework, test-framework-quickcheck2, test-framework-th
+     , text, text-icu, text-icu-normalized, text-printer, time
+     , transformers, transformers-base, zippers
      }:
      mkDerivation {
        pname = "liblawless";
-       version = "0.21.3";
-       sha256 = "042hk5lck8pp2zkpsqvr96lpaxnm7r0ai9nk0mhzxbq7x4hb6bd7";
+       version = "0.24.0";
+       sha256 = "1dqz2d8zgwb8i176fhga5637y8mfxiq0vq1ws0lsy9ijlpyiikmp";
        libraryHaskellDepends = [
          aeson base base-unicode-symbols binary boomerang bytestring
          concurrent-machines containers containers-unicode-symbols
-         contravariant data-textual dns exceptions hjsonschema lens machines
-         managed monad-control mtl network network-ip parsers pathtype
-         protolude QuickCheck random semigroups stm stm-containers temporary
-         text text-icu text-icu-normalized text-printer time transformers
-         zippers
+         contravariant data-textual dns exceptions hjsonschema lens
+         lifted-async lifted-base machines managed monad-control mtl network
+         network-ip parsers pathtype protolude QuickCheck random semigroups
+         stm stm-chans stm-containers temporary text text-icu
+         text-icu-normalized text-printer time transformers
+         transformers-base zippers
        ];
        testHaskellDepends = [
          aeson base binary bytestring exceptions filepath QuickCheck
@@ -118312,6 +119500,7 @@ self: {
        homepage = "https://github.com/portnov/libssh2-hs";
        description = "FFI bindings to libssh2 SSH2 client library (http://libssh2.org/)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libssh2; ssh2 = null;};
 
   "libssh2-conduit" = callPackage
@@ -118424,8 +119613,8 @@ self: {
     ({ mkDerivation, base, bytestring, cpu }:
      mkDerivation {
        pname = "libvorbis";
-       version = "0.1.0.1";
-       sha256 = "0ykv2jv559yalypadwnvpzv87rksn24b4h8qi9x1x6r2x4kbwvrl";
+       version = "0.1.0.2";
+       sha256 = "19mx07gvwsqhbish8cbbiplgpw75birn19sl0hhn2300kpryyxfb";
        libraryHaskellDepends = [ base bytestring cpu ];
        homepage = "https://github.com/the-real-blackh/libvorbis";
        description = "Haskell binding for libvorbis, for decoding Ogg Vorbis audio files";
@@ -118604,8 +119793,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-base";
-       version = "0.2.3.10";
-       sha256 = "1z149mwf839yc0l3islm485n6yfwxbdjfbwd8yi0vi3nn5hfaxz6";
+       version = "0.2.3.11";
+       sha256 = "1ass00wfa91z5xp2xmm97xrvwm7j5hdkxid5cqvr3xbwrsgpmi4f";
        libraryHaskellDepends = [ base monad-control transformers-base ];
        testHaskellDepends = [
          base HUnit monad-control test-framework test-framework-hunit
@@ -118854,6 +120043,7 @@ self: {
        homepage = "https://oss.xkcd.com/";
        description = "Zen gardening, based on l-systems";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lindenmayer" = callPackage
@@ -118892,7 +120082,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "line_3_0_1" = callPackage
+  "line_3_1_0" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , cryptohash-sha256, hspec, hspec-wai, http-conduit, http-types
      , QuickCheck, quickcheck-instances, raw-strings-qq, scotty, text
@@ -118900,8 +120090,8 @@ self: {
      }:
      mkDerivation {
        pname = "line";
-       version = "3.0.1";
-       sha256 = "0fc2g3mcb4x2vmdsm80zfia96r6cwyiifavvvfs0jr4gccman6q1";
+       version = "3.1.0";
+       sha256 = "0s5cp8si8iabbm53jsicy158xym6jpxllykfwjsn1c13kydq40by";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring cryptohash-sha256
          http-conduit http-types scotty text time transformers wai
@@ -119582,7 +120772,7 @@ self: {
        ];
        description = "Labeled File System interface for LIO";
        license = "GPL";
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
   "lio-simple" = callPackage
@@ -119680,7 +120870,6 @@ self: {
        homepage = "https://github.com/ucsd-progsys/liquid-fixpoint";
        description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) ocaml; inherit (pkgs) z3;};
 
   "liquidhaskell" = callPackage
@@ -119721,7 +120910,6 @@ self: {
        homepage = "https://github.com/ucsd-progsys/liquidhaskell";
        description = "Liquid Types for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) z3;};
 
   "liquidhaskell-cabal" = callPackage
@@ -119999,8 +121187,8 @@ self: {
      }:
      mkDerivation {
        pname = "list-tries";
-       version = "0.6.3";
-       sha256 = "0dcww6rfrahr3kkgda876dws2ahc3gb2g94acys8f9lwk2rjyipm";
+       version = "0.6.4";
+       sha256 = "0l1qm1n3sh6shzcl4g00w705gx0xy8qwnj68dlm18hsa9y0z572h";
        libraryHaskellDepends = [ base binary containers dlist ];
        testHaskellDepends = [
          base binary ChasingBottoms HUnit QuickCheck template-haskell
@@ -120122,6 +121310,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "liveplot" = callPackage
+    ({ mkDerivation, andromeda, base, bytestring, containers, directory
+     , filepath, GLFW-b, GLUtil, lens, linear, mvc, OpenGL, pipes
+     , pipes-extras, pipes-misc, stm, time, transformers, Vec, vector
+     , vinyl, vinyl-gl
+     }:
+     mkDerivation {
+       pname = "liveplot";
+       version = "0.0.1";
+       sha256 = "1gqbw6r0vpj18ks7xhzcalkfcl13cjx50s3w5p5f3kn63wihh197";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         andromeda base bytestring containers directory filepath GLFW-b
+         GLUtil lens linear mvc OpenGL pipes pipes-extras pipes-misc stm
+         time transformers Vec vector vinyl vinyl-gl
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Liveplotting";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) {andromeda = null;};
+
   "ll-picosat" = callPackage
     ({ mkDerivation, base, picosat }:
      mkDerivation {
@@ -120715,8 +121926,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, hedgehog, loc-test }:
      mkDerivation {
        pname = "loc";
-       version = "0.1.2.1";
-       sha256 = "1fsv8jibzw0sfymx9ccfb4hp7gmds415b2l679vsai9s83j8nr4g";
+       version = "0.1.2.3";
+       sha256 = "064q3hyjnfpa2r2290604m9pcgh9l1g9fbap176d3n7xknn3lvcc";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest hedgehog loc-test ];
        homepage = "https://github.com/chris-martin/haskell-libraries";
@@ -120795,8 +122006,8 @@ self: {
     ({ mkDerivation, base, monad-logger, text }:
      mkDerivation {
        pname = "located-monad-logger";
-       version = "0.1.0.0";
-       sha256 = "07azkz4zw0a8x3mld185knyg2rl0hz2zx67sgj0mpnh3m57q1dds";
+       version = "0.1.1.0";
+       sha256 = "1xkckg3qgqrqmkli9d6cbzqf5aanqpbxchy650yflpjygwapn4xn";
        libraryHaskellDepends = [ base monad-logger text ];
        homepage = "https://github.com/MailOnline/located-monad-logger#readme";
        description = "Location-aware logging without Template Haskell";
@@ -121312,6 +122523,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "logging-facade_0_3_0" = callPackage
+    ({ mkDerivation, base, call-stack, hspec, transformers }:
+     mkDerivation {
+       pname = "logging-facade";
+       version = "0.3.0";
+       sha256 = "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf";
+       libraryHaskellDepends = [ base call-stack transformers ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/sol/logging-facade#readme";
+       description = "Simple logging abstraction that allows multiple back-ends";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "logging-facade-journald" = callPackage
     ({ mkDerivation, base, hspec, libsystemd-journal, logging-facade
      , text, unordered-containers
@@ -121342,6 +122567,7 @@ self: {
        homepage = "https://github.com/peti/logging-facade-syslog#readme";
        description = "A logging back-end to syslog(3) for the logging-facade library";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "logic-TPTP" = callPackage
@@ -121439,10 +122665,11 @@ self: {
     ({ mkDerivation, base, hspec, hsyslog, logging-facade, time }:
      mkDerivation {
        pname = "logsink";
-       version = "0.1.0";
-       sha256 = "1yxzqx47017z0djm8bymz43pc8cccnpkawaisvvzb646j6nbrw93";
+       version = "0.2.0";
+       sha256 = "1mvxwfdqqk9hkkffz5fx0zrh27z9x44v2wp2jrjjmidj2k9i1hrh";
        libraryHaskellDepends = [ base hsyslog logging-facade time ];
-       testHaskellDepends = [ base hspec logging-facade ];
+       testHaskellDepends = [ base hspec hsyslog logging-facade time ];
+       homepage = "https://github.com/sol/logsink#readme";
        description = "A logging framework for Haskell";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -121924,6 +123151,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "loup" = callPackage
+    ({ mkDerivation, aeson, amazonka, amazonka-swf, base, bytestring
+     , conduit, lifted-async, monad-control, optparse-generic, preamble
+     , shakers, time, turtle, uuid, yaml
+     }:
+     mkDerivation {
+       pname = "loup";
+       version = "0.0.2";
+       sha256 = "1lfa20m67zncn9dpbbrdjq3qbv6qn2h1qb1iy0b5npan9sd85r5z";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson amazonka amazonka-swf base bytestring conduit lifted-async
+         monad-control preamble time turtle uuid yaml
+       ];
+       executableHaskellDepends = [ base optparse-generic shakers ];
+       homepage = "https://github.com/swift-nav/loup";
+       description = "Amazon Simple Workflow Service Wrapper for Work Pools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "lowgl" = callPackage
     ({ mkDerivation, base, gl, linear, vector }:
      mkDerivation {
@@ -122806,6 +124054,8 @@ self: {
        pname = "machines";
        version = "0.6.2";
        sha256 = "0p346dr68qmaiyhfn697nb13fwl07f5b945bihfwk7r8pjsl6l0w";
+       revision = "1";
+       editedCabalFile = "1aj0admkxs91x3bax0rsz073m8rpfingrwggj3hi4f7zprmynjj1";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base comonad containers distributive mtl pointed
@@ -122822,21 +124072,21 @@ self: {
      }) {};
 
   "machines-amazonka" = callPackage
-    ({ mkDerivation, amazonka, amazonka-core, amazonka-ec2, amazonka-s3
-     , amazonka-sts, base, concurrent-machines, containers, exceptions
-     , focus, free, hashable, liblawless, lifted-async, list-t
-     , monad-control, mtl, resourcet, stm, stm-containers, time
-     , transformers
+    ({ mkDerivation, amazonka, amazonka-autoscaling, amazonka-core
+     , amazonka-ec2, amazonka-s3, amazonka-sts, base
+     , concurrent-machines, containers, exceptions, focus, free
+     , hashable, liblawless, lifted-async, list-t, monad-control, mtl
+     , resourcet, stm, stm-containers, time, transformers
      }:
      mkDerivation {
        pname = "machines-amazonka";
-       version = "0.6.2";
-       sha256 = "0x0g8ff3dz8wasl6abv9hz6p34j4kln17snmgx5pdrmwqbgv9hfy";
+       version = "0.7.1";
+       sha256 = "02gqv35ld86gncjryi756zv5991qq7x9f535azs010b8y6mngvgk";
        libraryHaskellDepends = [
-         amazonka amazonka-core amazonka-ec2 amazonka-s3 amazonka-sts base
-         concurrent-machines containers exceptions focus free hashable
-         liblawless lifted-async list-t monad-control mtl resourcet stm
-         stm-containers time transformers
+         amazonka amazonka-autoscaling amazonka-core amazonka-ec2
+         amazonka-s3 amazonka-sts base concurrent-machines containers
+         exceptions focus free hashable liblawless lifted-async list-t
+         monad-control mtl resourcet stm stm-containers time transformers
        ];
        description = "Machine transducers for Amazonka calls";
        license = stdenv.lib.licenses.gpl3;
@@ -122855,6 +124105,17 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "machines-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, machines }:
+     mkDerivation {
+       pname = "machines-bytestring";
+       version = "0.1.0.0";
+       sha256 = "1rlc5pr70z899zjs2q5p7qy5pm9gjpnm9pww934cxmlwrp1sck9b";
+       libraryHaskellDepends = [ base bytestring machines ];
+       description = "ByteString support for machines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "machines-directory" = callPackage
     ({ mkDerivation, base, directory, filepath, machines, machines-io
      , transformers
@@ -123186,17 +124447,18 @@ self: {
 
   "mailchimp" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, generics-sop
-     , http-client, http-client-tls, servant, servant-client, text
-     , transformers
+     , hspec, http-client, http-client-tls, servant, servant-client
+     , text, transformers
      }:
      mkDerivation {
        pname = "mailchimp";
-       version = "0.2.0";
-       sha256 = "1np4lkghkqw1zkc27daqfdnp40swl25ck1mxkr7crydq56kfrjq3";
+       version = "0.3.0";
+       sha256 = "0s5v75mcvhbki7kl60cpwlxfzcjbc65lxdasm7zwb6agywyx5080";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring generics-sop http-client
          http-client-tls servant servant-client text transformers
        ];
+       testHaskellDepends = [ base hspec ];
        homepage = "https://github.com/jpvillaisaza/mailchimp-haskell";
        description = "Bindings for the MailChimp API";
        license = stdenv.lib.licenses.mit;
@@ -123383,13 +124645,13 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "makefile_1_0_0_2" = callPackage
+  "makefile_1_0_0_3" = callPackage
     ({ mkDerivation, attoparsec, base, doctest, Glob, QuickCheck, text
      }:
      mkDerivation {
        pname = "makefile";
-       version = "1.0.0.2";
-       sha256 = "197cbh921nf58assp1rswvcqj2b5n0vl46k104fylchnp2cdpzfd";
+       version = "1.0.0.3";
+       sha256 = "0w36rxzx4ryhrmjayqm9fad2zpkxnq4dmpxshd8q2x8wa3wp8j5p";
        libraryHaskellDepends = [ attoparsec base text ];
        testHaskellDepends = [
          attoparsec base doctest Glob QuickCheck text
@@ -124569,6 +125831,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "matplotlib_0_5_0" = callPackage
+    ({ mkDerivation, ad, aeson, base, bytestring, containers, filepath
+     , process, random, raw-strings-qq, split, tasty
+     , tasty-expected-failure, tasty-golden, tasty-hunit, temporary
+     }:
+     mkDerivation {
+       pname = "matplotlib";
+       version = "0.5.0";
+       sha256 = "0mfmrgh7axyv6ybkks3n5na2cg3jfhbfjbrv4p2dhwzyf9hc076z";
+       libraryHaskellDepends = [
+         aeson base bytestring containers filepath process split temporary
+       ];
+       testHaskellDepends = [
+         ad base bytestring process random raw-strings-qq split tasty
+         tasty-expected-failure tasty-golden tasty-hunit temporary
+       ];
+       homepage = "https://github.com/abarbu/matplotlib-haskell";
+       description = "Bindings to Matplotlib; a Python plotting library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "matrices" = callPackage
     ({ mkDerivation, base, criterion, deepseq, primitive, tasty
      , tasty-hunit, tasty-quickcheck, vector
@@ -124664,6 +125948,88 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "matterhorn" = callPackage
+    ({ mkDerivation, base, base-compat, brick, bytestring, cheapskate
+     , checkers, config-ini, connection, containers, directory, filepath
+     , gitrev, hashable, Hclip, mattermost-api, mattermost-api-qc
+     , microlens-platform, mtl, process, quickcheck-text, stm, strict
+     , string-conversions, tasty, tasty-hunit, tasty-quickcheck
+     , temporary, text, text-zipper, time, transformers, Unique
+     , unordered-containers, utf8-string, vector, vty, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "matterhorn";
+       version = "30802.1.0";
+       sha256 = "0sn8r6yaq2mc034dp9ib5gfcvw30p1a2frqkcmk9f9bjk22r5ix9";
+       revision = "2";
+       editedCabalFile = "1jrnxx144ckngbvk7sr3sw9im8a2w57dzqwzvdpxr2ql3hanwf2c";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base base-compat brick bytestring cheapskate config-ini connection
+         containers directory filepath gitrev hashable Hclip mattermost-api
+         microlens-platform mtl process stm strict temporary text
+         text-zipper time transformers unordered-containers utf8-string
+         vector vty xdg-basedir
+       ];
+       testHaskellDepends = [
+         base base-compat brick bytestring cheapskate checkers config-ini
+         connection containers directory filepath hashable Hclip
+         mattermost-api mattermost-api-qc microlens-platform mtl process
+         quickcheck-text stm strict string-conversions tasty tasty-hunit
+         tasty-quickcheck text text-zipper time transformers Unique
+         unordered-containers vector vty xdg-basedir
+       ];
+       description = "Terminal client for the MatterMost chat system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mattermost-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, containers
+     , cryptonite, gitrev, hashable, HTTP, HUnit, memory, microlens
+     , microlens-th, mtl, network-uri, pretty-show, process, stm, tasty
+     , tasty-hunit, template-haskell, text, time, unordered-containers
+     , websockets
+     }:
+     mkDerivation {
+       pname = "mattermost-api";
+       version = "30802.1.0";
+       sha256 = "0bbg37aj6jxrdvy1zx9q143s7gjhx5dnba9y8vyjcfgypyzlggsv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring connection containers cryptonite gitrev
+         hashable HTTP memory microlens microlens-th network-uri pretty-show
+         process stm template-haskell text time unordered-containers
+         websockets
+       ];
+       testHaskellDepends = [
+         aeson base containers HUnit mtl pretty-show stm tasty tasty-hunit
+         text unordered-containers
+       ];
+       description = "Client API for MatterMost chat system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mattermost-api-qc" = callPackage
+    ({ mkDerivation, base, containers, mattermost-api, QuickCheck, text
+     , time
+     }:
+     mkDerivation {
+       pname = "mattermost-api-qc";
+       version = "30802.1.0";
+       sha256 = "0rld7i62z66w0c0jfrk6kj7a8ha6hczmavdy3qss14p3z651l8p3";
+       libraryHaskellDepends = [
+         base containers mattermost-api QuickCheck text time
+       ];
+       homepage = "https://github.com/matterhorn-chat/mattermost-api-qc";
+       description = "QuickCheck instances for the Mattermost client API library";
+       license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "maude" = callPackage
     ({ mkDerivation, base, directory, filepath, process, process-extras
      , temporary, text, xml
@@ -124888,6 +126254,7 @@ self: {
        ];
        description = "Bindings to mcl, a generic and fast pairing-based cryptography library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gmpxx; mcl = null; inherit (pkgs) openssl;};
 
   "mcm" = callPackage
@@ -125463,6 +126830,8 @@ self: {
        pname = "megaparsec";
        version = "5.3.0";
        sha256 = "0lpf3f24lyid1chb2hrxiw97kciww844wzkp910zj811b6pbm6rs";
+       revision = "1";
+       editedCabalFile = "185fy44b3ivblh7hw2d18r494g0b4m9wp02m5ms85f8b57r90jws";
        libraryHaskellDepends = [
          base bytestring containers deepseq exceptions mtl QuickCheck
          scientific text transformers
@@ -125496,14 +126865,14 @@ self: {
      }:
      mkDerivation {
        pname = "mellon-core";
-       version = "0.7.1.0";
-       sha256 = "0nj2glhlmgc7mipqbjzcdy0bkdsr78gw930b9vp893ak66wvfca3";
+       version = "0.7.1.1";
+       sha256 = "1s3a5wkfi9pjxgsg92cx5sgf8kwlvc423414k679b2il97ff1cwf";
        libraryHaskellDepends = [ async base mtl time transformers ];
        testHaskellDepends = [
          async base doctest hlint hspec mtl QuickCheck quickcheck-instances
          time transformers
        ];
-       homepage = "https://github.com/dhess/mellon/";
+       homepage = "https://github.com/quixoftic/mellon/";
        description = "Control physical access devices";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -125513,11 +126882,11 @@ self: {
     ({ mkDerivation, base, hlint, hpio, mellon-core }:
      mkDerivation {
        pname = "mellon-gpio";
-       version = "0.7.1.0";
-       sha256 = "153dmi0l7xf2gj3abd8i4apjhnmvapsc0m36ias3madk40vyi89a";
+       version = "0.7.1.1";
+       sha256 = "0mq5p462rm8h2nwkdqhwfndi3qqjcqb30hwlpa8ms3d4bjn8xdan";
        libraryHaskellDepends = [ base hpio mellon-core ];
        testHaskellDepends = [ base hlint ];
-       homepage = "https://github.com/dhess/mellon/";
+       homepage = "https://github.com/quixoftic/mellon/";
        description = "GPIO support for mellon";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -125535,8 +126904,8 @@ self: {
      }:
      mkDerivation {
        pname = "mellon-web";
-       version = "0.7.1.0";
-       sha256 = "114g7wj5sfm5qc1yi4z8hz9j65chgp65zdqkgn2wb8zx9grnjsmh";
+       version = "0.7.1.1";
+       sha256 = "0x9pj12lfk2yk18rp81s6dvh70rybrzcwclnwxwsqvfza3p3kpzc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125557,7 +126926,7 @@ self: {
          servant-lucid servant-server servant-swagger servant-swagger-ui
          swagger2 text time transformers wai wai-extra warp
        ];
-       homepage = "https://github.com/dhess/mellon/";
+       homepage = "https://github.com/quixoftic/mellon/";
        description = "A REST web service for Mellon controllers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -125826,6 +127195,8 @@ self: {
        pname = "memory";
        version = "0.14.5";
        sha256 = "01d1bg8pkhw9mpyd7nm5zzpqv9kh9cj2fkd2ywvkay7np2r14820";
+       revision = "1";
+       editedCabalFile = "01g68h3r1h15rrbfsbbk0195fyn93x256j8xwzlb11074sdwr0gy";
        libraryHaskellDepends = [
          base bytestring deepseq foundation ghc-prim
        ];
@@ -125835,6 +127206,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "memory_0_14_6" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, foundation, ghc-prim
+     , tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "memory";
+       version = "0.14.6";
+       sha256 = "0q61zxdlgcw7wg244hb3c11qm5agrmnmln0h61sz2mj72xqc1pn7";
+       libraryHaskellDepends = [
+         base bytestring deepseq foundation ghc-prim
+       ];
+       testHaskellDepends = [
+         base foundation tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/vincenthz/hs-memory";
+       description = "memory and related abstraction stuff";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "memorypool" = callPackage
     ({ mkDerivation, base, containers, transformers, unsafe, vector }:
      mkDerivation {
@@ -125863,6 +127254,31 @@ self: {
        license = "GPL";
      }) {};
 
+  "mercury-api" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, clock, directory
+     , hashable, HUnit, optparse-applicative, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "mercury-api";
+       version = "0.1.0.0";
+       sha256 = "0pyrfwl0jzm8v25aviqflfw4q95hlkq9n6ps44shzb9l0bm5zls1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring clock hashable text
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base bytestring optparse-applicative text
+       ];
+       testHaskellDepends = [
+         base bytestring directory HUnit optparse-applicative text
+       ];
+       homepage = "https://github.com/ppelleti/hs-mercury-api";
+       description = "Haskell binding to Mercury API for ThingMagic RFID readers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "merge-bash-history" = callPackage
     ({ mkDerivation, attoparsec, base, data-ordlist, errors
      , optparse-applicative, text
@@ -126415,6 +127831,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microstache" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , directory, filepath, hspec, parsec, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "microstache";
+       version = "1";
+       sha256 = "0r3ia4hamyrij4vdaa6vnfwhgv40xr4g9wcigi6yhm4ymkz5p1z8";
+       libraryHaskellDepends = [
+         aeson base bytestring containers deepseq directory filepath parsec
+         text transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers hspec parsec text
+       ];
+       homepage = "https://github.com/phadej/microstache";
+       description = "Mustache templates for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "microtimer" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -126506,7 +127943,7 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/MIDI";
        description = "Convert between datatypes of the midi and the alsa packages";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
   "midi-music-box" = callPackage
@@ -127445,6 +128882,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmorph_1_1_0" = callPackage
+    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
+     mkDerivation {
+       pname = "mmorph";
+       version = "1.1.0";
+       sha256 = "1pklvg28hjfsq5r66x4igjrxbdq0l74g6lirrvsh6ckmc1av9g61";
+       revision = "1";
+       editedCabalFile = "0ppf6icblgrmiaa09s2plg1m2818pp2l9rd7c821q0zq266v79wi";
+       libraryHaskellDepends = [
+         base mtl transformers transformers-compat
+       ];
+       description = "Monad morphisms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmtf" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, data-msgpack
      , hspec, QuickCheck, text
@@ -129207,7 +130660,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "mongoDB_2_2_0" = callPackage
+  "mongoDB_2_3_0" = callPackage
     ({ mkDerivation, array, base, base16-bytestring, base64-bytestring
      , binary, bson, bytestring, conduit, conduit-extra, containers
      , criterion, cryptohash, data-default-class, hashtables, hspec
@@ -129217,8 +130670,8 @@ self: {
      }:
      mkDerivation {
        pname = "mongoDB";
-       version = "2.2.0";
-       sha256 = "0saxkir0155ssshs76nj73srb549p01s6cxg3qlyn8zynl9y44xw";
+       version = "2.3.0";
+       sha256 = "024w6183nnaq30r9jnfiy5pjv422mnnkawqdgzgzafngi7sad322";
        libraryHaskellDepends = [
          array base base16-bytestring base64-bytestring binary bson
          bytestring conduit conduit-extra containers cryptohash
@@ -129300,8 +130753,10 @@ self: {
      }:
      mkDerivation {
        pname = "monky";
-       version = "2.1.3.0";
-       sha256 = "0skkf8xsvc5hj8jy4p10503smc1wn76mk2v8y7964i7dla8yw3x8";
+       version = "2.2.0.0";
+       sha256 = "1bh86myk4nar4ckq0sly7hvj3bzz022yh2sgmfchr6wb05g92pav";
+       revision = "1";
+       editedCabalFile = "00666fcv432m8whkmnwpijjvj5w5xa64iv7wrcsrc3dcwq5wy20g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129454,6 +130909,8 @@ self: {
        pname = "monoid-subclasses";
        version = "0.4.3.1";
        sha256 = "1kc34w94w59vd3s4ird0mwksv9gqwmb4d4m2gld6155n2rwx0w51";
+       revision = "1";
+       editedCabalFile = "1fplps682kir8phq2fkzrnbp8qf9i29rgikg47wc5diw70g2wy26";
        libraryHaskellDepends = [
          base bytestring containers primes text vector
        ];
@@ -129748,8 +131205,8 @@ self: {
      }:
      mkDerivation {
        pname = "morte";
-       version = "1.6.6";
-       sha256 = "09ffljl5p76nb2lcbsvb1nvl7x60787vgk2jyp2v1pf4rshdycy9";
+       version = "1.6.7";
+       sha256 = "16h33fk02zyjf73xvz73p5aqvvv2i6ax8b42fv87rybabsa3h0j5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131228,6 +132685,8 @@ self: {
        pname = "music-pitch-literal";
        version = "1.9.0";
        sha256 = "0vsvw7c29qvi69z9gy2zzq9bpajmjd5vs1kll7jw0qbsh28jsqql";
+       revision = "1";
+       editedCabalFile = "0v86clbcjkgg7psx8jbxq4za66v8ln1vkr7ywrm0vz6vbgkg356f";
        libraryHaskellDepends = [ base semigroups ];
        description = "Overloaded pitch literals";
        license = stdenv.lib.licenses.bsd3;
@@ -131441,7 +132900,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "mustache_2_2_2" = callPackage
+  "mustache_2_2_3" = callPackage
     ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
      , cmdargs, containers, directory, either, filepath, hspec, lens
      , mtl, parsec, process, scientific, tar, template-haskell
@@ -131450,8 +132909,8 @@ self: {
      }:
      mkDerivation {
        pname = "mustache";
-       version = "2.2.2";
-       sha256 = "1sn8agk413ngibh1zi96vqbc8j9p3hfrkirbz6vc8xpr4060rzdc";
+       version = "2.2.3";
+       sha256 = "1gy21h97ckjy7lkncm7zyn7bfcpyj488cc7cqy65qapryr9sa5aj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131893,6 +133352,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mysql-haskell_0_8_1_0" = callPackage
+    ({ mkDerivation, base, binary, binary-ieee754, binary-parsers
+     , blaze-textual, bytestring, bytestring-lexing, cryptonite
+     , io-streams, memory, monad-loops, network, scientific, tasty
+     , tasty-hunit, tcp-streams, text, time, tls, vector, wire-streams
+     , word24
+     }:
+     mkDerivation {
+       pname = "mysql-haskell";
+       version = "0.8.1.0";
+       sha256 = "02nxfm3y7f24gqs4hac5pk2q32l0xvaspby6n56zcrdwmpfs3241";
+       libraryHaskellDepends = [
+         base binary binary-ieee754 binary-parsers blaze-textual bytestring
+         bytestring-lexing cryptonite io-streams memory monad-loops network
+         scientific tcp-streams text time tls vector wire-streams word24
+       ];
+       testHaskellDepends = [
+         base bytestring io-streams tasty tasty-hunit text time vector
+       ];
+       homepage = "https://github.com/winterland1989/mysql-haskell";
+       description = "pure haskell MySQL driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mysql-haskell-nem" = callPackage
     ({ mkDerivation, base, bytestring, io-streams, mysql-haskell
      , scientific, text, time
@@ -132053,6 +133537,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "n-tuple" = callPackage
+    ({ mkDerivation, base, singletons, vector }:
+     mkDerivation {
+       pname = "n-tuple";
+       version = "0.0.1.1";
+       sha256 = "1pwz4rs0bbanhlwcm7v06s4dkwr3h41w203kab1s7k201na7j9r1";
+       libraryHaskellDepends = [ base singletons vector ];
+       homepage = "https://github.com/athanclark/n-tuple#readme";
+       description = "Homogeneous tuples of arbitrary length";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "nagios-check" = callPackage
     ({ mkDerivation, base, bifunctors, exceptions, hspec, mtl
      , QuickCheck, text
@@ -133404,8 +134900,10 @@ self: {
      }:
      mkDerivation {
        pname = "network";
-       version = "2.6.3.1";
-       sha256 = "1rl2gl37cf4k0ddsq93q15fwdz1l25nhl4w205krbh7d5dg5y12p";
+       version = "2.6.3.2";
+       sha256 = "1dn092zfqmxfbzln6d0khka4gizzjivf2yja9w9hwb5g9q3pfi1m";
+       revision = "1";
+       editedCabalFile = "17234sy0vqic8g9wg8gmfmc0by50scjwbdk8bkcl9kjf3fvs4nyx";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [
          base bytestring doctest HUnit test-framework test-framework-hunit
@@ -134253,6 +135751,8 @@ self: {
        pname = "network-uri";
        version = "2.6.1.0";
        sha256 = "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2";
+       revision = "1";
+       editedCabalFile = "141nj7q0p9wkn5gr41ayc63cgaanr9m59yym47wpxqr3c334bk32";
        libraryHaskellDepends = [ base deepseq parsec ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit
@@ -134640,8 +136140,8 @@ self: {
     ({ mkDerivation, async, base, bytestring, template-haskell, unix }:
      mkDerivation {
        pname = "ngx-export";
-       version = "0.3.0.0";
-       sha256 = "0mr6mvii02cpd6c6bjhnb0zk7qzf8mkzhi7xclm0cffpwks2g1q6";
+       version = "0.3.2.1";
+       sha256 = "0rmvws1k58iqlcb0h0089l4niki1v90hr15mifjj2jbzrmlas26n";
        libraryHaskellDepends = [
          async base bytestring template-haskell unix
        ];
@@ -134689,6 +136189,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "nice-html" = callPackage
+    ({ mkDerivation, base, bifunctors, blaze-html, blaze-markup
+     , bytestring, criterion, data-default-class, deepseq, free, lucid
+     , pretty-show, recursion-schemes, template-haskell, text
+     , transformers, vector, weigh
+     }:
+     mkDerivation {
+       pname = "nice-html";
+       version = "0.2.0";
+       sha256 = "0lkqqfp6x3w9lxh1jgm6c07pyfz1yr7drkr15s1m9vwvdh7mj24v";
+       libraryHaskellDepends = [
+         base bifunctors blaze-markup bytestring data-default-class deepseq
+         free recursion-schemes template-haskell text transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html blaze-markup bytestring criterion lucid pretty-show
+         text weigh
+       ];
+       homepage = "https://github.com/mikeplus64/nice-html#readme";
+       description = "A fast and nice HTML templating library with distinct compilation/rendering phases";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "nicify" = callPackage
     ({ mkDerivation, base, nicify-lib }:
      mkDerivation {
@@ -135228,8 +136751,8 @@ self: {
     ({ mkDerivation, base, checkers, QuickCheck }:
      mkDerivation {
        pname = "non-empty-zipper";
-       version = "0.1.0.7";
-       sha256 = "1zl1l3yjkwbk693p5y6svgv6hrpbipphcmjb5lxbyig0zfc0r13b";
+       version = "0.1.0.8";
+       sha256 = "0fyq9x0x04pv45v73mkc273ih5kd9ac40psr00zva58n352f9az9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base checkers QuickCheck ];
        description = "The Zipper for NonEmpty";
@@ -135250,18 +136773,15 @@ self: {
      }) {};
 
   "nonce" = callPackage
-    ({ mkDerivation, base, base64-bytestring, bytestring, cprng-aes
-     , crypto-random, text, transformers
+    ({ mkDerivation, base, base64-bytestring, bytestring, entropy, text
+     , transformers
      }:
      mkDerivation {
        pname = "nonce";
-       version = "1.0.2";
-       sha256 = "1l4w6bdrwa42r90n6xzwr8lz2fdrn3m763ls311pnygajr4ih10h";
-       revision = "1";
-       editedCabalFile = "012hkf9hlvwmlbf1n1v05vgidssxv99z4bq2lbpbf1dlb366madj";
+       version = "1.0.4";
+       sha256 = "1xkf107sbcm3pvm6r4xk4719sccaq2kzja6nf8bky9m7vpiilrji";
        libraryHaskellDepends = [
-         base base64-bytestring bytestring cprng-aes crypto-random text
-         transformers
+         base base64-bytestring bytestring entropy text transformers
        ];
        homepage = "https://github.com/prowdsponsor/nonce";
        description = "Generate cryptographic nonces";
@@ -135370,6 +136890,8 @@ self: {
        pname = "normalization-insensitive";
        version = "2.0.0.1";
        sha256 = "178hipiqlkqjp88wivid1jyg718mb38i5731zggfp9misbpj5y8p";
+       revision = "1";
+       editedCabalFile = "0hp6v44slmxa3i6cs68ffa5wlkd4bj695l1fh058mhi64bhvql8x";
        libraryHaskellDepends = [
          base bytestring deepseq hashable text unicode-transforms
        ];
@@ -136953,24 +138475,6 @@ self: {
      }) {};
 
   "one-liner" = callPackage
-    ({ mkDerivation, base, bifunctors, contravariant, ghc-prim
-     , profunctors, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "one-liner";
-       version = "0.8.1";
-       sha256 = "0ma4cas2nvih95z9xbp888zzxx6znawc470v2znb2brba386n4xr";
-       libraryHaskellDepends = [
-         base bifunctors contravariant ghc-prim profunctors tagged
-         transformers
-       ];
-       homepage = "https://github.com/sjoerdvisscher/one-liner";
-       description = "Constraint-based generics";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "one-liner_0_9" = callPackage
     ({ mkDerivation, base, bifunctors, contravariant, ghc-prim, HUnit
      , profunctors, tagged, transformers
      }:
@@ -137877,6 +139381,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "openweathermap" = callPackage
+    ({ mkDerivation, aeson, base, directory, http-client
+     , optparse-applicative, servant, servant-client, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "openweathermap";
+       version = "0.0.0";
+       sha256 = "1ndd54pwbgkk10ah6125hgs8gn6l2bzz2r0mkc2f30y90m8mr7ll";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base http-client servant servant-client
+       ];
+       executableHaskellDepends = [
+         base directory optparse-applicative xdg-basedir
+       ];
+       description = "Access data at OpenWeatherMap";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "operate-do" = callPackage
     ({ mkDerivation, base, charset, doctest, filemanip
      , haskell-src-meta, hspec, QuickCheck, template-haskell
@@ -138186,6 +139710,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-applicative_0_14_0_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, process
+     , QuickCheck, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "optparse-applicative";
+       version = "0.14.0.0";
+       sha256 = "06iwp1qsq0gjhnhxwyhdhldwvhlgcik6lx5jxpbb40fispyk4nxm";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base process transformers transformers-compat
+       ];
+       testHaskellDepends = [ base bytestring QuickCheck ];
+       homepage = "https://github.com/pcapriotti/optparse-applicative";
+       description = "Utilities and combinators for parsing command line options";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "optparse-applicative-simple" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-data, base-prelude
      , optparse-applicative, rerebase, text
@@ -139008,6 +140550,8 @@ self: {
        pname = "packunused";
        version = "0.1.2";
        sha256 = "0ijlpdmsjb4rh94rcamxdg69xrza0s5clv3ipf2h3rgnidbgznfk";
+       revision = "1";
+       editedCabalFile = "1mzjb3bkxxfy19zwcpdh96n8c28vb1ml19zjpgvyirf0qi6rz6m7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -139130,6 +140674,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pagination_0_2_0" = callPackage
+    ({ mkDerivation, base, deepseq, exceptions, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "pagination";
+       version = "0.2.0";
+       sha256 = "04jzwg9r0f8rza9zkzqfynx76snfw54kppfk9z5bjgqw6pqpx2jh";
+       libraryHaskellDepends = [ base deepseq exceptions ];
+       testHaskellDepends = [ base exceptions hspec QuickCheck ];
+       homepage = "https://github.com/mrkkrp/pagination";
+       description = "Framework-agnostic pagination boilerplate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pagure-hook-receiver" = callPackage
     ({ mkDerivation, base, containers, scotty, shelly, text
      , transformers, unix
@@ -139195,7 +140753,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Haskell binding for C PAM API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) pam;};
 
   "panda" = callPackage
@@ -139236,8 +140794,8 @@ self: {
        pname = "pandoc";
        version = "1.19.2.1";
        sha256 = "00bq5h70byfs1fnszkggwws33hp7dpr7lzs0lfdvp5dzfwyjys88";
-       revision = "3";
-       editedCabalFile = "0lpsrqabjrcjx6xycr8xkcqm0ma7bacgh5jlhfwj7ayh5wlnsxqa";
+       revision = "4";
+       editedCabalFile = "0r5lypd2jxsh221djvb49an7zcn4dlzr563cyf5xchchhnz9mcxp";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -139305,6 +140863,40 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-citeproc_0_10_5_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , containers, data-default, directory, filepath, hs-bibutils, mtl
+     , old-locale, pandoc, pandoc-types, parsec, process, rfc5051
+     , setenv, split, syb, tagsoup, temporary, text, time
+     , unordered-containers, vector, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-citeproc";
+       version = "0.10.5.1";
+       sha256 = "10x7rpz48611696fw7h9m62qm1y9qxzvrc2jk0b9h840mn08n0s9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hs-bibutils mtl old-locale pandoc pandoc-types parsec rfc5051
+         setenv split syb tagsoup text time unordered-containers vector
+         xml-conduit yaml
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring filepath pandoc
+         pandoc-types syb text yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath mtl pandoc pandoc-types
+         process temporary text yaml
+       ];
+       doCheck = false;
+       homepage = "https://github.com/jgm/pandoc-citeproc";
+       description = "Supports using pandoc with citeproc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
      }:
@@ -139575,6 +141167,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pang-a-lambda" = callPackage
+    ({ mkDerivation, base, bytestring, containers, IfElse, mtl, SDL
+     , SDL-gfx, SDL-ttf, transformers, Yampa
+     }:
+     mkDerivation {
+       pname = "pang-a-lambda";
+       version = "0.2.0.0";
+       sha256 = "0cnz4n2vywj4w9cnj7kh6jml6k29li9wnaifnwn69b6883043iwm";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring containers IfElse mtl SDL SDL-gfx SDL-ttf
+         transformers Yampa
+       ];
+       description = "A super-pang clone";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pango" = callPackage
     ({ mkDerivation, array, base, Cabal, cairo, containers, directory
      , filepath, glib, gtk2hs-buildtools, mtl, pango, pretty, process
@@ -139637,6 +141248,7 @@ self: {
        homepage = "http://chriswarbo.net/essays/activecode";
        description = "Pandoc filter to execute code blocks";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pansite" = callPackage
@@ -140746,6 +142358,8 @@ self: {
        pname = "parsers";
        version = "0.12.4";
        sha256 = "07najh7f9y3ahh42z96sw4hnd0kc4x3wm0xlf739y0gh81ys5097";
+       revision = "1";
+       editedCabalFile = "1y63jydbb5jsxj66ac0wljk0dyg4prrn2ik1rm636v9g0s8lf2di";
        libraryHaskellDepends = [
          attoparsec base base-orphans charset containers parsec scientific
          text transformers unordered-containers
@@ -140759,6 +142373,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "parsers_0_12_5" = callPackage
+    ({ mkDerivation, attoparsec, base, base-orphans, bytestring, Cabal
+     , cabal-doctest, charset, containers, directory, doctest, filepath
+     , mtl, parsec, QuickCheck, quickcheck-instances, scientific, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "parsers";
+       version = "0.12.5";
+       sha256 = "1azwy5wfjv75kjwcyrglq70dmc8f6a091bgyv0wsls4f5zv0qb3k";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         attoparsec base base-orphans charset containers mtl parsec
+         scientific text transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring containers directory doctest filepath
+         parsec QuickCheck quickcheck-instances
+       ];
+       homepage = "http://github.com/ekmett/parsers/";
+       description = "Parsing combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "parsestar" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, bytestring-mmap
      , bytestring-nums, bytestring-show, containers, deepseq, derive
@@ -141001,28 +142640,6 @@ self: {
 
   "patat" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
-     , bytestring, containers, directory, filepath, highlighting-kate
-     , mtl, optparse-applicative, pandoc, terminal-size, text, time
-     , unordered-containers, yaml
-     }:
-     mkDerivation {
-       pname = "patat";
-       version = "0.5.1.2";
-       sha256 = "0yx5g8kl02abj51mql45c5jv78f367dx42kbb5z992sba7j0q93r";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson ansi-terminal ansi-wl-pprint base bytestring containers
-         directory filepath highlighting-kate mtl optparse-applicative
-         pandoc terminal-size text time unordered-containers yaml
-       ];
-       homepage = "http://github.com/jaspervdj/patat";
-       description = "Terminal-based presentations using Pandoc";
-       license = stdenv.lib.licenses.gpl2;
-     }) {};
-
-  "patat_0_5_2_0" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
      , bytestring, containers, directory, filepath, mtl
      , optparse-applicative, pandoc, skylighting, terminal-size, text
      , time, unordered-containers, yaml
@@ -141041,7 +142658,6 @@ self: {
        homepage = "http://github.com/jaspervdj/patat";
        description = "Terminal-based presentations using Pandoc";
        license = stdenv.lib.licenses.gpl2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "patch-combinators" = callPackage
@@ -141151,6 +142767,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "path-io_1_3_0" = callPackage
+    ({ mkDerivation, base, containers, directory, exceptions, filepath
+     , hspec, path, temporary, time, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "path-io";
+       version = "1.3.0";
+       sha256 = "1s3rkhfqcrnb3yalwlzd6ldvqlvwgf0h8yzc85l5gld8mwjs2lif";
+       libraryHaskellDepends = [
+         base containers directory exceptions filepath path temporary time
+         transformers unix-compat
+       ];
+       testHaskellDepends = [
+         base exceptions hspec path transformers unix-compat
+       ];
+       homepage = "https://github.com/mrkkrp/path-io";
+       description = "Interface to ‘directory’ package for users of ‘path’";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "path-pieces" = callPackage
     ({ mkDerivation, base, hspec, HUnit, QuickCheck, text, time }:
      mkDerivation {
@@ -141192,6 +142829,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "paths" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, directory, filepath
+     , time
+     }:
+     mkDerivation {
+       pname = "paths";
+       version = "0.1";
+       sha256 = "0cccvc2p04rmhbg61jaa592jd86dp08ipamk3ddvswr5ih3rhdgx";
+       libraryHaskellDepends = [
+         base bytestring deepseq directory filepath time
+       ];
+       description = "Library for representing and manipulating type-safe file paths";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pathtype" = callPackage
     ({ mkDerivation, base, deepseq, directory, old-time, QuickCheck
      , random, tagged, time, transformers, utility-ht
@@ -142512,26 +144164,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.6.0.1";
-       sha256 = "1gjci54yv8kk0i3sqq4n70wp7j7bww98zdxwf7clw23wa42ihyvc";
-       libraryHaskellDepends = [
-         aeson base blaze-builder bytestring conduit containers
-         monad-control monad-logger mysql mysql-simple persistent
-         resource-pool resourcet text transformers
-       ];
-       homepage = "http://www.yesodweb.com/book/persistent";
-       description = "Backend for the persistent library using MySQL database server";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "persistent-mysql_2_6_0_2" = callPackage
-    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
-     , containers, monad-control, monad-logger, mysql, mysql-simple
-     , persistent, resource-pool, resourcet, text, transformers
-     }:
-     mkDerivation {
-       pname = "persistent-mysql";
        version = "2.6.0.2";
        sha256 = "0i6m70fh0qs05xgm7c6wpsb815xn370jn29s352zg994rhlkmv0i";
        libraryHaskellDepends = [
@@ -142704,8 +144336,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-relational-record";
-       version = "0.1.0.0";
-       sha256 = "0w48b8n5w97wxg76br9n61l4hpyl5p8vbnrhkjg8hg5zra5qbddj";
+       version = "0.1.1.0";
+       sha256 = "145am29vwjvvs93z8kqj4dgh71h64ascmqnd70w9g9qszb2rjwrm";
        libraryHaskellDepends = [
          base conduit containers mtl persistable-record persistent
          relational-query resourcet template-haskell text
@@ -143689,6 +145321,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pinch_0_3_2_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , ghc-prim, hashable, hspec, hspec-discover, QuickCheck, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "pinch";
+       version = "0.3.2.0";
+       sha256 = "0r0pxdhzlmfg8h13fi10bvy1wxvsk1ckzzlcxbpg6zrly9n0z4m1";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq ghc-prim hashable text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec hspec-discover QuickCheck text
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/abhinav/pinch#readme";
+       description = "An alternative implementation of Thrift for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pinchot" = callPackage
     ({ mkDerivation, base, containers, Earley, lens, pretty-show
      , semigroups, template-haskell, transformers
@@ -143743,8 +145398,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.3";
-       sha256 = "0sgnlawi06mcwvm986vrixrmjdd3fy436kwfij8gn01vpa5p53bl";
+       version = "4.3.4";
+       sha256 = "08am4yxn0f2aizyh34g6nwm7l9i2bxd0s38dsfwqm6h0sdvfsffb";
        libraryHaskellDepends = [
          base exceptions mmorph mtl transformers void
        ];
@@ -144168,8 +145823,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-extras";
-       version = "1.0.9";
-       sha256 = "0irdf86i83nprymc276jcc7zng1c8nqzf7ksnd1jmrsp6v2r488h";
+       version = "1.0.10";
+       sha256 = "1an1ca8dbwnz7jsz0l9gyrzgibyhl46p855m3hzvy0jvhai0fz2j";
        libraryHaskellDepends = [ base foldl pipes transformers ];
        testHaskellDepends = [
          base HUnit pipes test-framework test-framework-hunit transformers
@@ -145037,8 +146692,8 @@ self: {
      }:
      mkDerivation {
        pname = "plan-b";
-       version = "0.2.0";
-       sha256 = "0sf7h18wddwlspg5gglfnbcha534nhm5va6idrd6mqqfk8j4nrgi";
+       version = "0.2.1";
+       sha256 = "038w0y90k7fn13ba5vrpyxa6vjn03lxqdnd2vgki9hmb4idxiakv";
        libraryHaskellDepends = [
          base exceptions path path-io transformers
        ];
@@ -145343,6 +146998,8 @@ self: {
        pname = "plugins";
        version = "1.5.6.0";
        sha256 = "1l40i9n4iqsj2pw5kv7p8mkfg9vninplasz27zdgfs4hxd9pxl8q";
+       revision = "1";
+       editedCabalFile = "0l4sx1d9lgs6yr23dq4ccz1la9i94cz4nfvpdkpr5wni40mzl2m3";
        libraryHaskellDepends = [
          array base Cabal containers directory filepath ghc ghc-paths
          ghc-prim haskell-src process random
@@ -146325,6 +147982,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "portager" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hspec, lens
+     , mtl, optparse-applicative, QuickCheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "portager";
+       version = "0.1.1.0";
+       sha256 = "0yxrld29mp48vv9i301qx0lrpsvbbpwpmsk4vqhg5wygk9qsbsbn";
+       revision = "1";
+       editedCabalFile = "1mak5a3y5ip0n6ygq33cbr132j72qy7acb00k5c2mprx2zp8aq4z";
+       libraryHaskellDepends = [
+         base containers directory filepath lens mtl optparse-applicative
+         text transformers
+       ];
+       testHaskellDepends = [ base containers hspec mtl QuickCheck text ];
+       homepage = "https://github.com/j1r1k/portager";
+       description = "DSL for configuring Gentoo portage";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "portaudio" = callPackage
     ({ mkDerivation, base, containers, portaudio }:
      mkDerivation {
@@ -147067,20 +148745,20 @@ self: {
      , base64-bytestring, bytestring, configurator, containers, either
      , hasql, hasql-pool, heredoc, hspec, hspec-wai, hspec-wai-json
      , http-types, jwt, lens, lens-aeson, optparse-applicative
-     , postgresql-libpq, protolude, stm, stm-containers, text, time
-     , transformers, unix, unordered-containers, wai, wai-app-static
-     , wai-extra, wai-websockets, warp, websockets
+     , postgresql-libpq, protolude, retry, stm, stm-containers, text
+     , time, transformers, unix, unordered-containers, wai
+     , wai-app-static, wai-extra, wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "postgrest-ws";
-       version = "0.3.1.0";
-       sha256 = "10bqq28knvwigvskm294ihzz09s5avlxs4bqpj952cw6fkwb05l2";
+       version = "0.3.2.0";
+       sha256 = "04jj51fhssw4fa050qa8pk559m38kc8mharswidxph52vi6jv051";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring either hasql hasql-pool http-types jwt lens
-         lens-aeson postgresql-libpq protolude stm stm-containers text time
-         unordered-containers wai wai-websockets websockets
+         lens-aeson postgresql-libpq protolude retry stm stm-containers text
+         time unordered-containers wai wai-websockets websockets
        ];
        executableHaskellDepends = [
          ansi-wl-pprint auto-update base base64-bytestring bytestring
@@ -147160,8 +148838,8 @@ self: {
      }:
      mkDerivation {
        pname = "postmaster";
-       version = "0.3.1";
-       sha256 = "0kd9vx7q9fhkdl8wsk3llzdza34vrspnqc6n6ijwxy3v6yvawh2i";
+       version = "0.3.2";
+       sha256 = "1l1hq77qxi1f9nv7bxgkfvcm50p61svqvn9f59aq3b9zj2vikmf6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -147446,8 +149124,8 @@ self: {
      }:
      mkDerivation {
        pname = "preamble";
-       version = "0.0.35";
-       sha256 = "17qyffqyjlmi0nlcc73a9jafzxcya7gdpnr047nvk4mfaz31j51a";
+       version = "0.0.37";
+       sha256 = "1qli01x2cbh8sfr4fxbyiq88n28cdmmziaz5qaqa3ii3wm1ajjaf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -148013,26 +149691,6 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-show";
-       version = "1.6.12";
-       sha256 = "1fblcxw4z4ry14brin1mvwccs6hqqlhi7xhwv1f23szjq25cjacn";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base filepath ghc-prim haskell-lexer pretty
-       ];
-       libraryToolDepends = [ happy ];
-       executableHaskellDepends = [ base ];
-       homepage = "http://wiki.github.com/yav/pretty-show";
-       description = "Tools for working with derived `Show` instances and generic inspection of values";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "pretty-show_1_6_13" = callPackage
-    ({ mkDerivation, array, base, filepath, ghc-prim, happy
-     , haskell-lexer, pretty
-     }:
-     mkDerivation {
-       pname = "pretty-show";
        version = "1.6.13";
        sha256 = "1kbx72ybrpw0kh5zsd2kdw143qykbmd9lgmsvj57659y0k5l7fjm";
        isLibrary = true;
@@ -148045,7 +149703,6 @@ self: {
        homepage = "http://wiki.github.com/yav/pretty-show";
        description = "Tools for working with derived `Show` instances and generic inspection of values";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pretty-simple" = callPackage
@@ -148129,25 +149786,24 @@ self: {
   "prettyprinter" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, criterion
      , doctest, mtl, pgp-wordlist, QuickCheck, random, tasty
-     , tasty-quickcheck, template-haskell, text, transformers
+     , tasty-hunit, tasty-quickcheck, text, transformers
      }:
      mkDerivation {
        pname = "prettyprinter";
-       version = "0.1";
-       sha256 = "0n45ag89xlcs3sfpwhghfqgwradldlzs8rgkn5z6747s7v2m40aj";
+       version = "1.1";
+       sha256 = "0bksn65rvnc0f59mfzhyl9yaccfh5ap6jxj1r477izlnkfs0k03y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base text ];
-       executableHaskellDepends = [ base template-haskell text ];
        testHaskellDepends = [
-         base bytestring doctest pgp-wordlist QuickCheck tasty
+         base bytestring doctest pgp-wordlist QuickCheck tasty tasty-hunit
          tasty-quickcheck text
        ];
        benchmarkHaskellDepends = [
          ansi-wl-pprint base criterion mtl random text transformers
        ];
        homepage = "http://github.com/quchen/prettyprinter";
-       description = "A modern, extensible and well-documented prettyprinter";
+       description = "A modern, easy to use, well-documented, extensible prettyprinter";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
@@ -148156,12 +149812,14 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter-ansi-terminal";
-       version = "0.1";
-       sha256 = "0n42hapidn94pq0jw0854l42pwwp3bpy0b9x685anzh1lkf0djrp";
+       version = "1.0.1";
+       sha256 = "03vdnkvrwmny0y8p7bkw43l8x6a3b39nw20ii87pys4jr7aadd7c";
+       revision = "1";
+       editedCabalFile = "1yc598kz1p4w0whhl7h7b62fx4lcsyph908anscq299w89xp40lh";
        libraryHaskellDepends = [ ansi-terminal base prettyprinter text ];
        testHaskellDepends = [ base doctest ];
        homepage = "http://github.com/quchen/prettyprinter";
-       description = "ANSI terminal backend for the modern, extensible and well-documented prettyprinter";
+       description = "ANSI terminal backend for the »prettyprinter« package";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
@@ -148169,8 +149827,10 @@ self: {
     ({ mkDerivation, base, prettyprinter, text }:
      mkDerivation {
        pname = "prettyprinter-compat-annotated-wl-pprint";
-       version = "0.1";
-       sha256 = "1q3579nrlxbyl69advndr6sl2x9qlq4km42v7kghmlpnc0yxn2vc";
+       version = "1";
+       sha256 = "0zpmpbpnyxqswfb7gdj0kwz7hw606fj1iwkpl1qv0xcxk6n9n99c";
+       revision = "2";
+       editedCabalFile = "175bchsbx8vws1gx83z9f0l30p95353l0gyds5b0k5b5sj4fzw13";
        libraryHaskellDepends = [ base prettyprinter text ];
        homepage = "http://github.com/quchen/prettyprinter";
        description = "Prettyprinter compatibility module for previous users of the annotated-wl-pprint package";
@@ -148183,8 +149843,10 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter-compat-ansi-wl-pprint";
-       version = "0.1";
-       sha256 = "1kqqd3csd5m510a74dxlzw5rl4vv55czacsh3cgn3qi72xjd0ff8";
+       version = "1";
+       sha256 = "1w84df99n1fwzwyflfjh6bsbrv03yzdsq8b42ziqcb3m1mq5hf1v";
+       revision = "2";
+       editedCabalFile = "1bcj2y4b4pj028lllljpj52m622h6rv0qngfyq2xc8jzn7pls5ca";
        libraryHaskellDepends = [
          base prettyprinter prettyprinter-ansi-terminal text
        ];
@@ -148197,14 +149859,27 @@ self: {
     ({ mkDerivation, base, prettyprinter, text }:
      mkDerivation {
        pname = "prettyprinter-compat-wl-pprint";
-       version = "1";
-       sha256 = "1g53l61gxry1bkzvvybrz9dhajrva6701c3wkwpi7kcqg0jkwa8p";
+       version = "1.0.0.1";
+       sha256 = "17jj8m9s3cp1s1szpy67g7wni9ssid78jqksh3aym7p6ci81y8km";
+       revision = "2";
+       editedCabalFile = "0j495j9crv6qi7rq044x6bx8688zqybx5w02cbv54w208ii1pzcl";
        libraryHaskellDepends = [ base prettyprinter text ];
        homepage = "http://github.com/quchen/prettyprinter";
        description = "Prettyprinter compatibility module for previous users of the wl-pprint package";
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "prettyprinter-vty" = callPackage
+    ({ mkDerivation, base, prettyprinter, vty }:
+     mkDerivation {
+       pname = "prettyprinter-vty";
+       version = "0.1.0.0";
+       sha256 = "12nj0v9p5bjbhwmkknc2ybdw52m5hngnf7c53qfi3crbrx4maxrd";
+       libraryHaskellDepends = [ base prettyprinter vty ];
+       description = "prettyprinter backend for vty";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "prim-spoon" = callPackage
     ({ mkDerivation, base, criterion, ghc-prim, HUnit, QuickCheck
      , spoon
@@ -148919,6 +150594,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "profiterole" = callPackage
+    ({ mkDerivation, base, containers, directory, extra, filepath
+     , ghc-prof, hashable, scientific, text
+     }:
+     mkDerivation {
+       pname = "profiterole";
+       version = "0.1";
+       sha256 = "1wfj8rmcablya94shhrnx2dbk3pfbhvdv6mk6946fyjfy32di266";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers directory extra filepath ghc-prof hashable
+         scientific text
+       ];
+       homepage = "https://github.com/ndmitchell/profiterole#readme";
+       description = "Restructure GHC profile reports";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "profiteur" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, filepath
      , ghc-prof, js-jquery, scientific, text, unordered-containers
@@ -148926,8 +150620,8 @@ self: {
      }:
      mkDerivation {
        pname = "profiteur";
-       version = "0.4.2.2";
-       sha256 = "0gwm1a61sw1rrzf9ldrlalaxsh5fayk6yl2m6wsb156wjz0s39ya";
+       version = "0.4.3.0";
+       sha256 = "1swsy006axh06f1nwvfbvs3rsd1y1733n6b3xyncnc6vifnf7gz2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -149305,25 +150999,25 @@ self: {
 
   "propellor" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
-     , directory, exceptions, filepath, hslogger, IfElse, MissingH, mtl
-     , network, process, stm, text, time, transformers, unix
+     , directory, exceptions, filepath, hashable, hslogger, IfElse, mtl
+     , network, process, split, stm, text, time, transformers, unix
      , unix-compat
      }:
      mkDerivation {
        pname = "propellor";
-       version = "4.0.3";
-       sha256 = "15p0jv777dgsljp8qb2nz7flhavk9ycbhxxv0nnrsj3ksjdmpldk";
+       version = "4.0.4";
+       sha256 = "0h69g079zrv9rnq0rb6d1j323rb310qmal109ma8ss50m5f4gyiq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal async base bytestring containers directory exceptions
-         filepath hslogger IfElse MissingH mtl network process stm text time
-         transformers unix unix-compat
+         filepath hashable hslogger IfElse mtl network process split stm
+         text time transformers unix unix-compat
        ];
        executableHaskellDepends = [
          ansi-terminal async base bytestring containers directory exceptions
-         filepath hslogger IfElse MissingH mtl network process stm text time
-         transformers unix unix-compat
+         filepath hashable hslogger IfElse mtl network process split stm
+         text time transformers unix unix-compat
        ];
        homepage = "https://propellor.branchable.com/";
        description = "property-based host configuration management in haskell";
@@ -149443,6 +151137,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "proto-lens_0_2_1_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , data-default-class, lens-family, parsec, pretty, text
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "proto-lens";
+       version = "0.2.1.0";
+       sha256 = "1nibz7cqlwj0vp350km80df10330s2hqvhwr36liiqc92ghphvzg";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers data-default-class
+         lens-family parsec pretty text transformers void
+       ];
+       homepage = "https://github.com/google/proto-lens";
+       description = "A lens-based implementation of protocol buffers in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-arbitrary" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens-family
      , proto-lens, QuickCheck, text
@@ -149483,6 +151196,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "proto-lens-combinators_0_1_0_7" = callPackage
+    ({ mkDerivation, base, Cabal, data-default-class, HUnit
+     , lens-family, lens-family-core, proto-lens, proto-lens-protoc
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "proto-lens-combinators";
+       version = "0.1.0.7";
+       sha256 = "0c00ipxpyqizzgd3fg0hfqs1bqypah90zysjb0c4pl5hhaqi9bak";
+       setupHaskellDepends = [ base Cabal proto-lens-protoc ];
+       libraryHaskellDepends = [
+         base data-default-class lens-family proto-lens proto-lens-protoc
+         transformers
+       ];
+       testHaskellDepends = [
+         base HUnit lens-family lens-family-core proto-lens
+         proto-lens-protoc test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/google/proto-lens";
+       description = "Utilities functions to proto-lens";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-descriptors" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default-class
      , lens-family, lens-labels, proto-lens, text
@@ -149499,6 +151236,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto-lens-descriptors_0_2_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , lens-family, lens-labels, proto-lens, text
+     }:
+     mkDerivation {
+       pname = "proto-lens-descriptors";
+       version = "0.2.1.0";
+       sha256 = "1qaprwdxck8h06wha6hp94kia5m247bc73973rz870c7hk2pdh6s";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class lens-family
+         lens-labels proto-lens text
+       ];
+       description = "Protocol buffers for describing the definitions of messages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proto-lens-optparse" = callPackage
     ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
      mkDerivation {
@@ -149514,6 +151268,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "proto-lens-protobuf-types" = callPackage
+    ({ mkDerivation, base, Cabal, proto-lens-protoc }:
+     mkDerivation {
+       pname = "proto-lens-protobuf-types";
+       version = "0.2.1.0";
+       sha256 = "1x548hpl7yaqx9y2hdw5p8fc6lmxihlv2wam2x7c03zjkibb04y9";
+       setupHaskellDepends = [ base Cabal proto-lens-protoc ];
+       libraryHaskellDepends = [ proto-lens-protoc ];
+       homepage = "https://github.com/google/proto-lens";
+       description = "Basic protocol buffer message types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "proto-lens-protoc" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers
      , data-default-class, directory, filepath, haskell-src-exts
@@ -149540,6 +151307,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "proto-lens-protoc_0_2_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers
+     , data-default-class, directory, filepath, haskell-src-exts
+     , lens-family, lens-labels, process, proto-lens
+     , proto-lens-descriptors, text
+     }:
+     mkDerivation {
+       pname = "proto-lens-protoc";
+       version = "0.2.1.0";
+       sha256 = "0ywjn4px6sj82h53yzx466gsa42cgfg47w5vzvxfbdzqk4bskfdd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers data-default-class directory
+         filepath haskell-src-exts lens-family lens-labels process
+         proto-lens proto-lens-descriptors text
+       ];
+       executableHaskellDepends = [
+         base bytestring containers data-default-class filepath
+         haskell-src-exts lens-family proto-lens proto-lens-descriptors text
+       ];
+       description = "Protocol buffer compiler for the proto-lens library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protobuf" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, cereal, containers
      , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
@@ -149946,20 +151739,17 @@ self: {
      }) {};
 
   "pub" = callPackage
-    ({ mkDerivation, base, bytestring, cmdargs, ConfigFile, containers
-     , groom, hedis, hslogger, mtl, network, pipes, pipes-bytestring
-     , safe, system-filepath, text, time, transformers
+    ({ mkDerivation, base, bytestring, hedis, optparse-generic, pipes
+     , pipes-bytestring, text
      }:
      mkDerivation {
        pname = "pub";
-       version = "2.0.2";
-       sha256 = "0ps4i5q4kzkla6gzr8amf2bql2y5g0gb4dbjf9w0q58yzzvpp2c8";
+       version = "3.0.0";
+       sha256 = "1svyfvpqarmfy634s61l1pg7wc9y35bn753zq3vs1rvbw9lmxpj5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring cmdargs ConfigFile containers groom hedis hslogger
-         mtl network pipes pipes-bytestring safe system-filepath text time
-         transformers
+         base bytestring hedis optparse-generic pipes pipes-bytestring text
        ];
        description = "Pipe stdin to a redis pub/sub channel";
        license = stdenv.lib.licenses.bsd3;
@@ -150432,14 +152222,15 @@ self: {
      , monad-control, monad-logger, mtl, network, optparse-applicative
      , parallel, parsec, pattern-arrows, pipes, pipes-http, process
      , protolude, regex-tdfa, safe, scientific, semigroups, silently
-     , sourcemap, spdx, split, stm, syb, text, time, transformers
-     , transformers-base, transformers-compat, unordered-containers
-     , utf8-string, vector, wai, wai-websockets, warp, websockets
+     , sourcemap, spdx, split, stm, stringsearch, syb, text, time
+     , transformers, transformers-base, transformers-compat
+     , unordered-containers, utf8-string, vector, wai, wai-websockets
+     , warp, websockets
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.11.4";
-       sha256 = "014dmfaw79bqypmp8kdnhv4zrdhlj37xmd1pldv52r1r3108vpwq";
+       version = "0.11.5";
+       sha256 = "1yqfgmxb8210dzffg4img8f2nzfvys3g583j2948lj03y9q170y1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150449,8 +152240,8 @@ self: {
          fsnotify Glob haskeline http-client http-types language-javascript
          lens lifted-base monad-control monad-logger mtl parallel parsec
          pattern-arrows pipes pipes-http process protolude regex-tdfa safe
-         scientific semigroups sourcemap spdx split stm syb text time
-         transformers transformers-base transformers-compat
+         scientific semigroups sourcemap spdx split stm stringsearch syb
+         text time transformers transformers-base transformers-compat
          unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
@@ -150461,8 +152252,8 @@ self: {
          http-types language-javascript lens lifted-base monad-control
          monad-logger mtl network optparse-applicative parallel parsec
          pattern-arrows pipes pipes-http process protolude regex-tdfa safe
-         scientific semigroups sourcemap spdx split stm syb text time
-         transformers transformers-base transformers-compat
+         scientific semigroups sourcemap spdx split stm stringsearch syb
+         text time transformers transformers-base transformers-compat
          unordered-containers utf8-string vector wai wai-websockets warp
          websockets
        ];
@@ -150474,7 +152265,7 @@ self: {
          HUnit language-javascript lens lifted-base monad-control
          monad-logger mtl parallel parsec pattern-arrows pipes pipes-http
          process protolude regex-tdfa safe scientific semigroups silently
-         sourcemap spdx split stm syb text time transformers
+         sourcemap spdx split stm stringsearch syb text time transformers
          transformers-base transformers-compat unordered-containers
          utf8-string vector
        ];
@@ -151154,10 +152945,8 @@ self: {
      }:
      mkDerivation {
        pname = "qr-imager";
-       version = "1.0.1.0";
-       sha256 = "0j1zrvpgfnhp1jy93lfx7y9hpbr35bahxa66b10hgz1x501yfjvn";
-       revision = "1";
-       editedCabalFile = "1m38fnl6h004c7m8lhjnk5dcnlmcwwyb37j1p9c7cxg75akbz236";
+       version = "1.0.1.1";
+       sha256 = "1jx81ha39khy115als4sai7xz8n49i44a8nxix0gvr48p8in8cv0";
        libraryHaskellDepends = [
          aeson base bytestring cryptonite directory haskell-qrencode
          jose-jwt JuicyPixels microlens MissingH optparse-applicative
@@ -151165,7 +152954,7 @@ self: {
        ];
        libraryPkgconfigDepends = [ libqrencode ];
        testHaskellDepends = [ base hspec ];
-       homepage = "https://github.com/vmchale/QR-writer";
+       homepage = "https://github.com/vmchale/QRImager#readme";
        description = "Library to generate QR codes from bytestrings and objects";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -151663,6 +153452,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "quickcheck-instances_0_3_14" = callPackage
+    ({ mkDerivation, array, base, bytestring, case-insensitive
+     , containers, hashable, old-time, QuickCheck, scientific, tagged
+     , text, time, unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "quickcheck-instances";
+       version = "0.3.14";
+       sha256 = "1mq9zg7d0h275lhwqjq5z2hs4ql4v13q7c8x5n6rhp47rr07pcgr";
+       revision = "1";
+       editedCabalFile = "107xlrf2r0d11c4ig33p5rg3hr8di0mbhnzzvkw0q7ys1ik5v0qn";
+       libraryHaskellDepends = [
+         array base bytestring case-insensitive containers hashable old-time
+         QuickCheck scientific tagged text time unordered-containers
+         uuid-types vector
+       ];
+       testHaskellDepends = [
+         base containers QuickCheck tagged uuid-types
+       ];
+       homepage = "https://github.com/phadej/qc-instances";
+       description = "Common quickcheck instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "quickcheck-io" = callPackage
     ({ mkDerivation, base, HUnit, QuickCheck }:
      mkDerivation {
@@ -151835,6 +153649,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "quickcheck-state-machine" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, constraints, containers
+     , hspec, mtl, parallel-io, QuickCheck, random, singletons, stm
+     }:
+     mkDerivation {
+       pname = "quickcheck-state-machine";
+       version = "0.0.0";
+       sha256 = "0022zqwncc263dcvcck06faqxqyqq2vj57zbnqk63hjpikghkk9d";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base constraints containers mtl parallel-io
+         QuickCheck random singletons stm
+       ];
+       testHaskellDepends = [ base hspec mtl QuickCheck random ];
+       homepage = "https://github.com/advancedtelematic/quickcheck-state-machine#readme";
+       description = "Test monadic programs using state machine based models";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "quickcheck-string-random" = callPackage
     ({ mkDerivation, base, QuickCheck, string-random, tasty
      , tasty-quickcheck, text
@@ -151870,12 +153702,12 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "quickcheck-unicode";
-       version = "1.0.0.1";
-       sha256 = "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4";
+       version = "1.0.1.0";
+       sha256 = "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k";
        libraryHaskellDepends = [ base QuickCheck ];
        homepage = "https://github.com/bos/quickcheck-unicode";
        description = "Generator and shrink functions for testing Unicode-related software";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.bsd2;
      }) {};
 
   "quickcheck-webdriver" = callPackage
@@ -152510,6 +154342,7 @@ self: {
        homepage = "http://github.com/iconnect/rails-session#readme";
        description = "Decrypt Ruby on Rails sessions in Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rainbow" = callPackage
@@ -152753,8 +154586,8 @@ self: {
      }:
      mkDerivation {
        pname = "random-bytestring";
-       version = "0.0.1";
-       sha256 = "1h2s7zjv1p8bhn49q3hcv7kiw5bs5qlqvjlzcmy36kmzc9x9wsrw";
+       version = "0.1.0";
+       sha256 = "0v4fmns5qji5mb0grnghl2yv5l4rg29319f1d1d7kcz9qwz9qwrd";
        libraryHaskellDepends = [ base bytestring mwc-random ];
        benchmarkHaskellDepends = [
          async base bytestring criterion entropy ghc-prim mwc-random
@@ -153117,6 +154950,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rank2classes" = callPackage
+    ({ mkDerivation, base, doctest, template-haskell, transformers }:
+     mkDerivation {
+       pname = "rank2classes";
+       version = "0.1";
+       sha256 = "1izr3nrbrrcf4496m0p5fpvd9h6gzgirb6q76kvn4chd4p45j0iz";
+       libraryHaskellDepends = [ base template-haskell transformers ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/blamario/grampa/tree/master/rank2classes";
+       description = "a mirror image of some standard type classes, with methods of rank 2 types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "rapid" = callPackage
     ({ mkDerivation, async, base, containers, foreign-store, stm }:
      mkDerivation {
@@ -154685,6 +156531,7 @@ self: {
        ];
        description = "Record subtyping and record utilities with generics-sop";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "records-th" = callPackage
@@ -155556,25 +157403,23 @@ self: {
        homepage = "https://github.com/ConferHealth/refurb#readme";
        description = "Tools for maintaining a database";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "regex" = callPackage
     ({ mkDerivation, array, base, base-compat, bytestring, containers
-     , hashable, heredoc, regex-base, regex-pcre-builtin, regex-tdfa
-     , regex-tdfa-text, template-haskell, text, time, time-locale-compat
-     , transformers, unordered-containers
+     , hashable, regex-base, regex-tdfa, regex-tdfa-text
+     , template-haskell, text, time, time-locale-compat, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "regex";
-       version = "0.5.0.0";
-       sha256 = "0zy2m3qiz98xs4whg0j423j5zc6zr66hrcr7aqf6v6739hw948s2";
-       revision = "1";
-       editedCabalFile = "148afb42b7w24sb6j5842spqhhhps4nifxz6psxcs4cm6qylmkha";
+       version = "1.0.1.0";
+       sha256 = "1kh4bh1yvpclx5f903pig034b2sjkvm3ijsrwmdh94ws9h0fdc9p";
        libraryHaskellDepends = [
-         array base base-compat bytestring containers hashable heredoc
-         regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text
-         template-haskell text time time-locale-compat transformers
-         unordered-containers
+         array base base-compat bytestring containers hashable regex-base
+         regex-tdfa regex-tdfa-text template-haskell text time
+         time-locale-compat transformers unordered-containers
        ];
        homepage = "http://regex.uk";
        description = "Toolkit for regex-base";
@@ -155582,20 +157427,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "regex_1_0_0_0" = callPackage
+  "regex_1_0_1_3" = callPackage
     ({ mkDerivation, array, base, base-compat, bytestring, containers
-     , hashable, regex-base, regex-tdfa, regex-tdfa-text
-     , template-haskell, text, time, time-locale-compat, transformers
-     , unordered-containers
+     , hashable, regex-base, regex-pcre-builtin, regex-tdfa
+     , regex-tdfa-text, template-haskell, text, time, time-locale-compat
+     , transformers, unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "regex";
-       version = "1.0.0.0";
-       sha256 = "0rl7dkynr42y43akd2r4nf1gzj5vr9alv85n1ii0pw8wpij9a0lp";
+       version = "1.0.1.3";
+       sha256 = "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb";
        libraryHaskellDepends = [
          array base base-compat bytestring containers hashable regex-base
-         regex-tdfa regex-tdfa-text template-haskell text time
-         time-locale-compat transformers unordered-containers
+         regex-pcre-builtin regex-tdfa regex-tdfa-text template-haskell text
+         time time-locale-compat transformers unordered-containers
+         utf8-string
        ];
        homepage = "http://regex.uk";
        description = "Toolkit for regex-base";
@@ -155739,32 +157585,35 @@ self: {
      }) {};
 
   "regex-examples" = callPackage
-    ({ mkDerivation, array, base, base-compat, bytestring, containers
-     , directory, filepath, hashable, heredoc, http-conduit, regex
-     , regex-base, regex-pcre-builtin, regex-tdfa, regex-tdfa-text
-     , regex-with-pcre, shelly, smallcheck, tasty, tasty-hunit
-     , tasty-smallcheck, template-haskell, text, time
+    ({ mkDerivation, array, base, base-compat, blaze-html, bytestring
+     , containers, data-default, directory, filepath, hashable, heredoc
+     , http-conduit, regex, regex-base, regex-pcre-builtin, regex-tdfa
+     , regex-tdfa-text, regex-with-pcre, shelly, smallcheck, tasty
+     , tasty-hunit, tasty-smallcheck, template-haskell, text, time
      , time-locale-compat, transformers, unordered-containers
+     , utf8-string
      }:
      mkDerivation {
        pname = "regex-examples";
-       version = "1.0.0.0";
-       sha256 = "035yb8pxxhfxlr23b6fg4ls7vr23hc4ja1hms8crx5mq8fj97al8";
+       version = "1.0.1.3";
+       sha256 = "0hmpq8w08n0vslnzqn6zsxp622dipg0ma42b4d47rjnv9ihl0jad";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base base-compat bytestring containers directory filepath
-         hashable heredoc http-conduit regex regex-base regex-pcre-builtin
-         regex-tdfa regex-tdfa-text regex-with-pcre shelly smallcheck tasty
-         tasty-hunit tasty-smallcheck template-haskell text time
-         time-locale-compat transformers unordered-containers
+         array base base-compat blaze-html bytestring containers
+         data-default directory filepath hashable heredoc http-conduit regex
+         regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text
+         regex-with-pcre shelly smallcheck tasty tasty-hunit
+         tasty-smallcheck template-haskell text time time-locale-compat
+         transformers unordered-containers utf8-string
        ];
        testHaskellDepends = [
-         array base base-compat bytestring containers directory filepath
-         hashable heredoc http-conduit regex regex-base regex-pcre-builtin
-         regex-tdfa regex-tdfa-text regex-with-pcre shelly smallcheck tasty
-         tasty-hunit tasty-smallcheck template-haskell text time
-         time-locale-compat transformers unordered-containers
+         array base base-compat blaze-html bytestring containers
+         data-default directory filepath hashable heredoc http-conduit regex
+         regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text
+         regex-with-pcre shelly smallcheck tasty tasty-hunit
+         tasty-smallcheck template-haskell text time time-locale-compat
+         transformers unordered-containers utf8-string
        ];
        homepage = "http://regex.uk";
        description = "Tutorial, tests and example programs for regex";
@@ -155836,6 +157685,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-pcre-text" = callPackage
+    ({ mkDerivation, array, base, bytestring, regex-base
+     , regex-pcre-builtin, regex-tdfa-text, text
+     }:
+     mkDerivation {
+       pname = "regex-pcre-text";
+       version = "0.94.0.1";
+       sha256 = "1gg9v3q05j2wdp93iragg7y5414ydz0zmkm0xyrcz98dn3bix68p";
+       libraryHaskellDepends = [
+         array base bytestring regex-base regex-pcre-builtin regex-tdfa-text
+         text
+       ];
+       homepage = "https://github.com/cdornan/regex-pcre-text";
+       description = "Text-based PCRE API for regex-base";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "regex-pderiv" = callPackage
     ({ mkDerivation, base, bitset, bytestring, containers, deepseq
      , ghc-prim, mtl, parallel, parsec, regex-base
@@ -156022,17 +157888,37 @@ self: {
 
   "regex-with-pcre" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, containers, regex
-     , regex-base, regex-pcre-builtin, regex-tdfa, template-haskell
-     , transformers, unordered-containers
+     , regex-base, regex-pcre-builtin, regex-pcre-text, regex-tdfa
+     , template-haskell, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "regex-with-pcre";
-       version = "1.0.0.0";
-       sha256 = "1dggagagy7c8gkl7bmfpfyvkgsp5f5g7df028a9lrgxky54jdfv7";
+       version = "1.0.1.0";
+       sha256 = "0r7fqh9mkbjdf21m9m1j9s21h27c1cm2xcmb3j1ai9ga7jhl4864";
        libraryHaskellDepends = [
          base base-compat bytestring containers regex regex-base
-         regex-pcre-builtin regex-tdfa template-haskell transformers
-         unordered-containers
+         regex-pcre-builtin regex-pcre-text regex-tdfa template-haskell text
+         transformers unordered-containers
+       ];
+       homepage = "http://regex.uk";
+       description = "Toolkit for regex-base";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-with-pcre_1_0_1_3" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, containers, regex
+     , regex-base, regex-pcre-builtin, regex-pcre-text, regex-tdfa
+     , template-haskell, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "regex-with-pcre";
+       version = "1.0.1.3";
+       sha256 = "17pq70wiyq97rh6ba1zsl6rzifi8k5mykn6kwwxcvjqqs9n2nzh9";
+       libraryHaskellDepends = [
+         base base-compat bytestring containers regex regex-base
+         regex-pcre-builtin regex-pcre-text regex-tdfa template-haskell text
+         transformers unordered-containers
        ];
        homepage = "http://regex.uk";
        description = "Toolkit for regex-base";
@@ -157990,8 +159876,8 @@ self: {
        pname = "rest-types";
        version = "1.14.1.1";
        sha256 = "16lnwd7rwjb67sqklrwl40bq4h8qhp3wj1893y4vs85fpdjqxq5p";
-       revision = "2";
-       editedCabalFile = "083s97w8ymzz3dwjj96miyhjj3svi76yqdp53s3zqmfdb25g93vg";
+       revision = "3";
+       editedCabalFile = "0psp44114ca8cmcg0gbn64j4q6vkiyagrvgc957j80mfcy93xz92";
        libraryHaskellDepends = [
          aeson base base-compat case-insensitive generic-aeson
          generic-xmlpickler hxt json-schema rest-stringmap text uuid
@@ -158438,29 +160324,31 @@ self: {
      }) {};
 
   "riak" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, binary, blaze-builder
-     , bytestring, containers, criterion, data-default-class, deepseq
-     , enclosed-exceptions, exceptions, hashable, HUnit
-     , mersenne-random-pure64, monad-control, mtl, network
-     , protocol-buffers, pureMD5, QuickCheck, random, resource-pool
-     , riak-protobuf, semigroups, stm, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, transformers, transformers-base
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, async, attoparsec, base, binary
+     , blaze-builder, bytestring, containers, criterion
+     , data-default-class, deepseq, enclosed-exceptions, exceptions
+     , hashable, HUnit, mersenne-random-pure64, monad-control, mtl
+     , network, process, protocol-buffers, pureMD5, QuickCheck, random
+     , resource-pool, riak-protobuf, semigroups, stm, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time, transformers
+     , transformers-base, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "riak";
-       version = "1.1.1.0";
-       sha256 = "17vnycbw8i2s10888qmhvi3p1yk2vki6dqnwy2f0mhvnbk38bv76";
+       version = "1.1.2.0";
+       sha256 = "1vin0klwg8ajbcirxr82bk5g4yg3d2v7d40dxbpkncksbzva6wjj";
        libraryHaskellDepends = [
-         aeson attoparsec base binary blaze-builder bytestring containers
-         data-default-class deepseq enclosed-exceptions exceptions hashable
-         mersenne-random-pure64 monad-control network protocol-buffers
-         pureMD5 random resource-pool riak-protobuf semigroups stm text time
-         transformers transformers-base unordered-containers vector
+         aeson async attoparsec base binary blaze-builder bytestring
+         containers data-default-class deepseq enclosed-exceptions
+         exceptions hashable mersenne-random-pure64 monad-control network
+         protocol-buffers pureMD5 random resource-pool riak-protobuf
+         semigroups stm text time transformers transformers-base
+         unordered-containers vector
        ];
        testHaskellDepends = [
-         base bytestring containers data-default-class HUnit mtl QuickCheck
-         riak-protobuf semigroups tasty tasty-hunit tasty-quickcheck text
+         aeson base bytestring containers data-default-class HUnit mtl
+         process QuickCheck riak-protobuf semigroups tasty tasty-hunit
+         tasty-quickcheck template-haskell text yaml
        ];
        benchmarkHaskellDepends = [ base bytestring criterion semigroups ];
        homepage = "http://github.com/markhibberd/riak-haskell-client";
@@ -158506,21 +160394,39 @@ self: {
      }:
      mkDerivation {
        pname = "ridley";
-       version = "0.3.0.0";
-       sha256 = "138g2d7bsqc02j5cdrr99j7v3dj6kd4pshnzbcrv9690wb1czm30";
+       version = "0.3.1.2";
+       sha256 = "15hc1j0bkdb0wbivxl73rgrk4hl598d96yv0fhpsgls74alarniq";
        libraryHaskellDepends = [
          async base containers ekg-core ekg-prometheus-adapter inline-c
          katip microlens microlens-th mtl process prometheus raw-strings-qq
-         shelly template-haskell text time transformers unix vector
-         wai-middleware-metrics
+         shelly string-conv template-haskell text time transformers unix
+         vector wai-middleware-metrics
        ];
        testHaskellDepends = [
          base bytestring containers ekg-core ekg-prometheus-adapter
          http-client microlens prometheus string-conv tasty tasty-hunit
          tasty-quickcheck text
        ];
-       homepage = "https://github.com/iconnect/ridley#readme";
-       description = "Quick metrics to grow you app strong";
+       homepage = "https://github.com/iconnect/ridley#README";
+       description = "Quick metrics to grow your app strong";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ridley-extras" = callPackage
+    ({ mkDerivation, base, ekg-prometheus-adapter, microlens, mtl
+     , prometheus, ridley, shelly, text, transformers
+     }:
+     mkDerivation {
+       pname = "ridley-extras";
+       version = "0.1.0.1";
+       sha256 = "01fl5mq9rp7nipxqi38k2bcdi8hiix02gf2sw8mr1xvvwdm925l2";
+       libraryHaskellDepends = [
+         base ekg-prometheus-adapter microlens mtl prometheus ridley shelly
+         text transformers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/iconnect/ridley/ridley-extras#readme";
+       description = "Handy metrics that don't belong to ridley";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -159887,7 +161793,7 @@ self: {
        homepage = "https://github.com/adamwalker/hrtlsdr";
        description = "Bindings to librtlsdr";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) rtl-sdr;};
 
   "rtnetlink" = callPackage
@@ -159988,7 +161894,7 @@ self: {
        homepage = "https://github.com/mtolly/rubberband";
        description = "Binding to the C++ audio stretching library Rubber Band";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) rubberband;};
 
   "ruby-marshal" = callPackage
@@ -160541,6 +162447,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "safeio" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , directory, filepath, HUnit, resourcet, test-framework
+     , test-framework-hunit, test-framework-th, unix
+     }:
+     mkDerivation {
+       pname = "safeio";
+       version = "0.0.2.0";
+       sha256 = "0ajz4hd3dycy10abngccqdbkj1356d2sggsnrlc34s370381hi9w";
+       libraryHaskellDepends = [
+         base bytestring conduit conduit-combinators directory filepath
+         resourcet unix
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-combinators directory filepath
+         HUnit resourcet test-framework test-framework-hunit
+         test-framework-th unix
+       ];
+       description = "Write output to disk atomically";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "safepath" = callPackage
     ({ mkDerivation, base, doctest, text, validity }:
      mkDerivation {
@@ -160652,6 +162580,7 @@ self: {
        ];
        description = "Cryptography that's easy to digest (NaCl/libsodium bindings)";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libsodium;};
 
   "saltine-quickcheck" = callPackage
@@ -161183,8 +163112,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.2.1";
-       sha256 = "1qa9zjzv0nn61whmfis8rxvn14rfx78i0nj7b9v5s4dk0hzzfxhr";
+       version = "2.2.3";
+       sha256 = "1hqq3qz6xbbc2di85larf3ixj2gxsn6vhcxdhzxfn72lxdr9xgir";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161258,15 +163187,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "sbv_6_0" = callPackage
+  "sbv_6_1" = callPackage
     ({ mkDerivation, array, async, base, base-compat, containers
      , crackNum, data-binary-ieee754, deepseq, directory, filepath, ghc
      , HUnit, mtl, old-time, pretty, process, QuickCheck, random, syb
      }:
      mkDerivation {
        pname = "sbv";
-       version = "6.0";
-       sha256 = "0rhrc22l5qhyhix7hf1fxisyp397mzy20j0iraj5108ipszimp48";
+       version = "6.1";
+       sha256 = "1a8wa2pgzd6z5bnndb6adzxcxyq1b6qlxwh8apjynqzbrhhjspn5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161625,6 +163554,30 @@ self: {
        license = stdenv.lib.licenses.agpl3;
      }) {};
 
+  "schematic" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, hspec-core
+     , hspec-discover, hspec-smallcheck, HUnit, regex-compat, scientific
+     , singletons, smallcheck, smallcheck-series, text
+     , unordered-containers, validationt, vector, vinyl
+     }:
+     mkDerivation {
+       pname = "schematic";
+       version = "0.1.1.0";
+       sha256 = "1g0myq6rslzn4q611r6wvcfdpvvfw8f85rck3ha7qhaw7vmm5vyb";
+       libraryHaskellDepends = [
+         aeson base bytestring regex-compat scientific singletons smallcheck
+         smallcheck-series text unordered-containers validationt vector
+         vinyl
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hspec hspec-core hspec-discover
+         hspec-smallcheck HUnit regex-compat singletons smallcheck
+         smallcheck-series text unordered-containers validationt vinyl
+       ];
+       description = "JSON-biased spec and validation tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "scholdoc" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, binary, blaze-html
      , blaze-markup, bytestring, containers, criterion, data-default
@@ -161803,8 +163756,32 @@ self: {
      }:
      mkDerivation {
        pname = "scientific";
-       version = "0.3.4.12";
-       sha256 = "0pcm5s918sbyahbr7hinfkjcnv8fqp9xddkg6mmniyw2f1sqzyi6";
+       version = "0.3.4.13";
+       sha256 = "0fpn0mwv4rvvn44dn2lm5nxws8w90jv9vlwjy85xsvhn5dvv7bhq";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq ghc-prim hashable
+         integer-gmp integer-logarithms text vector
+       ];
+       testHaskellDepends = [
+         base binary bytestring QuickCheck smallcheck tasty tasty-ant-xml
+         tasty-hunit tasty-quickcheck tasty-smallcheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/basvandijk/scientific";
+       description = "Numbers represented using scientific notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scientific_0_3_4_15" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, criterion
+     , deepseq, ghc-prim, hashable, integer-gmp, integer-logarithms
+     , QuickCheck, smallcheck, tasty, tasty-ant-xml, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "scientific";
+       version = "0.3.4.15";
+       sha256 = "1gsmpn3563k90nrai0jdjfvkxjjaxs7bxxsfbdpmw4xvbp2lmp9n";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq ghc-prim hashable
          integer-gmp integer-logarithms text vector
@@ -161817,6 +163794,7 @@ self: {
        homepage = "https://github.com/basvandijk/scientific";
        description = "Numbers represented using scientific notation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "scion" = callPackage
@@ -162552,7 +164530,7 @@ self: {
        executableHaskellDepends = [ base data-default-class sdl2 vector ];
        description = "Bindings to SDL2_mixer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) SDL2_mixer;};
 
   "sdl2-ttf" = callPackage
@@ -162571,15 +164549,15 @@ self: {
        executableHaskellDepends = [ base linear sdl2 ];
        description = "Binding to libSDL2-ttf";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_ttf;};
 
   "sdnv" = callPackage
     ({ mkDerivation, base, binary, bytestring }:
      mkDerivation {
        pname = "sdnv";
-       version = "0.1.0.0";
-       sha256 = "07d7989v4a8dz5jqrhz56ki9wkngaf1d0153271lylj015y00rmc";
+       version = "0.1.1";
+       sha256 = "1hckjr6fprw2y7wb4zz035rnhqj6xs7djnlkhdyzmir9g5xa3cr6";
        libraryHaskellDepends = [ base binary bytestring ];
        description = "Self-delimiting numeric values encoding library";
        license = stdenv.lib.licenses.bsd2;
@@ -163445,8 +165423,8 @@ self: {
      }:
      mkDerivation {
        pname = "sensu-run";
-       version = "0.0.0";
-       sha256 = "0i10wbnyg7bilfb3a1d2p8zzj8yvwljrbll2xwgla5mpcnym9pg9";
+       version = "0.1.1";
+       sha256 = "0gcwwb8w0rr0kjhp13afsszsb81qvnryb5qnhskyr9wpx8vvm9bk";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -163936,24 +165914,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant_0_10" = callPackage
+  "servant_0_11" = callPackage
     ({ mkDerivation, aeson, aeson-compat, attoparsec, base, base-compat
-     , bytestring, Cabal, case-insensitive, directory, doctest
-     , filemanip, filepath, hspec, http-api-data, http-media, http-types
-     , mmorph, mtl, natural-transformation, network-uri, QuickCheck
-     , quickcheck-instances, string-conversions, text, url, vault
+     , bytestring, Cabal, cabal-doctest, case-insensitive, directory
+     , doctest, filemanip, filepath, hspec, http-api-data, http-media
+     , http-types, mmorph, mtl, natural-transformation, network-uri
+     , QuickCheck, quickcheck-instances, string-conversions, tagged
+     , text, url, vault
      }:
      mkDerivation {
        pname = "servant";
-       version = "0.10";
-       sha256 = "07ik9ddaj1vmq37dl4mg00rawa9phfapm8a52cs1b5km5fxaknp1";
-       revision = "1";
-       editedCabalFile = "0wm2jj3sknd946k8gmlxx3hka6ggp0pnbmariplkcf0y8qkr7cdj";
-       setupHaskellDepends = [ base Cabal directory filepath ];
+       version = "0.11";
+       sha256 = "00vbhijdxb00n8ha068zdwvqlfqv1iradkkdchzzvnhg2jpzgcy5";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring case-insensitive
          http-api-data http-media http-types mmorph mtl
-         natural-transformation network-uri string-conversions text vault
+         natural-transformation network-uri string-conversions tagged text
+         vault
        ];
        testHaskellDepends = [
          aeson aeson-compat attoparsec base base-compat bytestring directory
@@ -164037,8 +166015,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-client";
-       version = "0.2.7.0";
-       sha256 = "1cw4b6x3mwj8djjyr2fpd9n7k59wcdl239qnjp3zl9ih52kdwvlk";
+       version = "0.2.7.1";
+       sha256 = "1y5ha76j81biyzzgl9r26i0hkx1j3yslidzyl5h8xz55y712m16d";
        libraryHaskellDepends = [
          base bytestring servant servant-auth servant-client text
        ];
@@ -164082,7 +166060,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-auth-cookie_0_5_0_2" = callPackage
+  "servant-auth-cookie_0_5_0_4" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
      , cereal, cookie, criterion, cryptonite, data-default, deepseq
      , exceptions, hspec, http-api-data, http-types, memory, mtl
@@ -164091,8 +166069,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.5.0.2";
-       sha256 = "16b32y2jbm8m8hbkxzz008fsk72nqvgshh7pqyvsir0snysgafnf";
+       version = "0.5.0.4";
+       sha256 = "0h9m9mzq2b5k5l3zp42cs45k5wi42bqvsp3lp2p1z1fb9as4cw2v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164174,36 +166152,36 @@ self: {
      , bytestring, bytestring-conversion, case-insensitive, cookie
      , crypto-api, data-default-class, entropy, hspec, http-api-data
      , http-client, http-types, jose, lens, lens-aeson, markdown-unlit
-     , monad-time, mtl, QuickCheck, servant-auth, servant-server, text
-     , time, transformers, unordered-containers, wai, warp, wreq
+     , monad-time, mtl, QuickCheck, servant-auth, servant-server, tagged
+     , text, time, transformers, unordered-containers, wai, warp, wreq
      }:
      mkDerivation {
        pname = "servant-auth-server";
-       version = "0.2.7.0";
-       sha256 = "0f6a7lh0hbsjs0gk360an98d79ipl4gs0aksj95wakdmpnqrx9r6";
+       version = "0.3.0.0";
+       sha256 = "1rs51w929hlwsgrg5ajcv3cp09hnk37p1n5s2ydmja22m4ba93ak";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          bytestring-conversion case-insensitive cookie crypto-api
          data-default-class entropy http-api-data http-types jose lens
-         monad-time mtl servant-auth servant-server text time
+         monad-time mtl servant-auth servant-server tagged text time
          unordered-containers wai
        ];
        executableHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          bytestring-conversion case-insensitive cookie crypto-api
          data-default-class entropy http-api-data http-types jose lens
-         markdown-unlit monad-time mtl servant-auth servant-server text time
-         transformers unordered-containers wai warp
+         markdown-unlit monad-time mtl servant-auth servant-server tagged
+         text time transformers unordered-containers wai warp
        ];
        testHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          bytestring-conversion case-insensitive cookie crypto-api
          data-default-class entropy hspec http-api-data http-client
          http-types jose lens lens-aeson monad-time mtl QuickCheck
-         servant-auth servant-server text time unordered-containers wai warp
-         wreq
+         servant-auth servant-server tagged text time unordered-containers
+         wai warp wreq
        ];
        homepage = "http://github.com/plow-technologies/servant-auth#readme";
        description = "servant-server/servant-auth compatibility";
@@ -164316,17 +166294,17 @@ self: {
 
   "servant-auth-token-persistent" = callPackage
     ({ mkDerivation, aeson-injector, base, bytestring, containers
-     , ghc-prim, monad-control, mtl, persistent, persistent-template
+     , monad-control, mtl, persistent, persistent-template
      , servant-auth-token, servant-auth-token-api, servant-server, text
      , time, transformers, transformers-base, uuid
      }:
      mkDerivation {
        pname = "servant-auth-token-persistent";
-       version = "0.5.0.0";
-       sha256 = "1rfl4hv5d6hz18j0yyyrq1i97d30pgngagal9zrmi4l26xsk9li0";
+       version = "0.5.1.0";
+       sha256 = "0kvhk4wd8qdiaqjgs3k8s8jlxhph9jddpgq8caf7yldw6wz2kqi2";
        libraryHaskellDepends = [
-         aeson-injector base bytestring containers ghc-prim monad-control
-         mtl persistent persistent-template servant-auth-token
+         aeson-injector base bytestring containers monad-control mtl
+         persistent persistent-template servant-auth-token
          servant-auth-token-api servant-server text time transformers
          transformers-base uuid
        ];
@@ -164366,8 +166344,8 @@ self: {
        pname = "servant-blaze";
        version = "0.7.1";
        sha256 = "0ii60xn5khsj8w3glvwqpwrpd6v9yc1n52gk9qsfwfxq49x1rvch";
-       revision = "4";
-       editedCabalFile = "17wvkd6aa9fjgygpjv057ijirh7n9sccbpwg9xds7yp8vg237rya";
+       revision = "5";
+       editedCabalFile = "05zz0kvnmai230palf44f72gm1vadqyssk9hl4h0qq5263frbsli";
        libraryHaskellDepends = [ base blaze-html http-media servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Blaze-html support for servant";
@@ -164388,6 +166366,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-cassava_0_9" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, cassava, http-media
+     , servant, vector
+     }:
+     mkDerivation {
+       pname = "servant-cassava";
+       version = "0.9";
+       sha256 = "08g1yjrfx2q79r0ldjnxr05437bg889virfy52i3s66d5h69d9q3";
+       libraryHaskellDepends = [
+         base base-compat bytestring cassava http-media servant vector
+       ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "Servant CSV content-type for cassava";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-checked-exceptions" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
      , hspec-wai, http-media, profunctors, servant, servant-client
@@ -164443,7 +166438,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-client_0_10" = callPackage
+  "servant-client_0_11" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat
      , base64-bytestring, bytestring, deepseq, exceptions, generics-sop
      , hspec, http-api-data, http-client, http-client-tls, http-media
@@ -164454,10 +166449,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-client";
-       version = "0.10";
-       sha256 = "1aiyz6731fjgmjsppql1f5xnmqwv6qh26g4dgnvw399qgsn13r2m";
-       revision = "2";
-       editedCabalFile = "0j5ws3zjz748kmd7sn9vgdwp4mqdyzw26qnl46jdcf838b6klhl1";
+       version = "0.11";
+       sha256 = "1yiar76gf1zg8jaymz0xq751xs51fp0ryra4x4hwg71s32l2nvga";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat base64-bytestring bytestring
          exceptions generics-sop http-api-data http-client http-client-tls
@@ -164565,7 +166558,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
-  "servant-docs_0_10" = callPackage
+  "servant-docs_0_10_0_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
      , case-insensitive, control-monad-omega, hashable, hspec
      , http-media, http-types, lens, servant, string-conversions, text
@@ -164573,8 +166566,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-docs";
-       version = "0.10";
-       sha256 = "0fv06v4df6b6lls9iya920d5qs652lpa5wf7wa5x8bi9bb61liqa";
+       version = "0.10.0.1";
+       sha256 = "1lhfvlnpgliiv84pp0gjk1kzmrd66k9dsdxf1y7mwm4mq6r7qf7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164700,12 +166693,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-foreign_0_10" = callPackage
+  "servant-foreign_0_10_1" = callPackage
     ({ mkDerivation, base, hspec, http-types, lens, servant, text }:
      mkDerivation {
        pname = "servant-foreign";
-       version = "0.10";
-       sha256 = "099g1jp1gny73zah99vi8p83abg75y30fb2m781cgainrjpqk98l";
+       version = "0.10.1";
+       sha256 = "1j69mv1i6q5z790asbj0n24h62biz3dlnm2zrxnmwn4k4aygbwl8";
        libraryHaskellDepends = [ base http-types lens servant text ];
        testHaskellDepends = [ base hspec servant ];
        description = "Helpers for generating clients for servant APIs in any programming language";
@@ -164838,8 +166831,8 @@ self: {
        pname = "servant-lucid";
        version = "0.7.1";
        sha256 = "0h7yw140ymigrzrzp2vkkhg13gg1d8pj9xmcpq8bw2cv2myvl9pc";
-       revision = "4";
-       editedCabalFile = "067yhdf2ryrxw38wmci57wvsd79x04w7m2k0apmf9fqi1w6ws17a";
+       revision = "5";
+       editedCabalFile = "0hqwbh0mcl3mdv0aj9xvnzpqdv8am07i48cjpx96yihkg86r5phm";
        libraryHaskellDepends = [ base http-media lucid servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Servant support for lucid";
@@ -164897,15 +166890,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "servant-mock_0_8_1_2" = callPackage
+  "servant-mock_0_8_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, bytestring-conversion
      , hspec, hspec-wai, http-types, QuickCheck, servant, servant-server
      , transformers, wai, warp
      }:
      mkDerivation {
        pname = "servant-mock";
-       version = "0.8.1.2";
-       sha256 = "05yi65lj0b8j5wibhq1rw4swrc23n0lj2dxiv7bk65jm28hycr9a";
+       version = "0.8.2";
+       sha256 = "146z4n7ayg0347kabwdz1crha7ilfdcdx3pazdgsmq2bl8mwad3w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164932,8 +166925,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-multipart";
-       version = "0.10";
-       sha256 = "16c1d618clq1mzgklls79xlkrh7mv17s3syc4ghg95qj87krhli8";
+       version = "0.10.0.1";
+       sha256 = "1wba440qlcjw6h6k8qiycsfq26snfkmy0p45d51li704s4m3idcv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165125,6 +167118,7 @@ self: {
        homepage = "https://github.com/pellagic-puffbomb/servant-py#readme";
        description = "Automatically derive python functions to query servant webservices";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-quickcheck" = callPackage
@@ -165260,30 +167254,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-server_0_10" = callPackage
+  "servant-server_0_11" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat
-     , base64-bytestring, bytestring, Cabal, containers, directory
-     , doctest, exceptions, filemanip, filepath, hspec, hspec-wai
-     , http-api-data, http-types, monad-control, mtl, network
+     , base64-bytestring, bytestring, Cabal, cabal-doctest, containers
+     , directory, doctest, exceptions, filemanip, filepath, hspec
+     , hspec-wai, http-api-data, http-types, monad-control, mtl, network
      , network-uri, parsec, QuickCheck, resourcet, safe, servant
      , should-not-typecheck, split, string-conversions, system-filepath
-     , temporary, text, transformers, transformers-base
+     , tagged, temporary, text, transformers, transformers-base
      , transformers-compat, wai, wai-app-static, wai-extra, warp, word8
      }:
      mkDerivation {
        pname = "servant-server";
-       version = "0.10";
-       sha256 = "0g87g48p179v1j3ki3vsvkk5gidqfp5yb9xwnh0j90v7x8ilvlcr";
-       revision = "1";
-       editedCabalFile = "0wsrcvf9lgq1i8p6ms46rb9bm7zgdszilil8gw0id314wcd5hcj3";
+       version = "0.11";
+       sha256 = "1c821ia2741v7nxbv651hcj21dmcqnqf4ix198is5b63sj4ff3ib";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal directory filepath ];
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat base64-bytestring bytestring
          containers exceptions filepath http-api-data http-types
          monad-control mtl network network-uri resourcet safe servant split
-         string-conversions system-filepath text transformers
+         string-conversions system-filepath tagged text transformers
          transformers-base transformers-compat wai wai-app-static warp word8
        ];
        executableHaskellDepends = [ aeson base servant text wai warp ];
@@ -165336,8 +167328,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-snap";
-       version = "0.7.0.5";
-       sha256 = "1wa4c79vid7smg216z26bsi2pbwqfim2cj5x9j8l2m82gylyb4ja";
+       version = "0.7.3";
+       sha256 = "0ahk3slcl25c4ykxix8j8nqf1mxqc4gnrzx6hpll3ab9m02g1qzf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165471,7 +167463,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-swagger_1_1_2_1" = callPackage
+  "servant-swagger_1_1_3" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring, Cabal
      , cabal-doctest, directory, doctest, filepath, hspec, http-media
      , insert-ordered-containers, lens, QuickCheck, servant, swagger2
@@ -165479,13 +167471,9 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger";
-       version = "1.1.2.1";
-       sha256 = "0qgrc01y9d2wsfg4r1iq71m2075qg75656wlljqb7pbkywxb0aih";
-       revision = "1";
-       editedCabalFile = "1phpl00wrqa5lwb2a9yn1dl9jsaqy2l478yysysmq449g64czry0";
-       setupHaskellDepends = [
-         base Cabal cabal-doctest directory filepath
-       ];
+       version = "1.1.3";
+       sha256 = "0hf3psdcbnj0mj73zdfhv0l4p432hxzj1i9m66al3kd3k7rz79pk";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base bytestring hspec http-media insert-ordered-containers
          lens QuickCheck servant swagger2 text unordered-containers
@@ -165509,8 +167497,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui";
-       version = "0.2.2.2.2.8";
-       sha256 = "1yw483lfflpy1a16ybiy1ird1q6b0xhhaylyffxkxavaxdavrkvx";
+       version = "0.2.3.2.2.8";
+       sha256 = "0daqlhwy48098wp2hjsnam7d29fj6zqxmdckqfc8z0xfs07ppbg8";
        libraryHaskellDepends = [
          base blaze-markup bytestring directory file-embed filepath
          http-media servant servant-blaze servant-server servant-swagger
@@ -165534,8 +167522,8 @@ self: {
        pname = "servant-yaml";
        version = "0.1.0.0";
        sha256 = "011jxvr2i65bf0kmdn0sxkqgfz628a0sfhzphr1rqsmh8sqdj5y9";
-       revision = "13";
-       editedCabalFile = "0ww5wl0sd5aj4z6s6b3m1yniiqgnkh6395bq88kilwlwr3w539nv";
+       revision = "15";
+       editedCabalFile = "0wbgbp0la0a8jg0g4xkx6cq47zgg5wpqhp1jkhbfr81x9xjmn3hk";
        libraryHaskellDepends = [
          base bytestring http-media servant yaml
        ];
@@ -165548,6 +167536,88 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-zeppelin" = callPackage
+    ({ mkDerivation, base, singletons }:
+     mkDerivation {
+       pname = "servant-zeppelin";
+       version = "0.1.0.3";
+       sha256 = "1pga7l2akxqhkfq6gqaiiz6svvhzb83dbc5bw487kkrs3vriyyc3";
+       libraryHaskellDepends = [ base singletons ];
+       homepage = "https://github.com/martyall/servant-zeppelin#readme";
+       description = "Types and definitions of servant-zeppelin combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-zeppelin-client" = callPackage
+    ({ mkDerivation, aeson, base, data-default-class, hspec
+     , http-client, mtl, QuickCheck, servant, servant-client
+     , servant-server, servant-zeppelin, servant-zeppelin-server
+     , singletons, string-conversions, text, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "servant-zeppelin-client";
+       version = "0.1.0.3";
+       sha256 = "0rycpbwnxnjcf5j0ipy2sf66l4nj1fml16hyd6ga4wd6hcf5277q";
+       libraryHaskellDepends = [
+         aeson base servant servant-client servant-zeppelin singletons text
+       ];
+       testHaskellDepends = [
+         aeson base data-default-class hspec http-client mtl QuickCheck
+         servant servant-client servant-server servant-zeppelin
+         servant-zeppelin-server singletons string-conversions wai-extra
+         warp
+       ];
+       homepage = "https://github.com/martyall/servant-zeppelin#readme";
+       description = "Client library for servant-zeppelin combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-zeppelin-server" = callPackage
+    ({ mkDerivation, aeson, base, hspec, http-client, http-types, lens
+     , lens-aeson, mtl, QuickCheck, servant, servant-server
+     , servant-zeppelin, singletons, string-conversions, text, wai, warp
+     , wreq
+     }:
+     mkDerivation {
+       pname = "servant-zeppelin-server";
+       version = "0.1.0.3";
+       sha256 = "1fq9cac0mxpgj6cbgchd28djai0p1sdxgnbzpi6mn5l3hpfqyxnm";
+       libraryHaskellDepends = [
+         aeson base http-types servant servant-server servant-zeppelin
+         singletons text wai
+       ];
+       testHaskellDepends = [
+         aeson base hspec http-client http-types lens lens-aeson mtl
+         QuickCheck servant servant-server servant-zeppelin
+         string-conversions warp wreq
+       ];
+       homepage = "https://github.com/martyall/servant-zeppelin#readme";
+       description = "Server library for servant-zeppelin combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-zeppelin-swagger" = callPackage
+    ({ mkDerivation, aeson, base, containers, hspec
+     , insert-ordered-containers, lens, servant, servant-swagger
+     , servant-zeppelin, singletons, swagger2, text
+     }:
+     mkDerivation {
+       pname = "servant-zeppelin-swagger";
+       version = "0.1.0.3";
+       sha256 = "0minwzmavsbksn0qh25lcbmdy496zi5lq6jrg4n203pdvnlhsyah";
+       libraryHaskellDepends = [
+         aeson base insert-ordered-containers lens servant servant-swagger
+         servant-zeppelin singletons swagger2 text
+       ];
+       testHaskellDepends = [
+         aeson base containers hspec insert-ordered-containers lens servant
+         servant-swagger servant-zeppelin swagger2
+       ];
+       homepage = "https://github.com/martyall/servant-zeppelin#readme";
+       description = "Swagger instances for servant-zeppelin combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "server-generic" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-types, mtl, text
      , void, wai, warp
@@ -165732,6 +167802,7 @@ self: {
        homepage = "https://github.com/seanhess/services#readme";
        description = "Tools for building services";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servius" = callPackage
@@ -166234,6 +168305,8 @@ self: {
        pname = "shade";
        version = "0.1.1.1";
        sha256 = "0yri1xy40lx04sg4nm6z4wg9ayqqq5nga6yk9hv4rpf5aw3n264r";
+       revision = "1";
+       editedCabalFile = "164nw1gg6yl3fb4pqbgxxphafw2120a8kryhqx0i09l8c1n49557";
        libraryHaskellDepends = [ base mtl transformers ];
        homepage = "https://github.com/fredefox/shade#readme";
        description = "A control structure used to combine heterogenous types with delayed effects";
@@ -167058,8 +169131,8 @@ self: {
      }:
      mkDerivation {
        pname = "shikensu";
-       version = "0.3.2";
-       sha256 = "07rha4mva0i23y9nvnk2p3h0b1gpihspq0aa5n63svq8kb96xivl";
+       version = "0.3.3";
+       sha256 = "15a2favvch2ph3sh0y1915vzqisl3bhkpnqp1kfmlyzpdw75h8yn";
        libraryHaskellDepends = [
          aeson base bytestring directory filepath flow Glob text
          unordered-containers
@@ -167251,8 +169324,8 @@ self: {
     ({ mkDerivation, ansi-wl-pprint, base, doctest, trifecta }:
      mkDerivation {
        pname = "show-prettyprint";
-       version = "0.1.2";
-       sha256 = "19p78rs2llq98wr6r49nxs985w45l1723krg7cfwkwciiv2977jv";
+       version = "0.1.2.1";
+       sha256 = "1zwvaa91r4scfxxlbqzfi335bqb3jrgbkkq38dysny52fg6mn565";
        libraryHaskellDepends = [ ansi-wl-pprint base trifecta ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/quchen/show-prettyprint#readme";
@@ -167260,6 +169333,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "show-prettyprint_0_2" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, doctest, prettyprinter
+     , trifecta
+     }:
+     mkDerivation {
+       pname = "show-prettyprint";
+       version = "0.2";
+       sha256 = "14yjffqjkadmb0aw3zf2n1v525vn293rinhmbwby71ch76nij42w";
+       revision = "1";
+       editedCabalFile = "1hkfq59kpx3p4rgka49l3hvim80xlqf5h3q8f1xb4arysrq3pvi4";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base prettyprinter trifecta
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/quchen/show-prettyprint#readme";
+       description = "Robust prettyprinter for output of auto-generated Show instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "show-type" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -167386,8 +169479,8 @@ self: {
      }:
      mkDerivation {
        pname = "sibe";
-       version = "0.2.0.4";
-       sha256 = "1p4djnjqyd7hdnhs4s9xbry5qn6gcwn1s8d9m79qqav016q3hh0h";
+       version = "0.2.0.5";
+       sha256 = "0sj4k0z3w18hwzfb32dnscidksj05awspvqdhx49j7ckbc155aic";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -167916,6 +170009,8 @@ self: {
        pname = "simple-log";
        version = "0.5.1";
        sha256 = "1xnv5vgi1an91fw32m2c8wcf85cqwc5bh41f6cw6b23pg0hcvdyi";
+       revision = "1";
+       editedCabalFile = "0xqzi65hhmazyqpvw2c7rzs49xdm4rah84kcz7w3c25zac9hbxl2";
        libraryHaskellDepends = [
          async base containers deepseq directory exceptions filepath mtl
          SafeSemaphore text time transformers
@@ -167925,7 +170020,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "simple-log_0_9_1" = callPackage
+  "simple-log_0_9_2" = callPackage
     ({ mkDerivation, async, base, base-unicode-symbols, containers
      , data-default, deepseq, directory, exceptions, filepath, hformat
      , hspec, microlens, microlens-platform, mmorph, mtl, SafeSemaphore
@@ -167933,8 +170028,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-log";
-       version = "0.9.1";
-       sha256 = "0znyy233b5bnqi9j1zm6s0mvsbg4khvvm74gypaykq5q5n6yiva4";
+       version = "0.9.2";
+       sha256 = "13a1rqbig0q0nkkwk33vq7vp6w4dvm8famf5dpydw3vlizwh4db9";
        libraryHaskellDepends = [
          async base base-unicode-symbols containers data-default deepseq
          directory exceptions filepath hformat microlens microlens-platform
@@ -168291,6 +170386,23 @@ self: {
        license = stdenv.lib.licenses.lgpl3;
      }) {};
 
+  "simple-text-format" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, microlens-platform, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "simple-text-format";
+       version = "0.1";
+       sha256 = "1k8pdc0hr09zkqnc9rzzkr0w89y9kqnj1mv60y0z5hfblwpk5xk6";
+       libraryHaskellDepends = [ attoparsec base text ];
+       testHaskellDepends = [
+         base hspec microlens-platform text unordered-containers
+       ];
+       homepage = "https://github.com/JustusAdam/simple-text-format#readme";
+       description = "Simple text based format strings with named identifiers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "simple-vec3" = callPackage
     ({ mkDerivation, base, criterion, QuickCheck, tasty
      , tasty-quickcheck, tasty-th, vector, vector-th-unbox
@@ -168556,6 +170668,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "singleton-dict" = callPackage
+    ({ mkDerivation, base, singletons }:
+     mkDerivation {
+       pname = "singleton-dict";
+       version = "0.1.0.0";
+       sha256 = "125mb6j4gf3qcgmvjf6zibnzl7sw8jcmrh60nig16ahk55cjczic";
+       libraryHaskellDepends = [ base singletons ];
+       homepage = "https://github.com/amiddelk/singleton-dict#readme";
+       description = "Typelevel balanced search trees via a singletonized Data.Map";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "singleton-nats" = callPackage
     ({ mkDerivation, base, singletons }:
      mkDerivation {
@@ -168587,6 +170711,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "singletons_2_3" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, mtl
+     , process, syb, tasty, tasty-golden, template-haskell, text
+     , th-desugar
+     }:
+     mkDerivation {
+       pname = "singletons";
+       version = "2.3";
+       sha256 = "022747kp55yf2hzsqk03wcbmvqn47nbvhiqjam06c9hkcj3gixf5";
+       libraryHaskellDepends = [
+         base containers mtl syb template-haskell text th-desugar
+       ];
+       testHaskellDepends = [
+         base Cabal directory filepath process tasty tasty-golden
+       ];
+       homepage = "http://www.github.com/goldfirere/singletons";
+       description = "A framework for generating singleton types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sink" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -168673,6 +170818,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sitepipe" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , exceptions, filepath, Glob, lens, lens-aeson, megaparsec
+     , MissingH, mtl, mustache, optparse-applicative, pandoc, parsec
+     , shelly, text, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "sitepipe";
+       version = "0.1.1";
+       sha256 = "1kymvi3pf67chjsvqxv29i4fbac2yyrjx5llc2r7qjfw3hblf5sj";
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory exceptions filepath Glob
+         lens lens-aeson megaparsec MissingH mtl mustache
+         optparse-applicative pandoc parsec shelly text unordered-containers
+         yaml
+       ];
+       homepage = "https://github.com/ChrisPenner/sitepipe#readme";
+       description = "A simple to understand static site generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sixfiguregroup" = callPackage
     ({ mkDerivation, base, digit, directory, doctest, filepath, lens
      , parsec, parsers, QuickCheck, template-haskell
@@ -170126,6 +172293,8 @@ self: {
        pname = "snap-server";
        version = "1.0.2.2";
        sha256 = "0zw3z9s61kkfmlvrg3sfqvd0c3mzg9zjwp01hm1br3z8cawmzpi7";
+       revision = "1";
+       editedCabalFile = "1r35srci0bglwz8bbl6kwgb33g0lpqdwv8lsy7hfc1l3kj4a7p2f";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -171128,12 +173297,12 @@ self: {
      }) {};
 
   "snipcheck" = callPackage
-    ({ mkDerivation, base, pandoc, process }:
+    ({ mkDerivation, base, containers, pandoc, process }:
      mkDerivation {
        pname = "snipcheck";
-       version = "0.1.0.0";
-       sha256 = "0v44p82sn9kaflr3sa1jk0wlmxwl49zj709p8rjyxfk0hxq9g40k";
-       libraryHaskellDepends = [ base pandoc process ];
+       version = "0.1.0.2";
+       sha256 = "15n6dwkkbr7yh1xvl0xj1kba5s3qy4s8zq01px552fm1qqa8wdzk";
+       libraryHaskellDepends = [ base containers pandoc process ];
        homepage = "https://github.com/nmattia/snipcheck#readme";
        description = "Markdown tester";
        license = stdenv.lib.licenses.mit;
@@ -171326,8 +173495,8 @@ self: {
      }:
      mkDerivation {
        pname = "soap";
-       version = "0.2.3.3";
-       sha256 = "0yarhkcnn9z11ghjs756fmcdawgr33r4mipzf32aqp677g45j5rd";
+       version = "0.2.3.5";
+       sha256 = "01xprcrgy0galalh27by3csbm8m2m9dxlw3y83s4qnassv8zf2xs";
        libraryHaskellDepends = [
          base bytestring conduit configurator data-default exceptions
          http-client http-types iconv mtl resourcet text
@@ -171741,8 +173910,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "sort";
-       version = "0.1.0.0";
-       sha256 = "0wqzl413pdaqs1674smgr65kqdwv3msq834xflxq01jd4p872j7l";
+       version = "1.0.0.0";
+       sha256 = "03bpyn0mimfyilfjs26b9c8sclbzsbardjhy6d822jybg548kqyf";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/cdornan/sort";
        description = "A Haskell sorting toolkit";
@@ -172027,6 +174196,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "spake2" = callPackage
+    ({ mkDerivation, base, bytestring, cryptonite, memory
+     , optparse-applicative, protolude, QuickCheck, tasty, tasty-hspec
+     }:
+     mkDerivation {
+       pname = "spake2";
+       version = "0.2.0";
+       sha256 = "16yqr9kvhf71iajn6mld8y4svq0l5yz5ljpjmajnfw6lw8fbjrim";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring cryptonite memory protolude
+       ];
+       executableHaskellDepends = [
+         base cryptonite memory optparse-applicative protolude
+       ];
+       testHaskellDepends = [
+         base cryptonite protolude QuickCheck tasty tasty-hspec
+       ];
+       homepage = "https://github.com/jml/haskell-spake2#readme";
+       description = "Implementation of the SPAKE2 Password-Authenticated Key Exchange algorithm";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "spanout" = callPackage
     ({ mkDerivation, base, containers, gloss, lens, linear, MonadRandom
      , mtl, netwire
@@ -173115,12 +175308,12 @@ self: {
     ({ mkDerivation, base, QuickCheck, quickcheck-simple }:
      mkDerivation {
        pname = "sql-words";
-       version = "0.1.4.1";
-       sha256 = "1bixzyr6gy64ncmal010y22v9gdqxdnaambsc22sv08jcbwshgpm";
+       version = "0.1.5.0";
+       sha256 = "164a4bls6sqp8dmwn63dqa4dxyd7nd7fr7n2996bhrq7h4dk0ydv";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck quickcheck-simple ];
        homepage = "http://khibino.github.io/haskell-relational-record/";
-       description = "Simple idea SQL keywords data constructor into OverloadedString";
+       description = "SQL keywords data constructors into OverloadedString";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -173141,6 +175334,7 @@ self: {
        homepage = "http://github.com/figome/haskell-sqlcipher";
        description = "Haskell binding to sqlcipher";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
   "sqlite" = callPackage
@@ -173633,8 +175827,8 @@ self: {
        pname = "stache";
        version = "0.2.2";
        sha256 = "0vmqfs956cziwb3q2v4nzn4b9d87062z9pixwfr7iiwd0ypmmiv6";
-       revision = "1";
-       editedCabalFile = "0rx69m3aisib3vl66hgj9fq33xccjd1v5axmd7hlnh73s3vi8w99";
+       revision = "2";
+       editedCabalFile = "1bwdg0y98bw8p1857isjcg3f51d0nv52zbfc0s6f9syq70ahbhz9";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory exceptions
          filepath megaparsec mtl template-haskell text unordered-containers
@@ -175081,10 +177275,8 @@ self: {
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
        pname = "stm-lifted";
-       version = "0.1.0.0";
-       sha256 = "1x3yxxyik0vyh3p530msxh2a1aylmh8zab05qpq7nfl5m9v6v090";
-       revision = "1";
-       editedCabalFile = "0m3cvhz16z06s560j45dpi7wiy6398pm98f34p3wrryq64d744yk";
+       version = "0.1.1.0";
+       sha256 = "1xp3cfpkhkhpva170vwwrwqm0spwm2g778s98gwbil24icx0p32c";
        libraryHaskellDepends = [ base stm transformers ];
        description = "Software Transactional Memory lifted to MonadIO";
        license = stdenv.lib.licenses.bsd3;
@@ -175154,8 +177346,8 @@ self: {
     ({ mkDerivation, base, stm }:
      mkDerivation {
        pname = "stm-split";
-       version = "0.0.1";
-       sha256 = "1f91fj1w8z5mahfn7c5933iag7vary2ljp12j4bv360lnvp3q700";
+       version = "0.0.2";
+       sha256 = "01rqf5b75p3np5ym0am98mibmsw6vrqryad5nwjj9h5ci4wa81iw";
        libraryHaskellDepends = [ base stm ];
        description = "TMVars, TVars and TChans with distinguished input and output side";
        license = stdenv.lib.licenses.bsd3;
@@ -175810,6 +178002,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streaming-binary" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hspec, streaming
+     , streaming-bytestring
+     }:
+     mkDerivation {
+       pname = "streaming-binary";
+       version = "0.3.0.1";
+       sha256 = "0n39as3mjwp6v1j4qrxm616h3zs0plnal2z46kwcqh5fbcszsayd";
+       libraryHaskellDepends = [
+         base binary bytestring streaming streaming-bytestring
+       ];
+       testHaskellDepends = [
+         base binary bytestring hspec streaming streaming-bytestring
+       ];
+       homepage = "https://github.com/mboes/streaming-binary#readme";
+       description = "Streaming interface to binary";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "streaming-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, exceptions, mmorph, mtl
      , resourcet, smallcheck, streaming, tasty, tasty-smallcheck
@@ -175857,6 +178068,48 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "streaming-commons_0_1_18" = callPackage
+    ({ mkDerivation, array, async, base, blaze-builder, bytestring
+     , criterion, deepseq, directory, hspec, network, process
+     , QuickCheck, random, stm, text, transformers, unix, zlib
+     }:
+     mkDerivation {
+       pname = "streaming-commons";
+       version = "0.1.18";
+       sha256 = "1jw3y3clh2l0kmsrkhhn6n1b8i8gnwz5cwbczj1kq00sj3xjxbr7";
+       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
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-builder bytestring criterion deepseq text
+       ];
+       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-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hspec, streaming
+     , streaming-bytestring, transformers
+     }:
+     mkDerivation {
+       pname = "streaming-conduit";
+       version = "0.1.1.0";
+       sha256 = "1cj2p3c6rs5cbz0jdj7k8mxfnslk96966dshfhjxi56mrpjxmzjy";
+       libraryHaskellDepends = [
+         base bytestring conduit streaming streaming-bytestring transformers
+       ];
+       testHaskellDepends = [ base conduit hspec streaming ];
+       description = "Bidirectional support between the streaming and conduit libraries";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "streaming-eversion" = callPackage
     ({ mkDerivation, base, doctest, foldl, microlens, pipes
      , pipes-bytestring, pipes-text, streaming, tasty, tasty-hunit
@@ -176804,8 +179057,8 @@ self: {
      }:
      mkDerivation {
        pname = "stutter";
-       version = "0.1.0.0";
-       sha256 = "04fal5j1mdgpn5w4vh4gw4jb20j8jh3clsiz82llc392h5c8w0x3";
+       version = "0.1.0.1";
+       sha256 = "1s3bwwylbf7mcjzpnl8681aaw92q8kcyp074gns5cazsi0slfzl4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -177137,6 +179390,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sum-type-boilerplate" = callPackage
+    ({ mkDerivation, base, hlint, hspec, HUnit, template-haskell }:
+     mkDerivation {
+       pname = "sum-type-boilerplate";
+       version = "0.1.0";
+       sha256 = "1nibnrnj35sdi6jywjlg5f41138a22q2vg7hn0vqczynzswjb5y8";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base hlint hspec HUnit template-haskell ];
+       homepage = "https://github.com/jdreaver/sum-type-boilerplate#readme";
+       description = "Library for reducing the boilerplate involved with sum types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sump" = callPackage
     ({ mkDerivation, base, bytestring, data-default, lens, serialport
      , transformers, vector
@@ -177309,14 +179575,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "superbuffer_0_3_1_0" = callPackage
+  "superbuffer_0_3_1_1" = callPackage
     ({ mkDerivation, async, base, buffer-builder, bytestring, criterion
      , HTF, QuickCheck
      }:
      mkDerivation {
        pname = "superbuffer";
-       version = "0.3.1.0";
-       sha256 = "1aimkngya9b1l6imjnv9xgdfbrrw8wljgjm52fs9rz26vp5lgdxm";
+       version = "0.3.1.1";
+       sha256 = "0y3c2v2ca5lzz6265bcn9g04j6aihm7kw8w91ywfl7bkg1agp9fp";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [ async base bytestring HTF QuickCheck ];
        benchmarkHaskellDepends = [
@@ -177371,6 +179637,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "superconstraints" = callPackage
+    ({ mkDerivation, base, constraints, containers, haskell-src-meta
+     , mtl, tagged, template-haskell, type-eq
+     }:
+     mkDerivation {
+       pname = "superconstraints";
+       version = "0.0.2";
+       sha256 = "0wdh3vjqls9mdvii7qxcv993305ahznffiv0qkfkwg0lxsshwdxy";
+       libraryHaskellDepends = [
+         base constraints containers haskell-src-meta mtl tagged
+         template-haskell type-eq
+       ];
+       homepage = "http://github.com/ryantrinkle/superconstraints";
+       description = "Access an instance's constraints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "superdoc" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
@@ -177804,6 +180087,8 @@ self: {
        pname = "syb";
        version = "0.6";
        sha256 = "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3";
+       revision = "1";
+       editedCabalFile = "158ngdnlq9n1mil7cq2bzy4zkgx73zzms9q56wp6ll93m5mc4nlx";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base containers HUnit mtl ];
        homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
@@ -178629,6 +180914,7 @@ self: {
        homepage = "https://github.com/ChaosGroup/system-info";
        description = "Get information about CPUs, memory, etc";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "system-inotify" = callPackage
@@ -178668,14 +180954,12 @@ self: {
      }) {};
 
   "system-locale" = callPackage
-    ({ mkDerivation, base, hspec, megaparsec, process, time }:
+    ({ mkDerivation, attoparsec, base, hspec, process, text, time }:
      mkDerivation {
        pname = "system-locale";
-       version = "0.1.0.0";
-       sha256 = "1avgd19yd5wzg44546vhl285lrcm6lng54q3iig8fpdm4maq3xqd";
-       revision = "1";
-       editedCabalFile = "196g511hi9vj82q7pny41hqndhkbrdf7y0r9hcr3gdkc90f6k09n";
-       libraryHaskellDepends = [ base megaparsec process time ];
+       version = "0.2.0.0";
+       sha256 = "1mvzcnqybdv30xrpfp87l61kcdss2wgqsbgpdl2gl9nz62hyd5z5";
+       libraryHaskellDepends = [ attoparsec base process text time ];
        testHaskellDepends = [ base hspec ];
        homepage = "https://github.com/cocreature/system-locale";
        description = "Get system locales";
@@ -179172,17 +181456,18 @@ self: {
 
   "tagchup" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-accessor
-     , explicit-exception, old-time, transformers, utility-ht, xml-basic
+     , explicit-exception, non-empty, old-time, transformers, utility-ht
+     , xml-basic
      }:
      mkDerivation {
        pname = "tagchup";
-       version = "0.4.0.5";
-       sha256 = "0dgsl0ig2kc6f9dnb22pgl4c1nx8x3d7wp0nxffpd9v2qpp2xhf0";
+       version = "0.4.1";
+       sha256 = "1h14xvbn5idc37zkxlkf1g9zr54l4kn4889mnfcbxg56fdfrfb0j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring containers data-accessor explicit-exception
-         transformers utility-ht xml-basic
+         non-empty transformers utility-ht xml-basic
        ];
        testHaskellDepends = [ base xml-basic ];
        benchmarkHaskellDepends = [
@@ -179241,8 +181526,8 @@ self: {
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
        pname = "tagged-identity";
-       version = "0.1.1";
-       sha256 = "1a0s02xclpqbq22mqs7gi9kzv9hjlpjb2nkr91fic8hlr9nngw6w";
+       version = "0.1.2";
+       sha256 = "0402snxl1cpi7yq03aqkp036hjcrrqiy0if3c3bz6ljls7yxfvci";
        libraryHaskellDepends = [ base mtl transformers ];
        homepage = "https://github.com/mrkkrp/tagged-identity";
        description = "Trivial monad transformer that allows identical monad stacks have different types";
@@ -179823,8 +182108,8 @@ self: {
     ({ mkDerivation, base, bytestring, conduit-combinators }:
      mkDerivation {
        pname = "tar-conduit";
-       version = "0.1.0";
-       sha256 = "0bwfhxvw0dz2s5a3mzzrv4546dh9kqgqsg4yacza9cvjs2l8xkb4";
+       version = "0.1.1";
+       sha256 = "189dy1j32c44mjr3waljcvch1hqlijnax7myp4jih7y12hji6i9r";
        libraryHaskellDepends = [ base bytestring conduit-combinators ];
        homepage = "https://github.com/snoyberg/tar-conduit#readme";
        description = "Parse tar files using conduit for streaming";
@@ -180071,12 +182356,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty-dejafu_0_5_0_0" = callPackage
+  "tasty-dejafu_0_6_0_0" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "0.5.0.0";
-       sha256 = "0pqrii4qd9a0sjbz21rscdn6yz3hns7z9wnz0f40f05qmslxggav";
+       version = "0.6.0.0";
+       sha256 = "0qcfypb69052rdrfvssy3py2im86i71rmlv7w954y9rmbby1kl4n";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the Tasty test framework";
@@ -180106,20 +182391,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "tasty-discover_2_0_3" = callPackage
-    ({ mkDerivation, base, directory, filepath, tasty, tasty-hspec
-     , tasty-hunit, tasty-quickcheck, tasty-smallcheck
+  "tasty-discover_3_0_2" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, tasty
+     , tasty-hspec, tasty-hunit, tasty-quickcheck, tasty-smallcheck
      }:
      mkDerivation {
        pname = "tasty-discover";
-       version = "2.0.3";
-       sha256 = "1qa37iimg66fq1gzjllcrq1rncip26pcw6bax75jmsk1vfczw38j";
+       version = "3.0.2";
+       sha256 = "1bd37d5gppi3lmc244bixv8jpzfx4m14cbqklnwmjhhqviic79h2";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base directory filepath ];
-       executableHaskellDepends = [ base directory filepath ];
+       libraryHaskellDepends = [ base containers directory filepath ];
+       executableHaskellDepends = [ base containers directory filepath ];
        testHaskellDepends = [
-         base directory filepath tasty tasty-hspec tasty-hunit
+         base containers directory filepath tasty tasty-hspec tasty-hunit
          tasty-quickcheck tasty-smallcheck
        ];
        homepage = "https://github.com/lwm/tasty-discover#readme";
@@ -180299,6 +182584,8 @@ self: {
        pname = "tasty-jenkins-xml";
        version = "0.2.0.0";
        sha256 = "1r5dm87cxia1kwkm4rvjbbf9h02dlnzglds2wz0kszcd8ys8zy5m";
+       revision = "1";
+       editedCabalFile = "018wf2xa1x57z6vlrhs98ap1l6i7wgipxjj2ri7lz91rmppjx1c5";
        libraryHaskellDepends = [ base tasty tasty-ant-xml ];
        testHaskellDepends = [
          base bytestring directory hlint hspec io-capture mockery tasty
@@ -180775,8 +183062,8 @@ self: {
        pname = "tdigest-Chart";
        version = "0";
        sha256 = "19vhyk2wgvxnaad32vj9fm0vw8rl5n1lp540dp4yn9dsbilhda3l";
-       revision = "1";
-       editedCabalFile = "1vpq8gkhwziiird8v89fmlrjmc45kfz5k8znk0r779iwzbsnfajr";
+       revision = "2";
+       editedCabalFile = "139qimahwi9q2vm2z6m42ghk59drgii71lrgcj2dbai5x5fnfcgb";
        libraryHaskellDepends = [
          base base-compat Chart colour lens semigroupoids semigroups tdigest
        ];
@@ -180856,8 +183143,8 @@ self: {
      }:
      mkDerivation {
        pname = "telegram-api";
-       version = "0.6.1.1";
-       sha256 = "1cvyridi23vq52qyz6dc2j5b787v2q2rc93zzfb4b6mpr1l72404";
+       version = "0.6.3.0";
+       sha256 = "0fp8ryh9pdpfycyknd9d1r9z1v0p06r87nf19x7azv4i1yl5msia";
        libraryHaskellDepends = [
          aeson base bytestring http-api-data http-client http-media
          http-types mime-types mtl servant servant-client string-conversions
@@ -180918,6 +183205,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "teleshell" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, hashable, network
+     , pipes, primitive, QuickCheck, split, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "teleshell";
+       version = "0.1.0.0";
+       sha256 = "1fmhjjg2k81hc6lsbdnha0a8ma62xcaxkpmfdiygplnmf3gcl02g";
+       libraryHaskellDepends = [
+         attoparsec base bytestring hashable network pipes primitive text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring pipes QuickCheck split tasty tasty-hunit
+         tasty-quickcheck vector
+       ];
+       homepage = "https://github.com/andrewthad/teleshell#readme";
+       description = "Telnet client and other things";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "tellbot" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, containers
      , http-conduit, mtl, network, regex-pcre, split, tagsoup, text
@@ -181353,6 +183663,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "TensorFlow bindings";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {tensorflow = null;};
 
   "tensorflow-core-ops" = callPackage
@@ -181374,6 +183685,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "Haskell wrappers for Core Tensorflow Ops";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-logging" = callPackage
@@ -181402,6 +183714,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "TensorBoard related functionality";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-opgen" = callPackage
@@ -181420,6 +183733,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "Code generation for TensorFlow operations";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-ops" = callPackage
@@ -181450,6 +183764,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "Friendly layer around TensorFlow bindings";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-proto" = callPackage
@@ -181463,6 +183778,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "TensorFlow protocol buffers";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-records" = callPackage
@@ -181480,6 +183796,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "Encoder and decoder for the TensorFlow \"TFRecords\" format";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-records-conduit" = callPackage
@@ -181497,6 +183814,7 @@ self: {
        homepage = "https://github.com/tensorflow/haskell#readme";
        description = "Conduit wrappers for TensorFlow.Records.";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tensorflow-test" = callPackage
@@ -181707,21 +184025,20 @@ self: {
      }) {};
 
   "test-fixture" = callPackage
-    ({ mkDerivation, base, data-default, haskell-src-exts
+    ({ mkDerivation, base, data-default-class, haskell-src-exts
      , haskell-src-meta, hspec, hspec-discover, mtl, template-haskell
-     , th-orphans, th-to-exp, transformers
+     , th-orphans, transformers
      }:
      mkDerivation {
        pname = "test-fixture";
-       version = "0.5.0.0";
-       sha256 = "0bbplvnygnz2z04064hccl070lgmv1yra7k6zfmjr3c7fzvpfj08";
+       version = "0.5.0.1";
+       sha256 = "0gnvz4paxr2wamdp01fnflhifbmsgxpmhg6l3a8nqmi32wgrwy6m";
        libraryHaskellDepends = [
-         base data-default haskell-src-exts haskell-src-meta mtl
+         base data-default-class haskell-src-exts haskell-src-meta mtl
          template-haskell th-orphans
        ];
        testHaskellDepends = [
-         base hspec hspec-discover mtl template-haskell th-to-exp
-         transformers
+         base hspec hspec-discover mtl template-haskell transformers
        ];
        homepage = "http://github.com/cjdev/test-fixture#readme";
        description = "Test monadic side-effects";
@@ -182320,6 +184637,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text_1_2_2_2" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, deepseq
+     , directory, ghc-prim, HUnit, integer-gmp, QuickCheck
+     , quickcheck-unicode, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "text";
+       version = "1.2.2.2";
+       sha256 = "1y9d0zjs2ls0c574mr5xw7y3y49s62sd3wcn9lhpwz8a6q352iii";
+       libraryHaskellDepends = [
+         array base binary bytestring deepseq ghc-prim integer-gmp
+       ];
+       testHaskellDepends = [
+         array base binary bytestring deepseq directory ghc-prim HUnit
+         integer-gmp QuickCheck quickcheck-unicode random test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       doCheck = false;
+       homepage = "https://github.com/bos/text";
+       description = "An efficient packed Unicode text type";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-all" = callPackage
     ({ mkDerivation, base, text, text-format, text-show }:
      mkDerivation {
@@ -182433,6 +184775,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-format-heavy" = callPackage
+    ({ mkDerivation, base, containers, data-default, parsec, text, time
+     }:
+     mkDerivation {
+       pname = "text-format-heavy";
+       version = "0.1.1.0";
+       sha256 = "082j0dzmy5d8lpjxhg9k7qhnjykg851a0yllszf43kx09hk0kmb1";
+       libraryHaskellDepends = [
+         base containers data-default parsec text time
+       ];
+       description = "Full-weight string formatting library, analog of Python's string.format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "text-format-simple" = callPackage
     ({ mkDerivation, base, MissingH }:
      mkDerivation {
@@ -182682,6 +185038,8 @@ self: {
        pname = "text-metrics";
        version = "0.2.0";
        sha256 = "0fp4zzmq14hwprxv3h8zbm7107drj1yj0l9zp75q4qdc2k7088q8";
+       revision = "1";
+       editedCabalFile = "1j3xzb7l2qd2340p4hzfpp26y5414h61nkvhpwpg4brmd041h7fh";
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [ base hspec QuickCheck text ];
        benchmarkHaskellDepends = [ base criterion deepseq text ];
@@ -182929,6 +185287,8 @@ self: {
        pname = "text-show-instances";
        version = "3.5";
        sha256 = "0hh3d52wkq7vbbikn9sznv2i4k23b4vsnxw7s3h0nij2cxpbyz8c";
+       revision = "1";
+       editedCabalFile = "1jbqpmphh4zrbdbqrazqls099gd73zmri1maf1qssvm4drz0ffgn";
        libraryHaskellDepends = [
          base base-compat bifunctors binary bytestring containers directory
          ghc-boot-th haskeline hoopl hpc old-locale old-time pretty random
@@ -182950,7 +185310,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "text-show-instances_3_6" = callPackage
+  "text-show-instances_3_6_1" = callPackage
     ({ mkDerivation, base, base-compat, bifunctors, binary, bytestring
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
      , haskeline, hoopl, hpc, hspec, old-locale, old-time, pretty
@@ -182961,8 +185321,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.6";
-       sha256 = "111s9sw9j3pq0wdv6f4wbpf4wff6iiyj8ysq3k1d527f5ln7idmi";
+       version = "3.6.1";
+       sha256 = "1ws5gkmb7y21aw6lrakjq760lgg7j8r5rfm45sdfalhgasxh54lz";
        libraryHaskellDepends = [
          base base-compat bifunctors binary bytestring containers directory
          ghc-boot-th haskeline hoopl hpc old-locale old-time pretty process
@@ -183292,8 +185652,8 @@ self: {
     ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "th-abstraction";
-       version = "0.1.1.0";
-       sha256 = "06r335nx4h9sjqnvnplhkrps1m176d2322l3zn8sm9kv8mww33c4";
+       version = "0.2.1.0";
+       sha256 = "08kn5siadiz4zv1p03bcys1yzsdaac10l2rh017g2sxrb40hnffk";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -183408,6 +185768,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "th-desugar_1_7" = callPackage
+    ({ mkDerivation, base, containers, hspec, HUnit, mtl, syb
+     , template-haskell, th-expand-syns, th-lift, th-orphans
+     }:
+     mkDerivation {
+       pname = "th-desugar";
+       version = "1.7";
+       sha256 = "1iqlqadax1ahgv9h1vdyddf55v2h4ghqrxfyqirrvk97iyk1rcsj";
+       libraryHaskellDepends = [
+         base containers mtl syb template-haskell th-expand-syns th-lift
+         th-orphans
+       ];
+       testHaskellDepends = [
+         base containers hspec HUnit mtl syb template-haskell th-expand-syns
+         th-lift th-orphans
+       ];
+       homepage = "https://github.com/goldfirere/th-desugar";
+       description = "Functions to desugar Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "th-expand-syns" = callPackage
     ({ mkDerivation, base, containers, syb, template-haskell }:
      mkDerivation {
@@ -183667,25 +186049,19 @@ self: {
      }) {};
 
   "th-typegraph" = callPackage
-    ({ mkDerivation, array, base, base-compat, bytestring, containers
-     , data-default, deepseq, ghc-prim, haskell-src-exts, hspec
-     , hspec-core, lens, mtl, mtl-unleashed, pretty, set-extra, syb
-     , template-haskell, text, th-context, th-desugar, th-lift-instances
-     , th-orphans, th-reify-many
+    ({ mkDerivation, aeson, base, cereal, containers, fgl, lens, mtl
+     , parsec, pretty, safecopy, split, syb, template-haskell, text
+     , th-desugar, th-lift, th-lift-instances, th-orphans, time, userid
+     , web-routes
      }:
      mkDerivation {
        pname = "th-typegraph";
-       version = "0.35.1";
-       sha256 = "1pw7qkqg942rjx5i6rfif2626iv636y7iqd4afrm4dwby4y5z69h";
+       version = "1.0";
+       sha256 = "0p6cczd087lk8mxmax149d3zwmpskyj5ms0gdfdxff927q9g1aj6";
        libraryHaskellDepends = [
-         base base-compat containers data-default haskell-src-exts lens mtl
-         mtl-unleashed pretty set-extra syb template-haskell th-context
-         th-desugar th-lift-instances th-orphans
-       ];
-       testHaskellDepends = [
-         array base bytestring containers data-default deepseq ghc-prim
-         hspec hspec-core lens mtl mtl-unleashed syb template-haskell text
-         th-desugar th-orphans th-reify-many
+         aeson base cereal containers fgl lens mtl parsec pretty safecopy
+         split syb template-haskell text th-desugar th-lift
+         th-lift-instances th-orphans time userid web-routes
        ];
        homepage = "https://github.com/seereason/th-typegraph";
        description = "Graph of the subtype relation";
@@ -184068,8 +186444,8 @@ self: {
      }:
      mkDerivation {
        pname = "threepenny-editors";
-       version = "0.2.0.7";
-       sha256 = "1r7k4m08z4a4cy6miyk2za5azyvl7gj0fzqzd7aqwkcvcgsixbsb";
+       version = "0.2.0.10";
+       sha256 = "0hspg2zlkcmckdx2skgx3yh1sprx3a5fa57xspv4vcj0rws4kjr2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -184506,6 +186882,7 @@ self: {
        homepage = "http://yaxu.org/tidal/";
        description = "Visual rendering for Tidal patterns";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tie-knot" = callPackage
@@ -184840,8 +187217,8 @@ self: {
      }:
      mkDerivation {
        pname = "time-qq";
-       version = "0.0.0.2";
-       sha256 = "0zpgs5xmjq4fk5djg438fpyh3582v22rjrpqhdr3qy81gcqbgaz7";
+       version = "0.0.1.0";
+       sha256 = "11sch73355fpwqgvg8cq0br0108mj9ph085vycnyq1jndrd0wvxd";
        libraryHaskellDepends = [
          base template-haskell time time-locale-compat
        ];
@@ -185337,14 +187714,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "timezone-olson_0_1_8" = callPackage
+    ({ mkDerivation, base, binary, bytestring, extensible-exceptions
+     , time, timezone-series
+     }:
+     mkDerivation {
+       pname = "timezone-olson";
+       version = "0.1.8";
+       sha256 = "0irpvmqpiw4j2wq4rn3jrndgn2jg10yvrnxvsrb1l6g5b80h2sxr";
+       libraryHaskellDepends = [
+         base binary bytestring extensible-exceptions time timezone-series
+       ];
+       homepage = "http://projects.haskell.org/time-ng/";
+       description = "A pure Haskell parser and renderer for binary Olson timezone files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "timezone-olson-th" = callPackage
     ({ mkDerivation, base, template-haskell, time, timezone-olson
      , timezone-series
      }:
      mkDerivation {
        pname = "timezone-olson-th";
-       version = "0.1.0.2";
-       sha256 = "0xmd8c0hs8592p3va4r8wfzy1chld5yq51gcl51bcwzcrvd5102w";
+       version = "0.1.0.3";
+       sha256 = "0jagq78mp09x8zhy3ygdd0pw2ms12c72qi9r7gqaird09rggs44w";
        libraryHaskellDepends = [
          base template-haskell time timezone-olson timezone-series
        ];
@@ -185365,6 +187759,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "timezone-series_0_1_8" = callPackage
+    ({ mkDerivation, base, deepseq, time }:
+     mkDerivation {
+       pname = "timezone-series";
+       version = "0.1.8";
+       sha256 = "1xndlg0n46qjdh5yjzkkg285x3k76073aaizx1ibdzbq9q7dj6c1";
+       libraryHaskellDepends = [ base deepseq time ];
+       homepage = "http://projects.haskell.org/time-ng/";
+       description = "Enhanced timezone handling for Data.Time";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "timezone-unix" = callPackage
     ({ mkDerivation, base, directory, filepath, leapseconds, tasty
      , tasty-golden, tasty-hunit, time, timezone-olson, timezone-series
@@ -185549,6 +187956,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "titan" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "titan";
+       version = "0.1.0.0";
+       sha256 = "1bq8j1ch9fqpfgbchmi284afm1bbhjc47pw4lbnadxfwfcldm1gs";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base ];
+       homepage = "http://keera.co.uk";
+       description = "Testing Infrastructure for Temporal AbstractioNs";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "titlecase" = callPackage
     ({ mkDerivation, base, blaze-markup, semigroups, tasty, tasty-hunit
      , tasty-quickcheck, text
@@ -185557,6 +187979,8 @@ self: {
        pname = "titlecase";
        version = "0.1.0.3";
        sha256 = "08i22wcb0amrl3rl3bkdbvym6zcjz2msraj78px0l0ky3prc7fv7";
+       revision = "1";
+       editedCabalFile = "0p7f68d4v1rp9lf2zaa2bx195ylrsxrds5ybl8mhdr49p0y642qf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blaze-markup semigroups text ];
@@ -185571,6 +187995,24 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "titlecase_1" = callPackage
+    ({ mkDerivation, base, tasty, tasty-hunit, tasty-quickcheck }:
+     mkDerivation {
+       pname = "titlecase";
+       version = "1";
+       sha256 = "1q7pll71rqgmzm90949i6fskfjysfdqhqvby0mh38ykm88bxm80w";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+       homepage = "https://github.com/peti/titlecase#readme";
+       description = "Convert English Words to Title Case";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "tkhs" = callPackage
     ({ mkDerivation, base, HUnit, mtl, parsec, pretty, test-framework
      , test-framework-hunit, utf8-string, vty
@@ -185743,16 +188185,21 @@ self: {
      }) {};
 
   "tmapmvar" = callPackage
-    ({ mkDerivation, base, containers, hashable, stm
+    ({ mkDerivation, async, base, containers, hashable, QuickCheck
+     , quickcheck-instances, stm, tasty, tasty-quickcheck
      , unordered-containers
      }:
      mkDerivation {
        pname = "tmapmvar";
-       version = "0.0.2";
-       sha256 = "1vn0sz5cnzzhf8wxvscahm242dz8n6mp4h7cgfgqmnshpq65gx6y";
+       version = "0.0.3";
+       sha256 = "1w5afnh7v04cjwb6qmgmmzgqhqj58rrxl6m31myk2rgd8i9j1fvf";
        libraryHaskellDepends = [
          base containers hashable stm unordered-containers
        ];
+       testHaskellDepends = [
+         async base containers QuickCheck quickcheck-instances stm tasty
+         tasty-quickcheck
+       ];
        homepage = "https://github.com/athanclark/tmapmvar#readme";
        description = "A single-entity stateful Map in STM, similar to tmapchan";
        license = stdenv.lib.licenses.bsd3;
@@ -186031,7 +188478,7 @@ self: {
        homepage = "http://www.polarmobile.com/";
        description = "FFI bindings to libtokyotyrant";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) tokyocabinet; inherit (pkgs) tokyotyrant;};
 
   "tomato-rubato-openal" = callPackage
@@ -186095,6 +188542,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "top" = callPackage
+    ({ mkDerivation, acid-state, async, base, bytestring, containers
+     , data-default-class, deepseq, directory, doctest, extra, filemanip
+     , filepath, flat, hslogger, ListLike, mtl, pipes, pretty, safecopy
+     , stm, tasty, tasty-hunit, template-haskell, text, time
+     , transformers, websockets, zm
+     }:
+     mkDerivation {
+       pname = "top";
+       version = "0.2";
+       sha256 = "0xspyjz9cwfcwb0ihir8y5ddygsvdm3mxy2gdq3cfvzx8axainzh";
+       libraryHaskellDepends = [
+         acid-state async base bytestring containers data-default-class
+         deepseq extra filepath flat hslogger ListLike mtl pipes pretty
+         safecopy stm template-haskell text time transformers websockets zm
+       ];
+       testHaskellDepends = [
+         base directory doctest filemanip tasty tasty-hunit zm
+       ];
+       homepage = "http://github.com/tittoassini/top";
+       description = "Top (typed oriented protocol) API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "topkata" = callPackage
     ({ mkDerivation, ALUT, array, base, filepath, GLFW-b, OpenAL
      , OpenGL, parseargs, random
@@ -186369,6 +188840,7 @@ self: {
        ];
        description = "Applications for interacting with the Pushbullet API";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tpdb" = callPackage
@@ -186816,18 +189288,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "transient_0_5_4" = callPackage
+  "transient_0_5_6" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, mtl
      , random, stm, time, transformers
      }:
      mkDerivation {
        pname = "transient";
-       version = "0.5.4";
-       sha256 = "0pl523v5p8frcmmz4m5jqyakgmsvi1rmsadl61p60hxl8p5nac35";
+       version = "0.5.6";
+       sha256 = "01r0mw35h3k7yry91gir64gkb6d3x9i5awnacmk8l8anffhvvayc";
        libraryHaskellDepends = [
          base bytestring containers directory mtl random stm time
          transformers
        ];
+       testHaskellDepends = [
+         base bytestring containers directory mtl random stm time
+         transformers
+       ];
        homepage = "http://www.fpcomplete.com/user/agocorona";
        description = "composing programs with multithreading, events and distributed computing";
        license = stdenv.lib.licenses.mit;
@@ -186864,7 +189340,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "transient-universe_0_4_1" = callPackage
+  "transient-universe_0_4_5" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , directory, filepath, hashable, HTTP, iproute, mtl, network
      , network-info, network-uri, process, random, stm, TCache, text
@@ -186872,8 +189348,8 @@ self: {
      }:
      mkDerivation {
        pname = "transient-universe";
-       version = "0.4.1";
-       sha256 = "1yynv15cm70gkjaccrb3zksgm3j03wzbmq2n53ha7pzmbmdq2010";
+       version = "0.4.5";
+       sha256 = "0imyapqzdl2rz4gdykkcf3vr3r5d22qdnm9n0rg0gkl63b4lvv60";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186882,7 +189358,11 @@ self: {
          random stm TCache text time transformers transient vector
          websockets
        ];
-       executableHaskellDepends = [ base transformers transient ];
+       executableHaskellDepends = [
+         base bytestring case-insensitive containers directory filepath
+         hashable HTTP mtl network network-info network-uri process random
+         stm TCache text time transformers transient vector websockets
+       ];
        testHaskellDepends = [
          base bytestring case-insensitive containers directory filepath
          hashable HTTP mtl network network-info network-uri process random
@@ -187266,6 +189746,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "trifecta_1_7" = callPackage
+    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, array, base
+     , blaze-builder, blaze-html, blaze-markup, bytestring, Cabal
+     , cabal-doctest, charset, comonad, containers, deepseq, doctest
+     , fingertree, ghc-prim, hashable, lens, mtl, parsers, profunctors
+     , QuickCheck, reducers, semigroups, transformers
+     , unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "trifecta";
+       version = "1.7";
+       sha256 = "0hsm6k0af5hrx768kq4nww56x7hmvp993659asck6r00i9gyk0pq";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html
+         blaze-markup bytestring charset comonad containers deepseq
+         fingertree ghc-prim hashable lens mtl parsers profunctors reducers
+         semigroups transformers unordered-containers utf8-string
+       ];
+       testHaskellDepends = [ base doctest parsers QuickCheck ];
+       homepage = "http://github.com/ekmett/trifecta/";
+       description = "A modern parser combinator library with convenient diagnostics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "trimpolya" = callPackage
     ({ mkDerivation, base, bio, bytestring, simpleargs }:
      mkDerivation {
@@ -187315,6 +189821,7 @@ self: {
        homepage = "https://github.com/SamProtas/hs-triplesec";
        description = "TripleSec is a simple, triple-paranoid, symmetric encryption library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "trivia" = callPackage
@@ -187668,6 +190175,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tttool_1_7_0_3" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , directory, executable-path, filepath, hashable, haskeline, HPDF
+     , JuicyPixels, mtl, natural-sort, optparse-applicative, parsec
+     , process, random, split, spool, template-haskell, time, vector
+     , yaml, zlib
+     }:
+     mkDerivation {
+       pname = "tttool";
+       version = "1.7.0.3";
+       sha256 = "0r8ha8wgzlf2ymyxylj16hfshf8w5dl13cwmdkl6ih2niwkzk9ch";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base binary bytestring containers directory executable-path
+         filepath hashable haskeline HPDF JuicyPixels mtl natural-sort
+         optparse-applicative parsec process random split spool
+         template-haskell time vector yaml zlib
+       ];
+       homepage = "https://github.com/entropia/tip-toi-reveng";
+       description = "Working with files for the Tiptoi® pen";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tubes" = callPackage
     ({ mkDerivation, base, comonad, contravariant, free, mtl
      , profunctors, semigroups, transformers
@@ -187929,15 +190461,15 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.3.3";
-       sha256 = "07jd62b0m1a5g32rl3lgqcwhj8zk3s4gcnqy0c7yiqww7z8nz8c2";
+       version = "1.3.5";
+       sha256 = "0ry3d42s3g3hbdg8gjdlcadd0cfmf4harb30w4l2r6p94vj25453";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock directory foldl hostname
          managed optional-args optparse-applicative process semigroups stm
          system-fileio system-filepath temporary text time transformers unix
          unix-compat
        ];
-       testHaskellDepends = [ base doctest ];
+       testHaskellDepends = [ base doctest system-filepath temporary ];
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Shell programming, Haskell-style";
        license = stdenv.lib.licenses.bsd3;
@@ -189193,6 +191725,8 @@ self: {
        pname = "type-unary";
        version = "0.3.0";
        sha256 = "1s84bw7fxxsqixy03892zb1s261fc0c8h5srsifs5mzgvhxkn20l";
+       revision = "1";
+       editedCabalFile = "03lz4iprlfl2bnh4isa2k7ddv1wxz8mqb7x1nmhjqbx34apbqi11";
        libraryHaskellDepends = [
          applicative-numbers base constraints newtype ty vector-space
        ];
@@ -189467,8 +192001,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.3.0.0";
-       sha256 = "1cl12bymyzrcx5jsjp106csap30x28ws58dx5qp6008wdsdbm4j2";
+       version = "0.3.1.1";
+       sha256 = "1pf5ha4r015yc359c5f7jy2qwx1j9i9w62xjlfhm9amx81cw42if";
        libraryHaskellDepends = [
          autoexporter base dlist monad-skeleton template-haskell
          th-data-compat
@@ -190170,10 +192704,8 @@ self: {
      }:
      mkDerivation {
        pname = "unfoldable";
-       version = "0.9.2";
-       sha256 = "010f3c3x933y6pxldrdsi334pnyxz7j4g8627g4ya7q2dmdyr4lm";
-       revision = "1";
-       editedCabalFile = "0kg9bfsfs61ickam0mfavgpy9dxlik5q2sv1b4ij7l71kx4v3s91";
+       version = "0.9.3";
+       sha256 = "0bf5qf6w6blwxbyz5cd8662hd6xv0s0wa8zcrx6s696f2qvjr10f";
        libraryHaskellDepends = [
          base containers ghc-prim one-liner QuickCheck random transformers
        ];
@@ -190967,8 +193499,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "0.4.2";
-       sha256 = "1chyj0mrrfhzhd6wrj9wlxyil9jiyq6yvk27dvh6qzj7qrw2ilzz";
+       version = "0.4.3";
+       sha256 = "17rrikfid54z8h95qns5q7bdxadnnggv1pl2d9ilz9pz9hi7a9g6";
        libraryHaskellDepends = [
          base bytestring containers deepseq exceptions ghc-prim hashable
          microlens microlens-mtl mtl safe stm text text-format transformers
@@ -191605,8 +194137,8 @@ self: {
      }:
      mkDerivation {
        pname = "uri-bytestring";
-       version = "0.2.3.1";
-       sha256 = "0vdiy6z9r5idml6rjbf6h2y24as97j34spcrrwpvgj3nraw18a0x";
+       version = "0.2.3.2";
+       sha256 = "0slchhhgwcig8ifla49r9j96cg5l1jf5gy9zzpvmmds0x3d42qh4";
        libraryHaskellDepends = [
          attoparsec base blaze-builder bytestring containers
          template-haskell th-lift-instances
@@ -191625,12 +194157,43 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "uri-bytestring_0_2_3_3" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, blaze-builder
+     , bytestring, containers, criterion, deepseq, deepseq-generics
+     , generics-sop, HUnit, network-uri, QuickCheck
+     , quickcheck-instances, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, th-lift-instances
+     , transformers
+     }:
+     mkDerivation {
+       pname = "uri-bytestring";
+       version = "0.2.3.3";
+       sha256 = "050bimfsc912dh5sb2kjvvdd80ggjhakqq1dbn46cnp98zr8p0rx";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder bytestring containers
+         template-haskell th-lift-instances
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat blaze-builder bytestring containers
+         generics-sop HUnit QuickCheck quickcheck-instances semigroups tasty
+         tasty-hunit tasty-quickcheck transformers
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-builder bytestring criterion deepseq deepseq-generics
+         network-uri
+       ];
+       homepage = "https://github.com/Soostone/uri-bytestring";
+       description = "Haskell URI parsing as ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "uri-bytestring-aeson" = callPackage
     ({ mkDerivation, aeson, base, bytestring, text, uri-bytestring }:
      mkDerivation {
        pname = "uri-bytestring-aeson";
-       version = "0.1.0.0";
-       sha256 = "0pr82nrkn2ar9nphy6zwdizjj716cg81k22rg4y7lz1l759lhlnq";
+       version = "0.1.0.1";
+       sha256 = "1zi5jl2ksjmvflfzff0hqy7a66ma6xifl2nycb1f6qd0fsrc6hpg";
        libraryHaskellDepends = [
          aeson base bytestring text uri-bytestring
        ];
@@ -192032,6 +194595,8 @@ self: {
        pname = "users";
        version = "0.5.0.0";
        sha256 = "1m2k3vq938whv9577k3jrgx99hwr272s0fc22p2i6k0dgf9sqqb7";
+       revision = "1";
+       editedCabalFile = "1x26g7k6kmq2vng9y5qkz82z06rs322s2y8bs9y6r4vayvg07q9v";
        libraryHaskellDepends = [
          aeson base bcrypt path-pieces text time
        ];
@@ -192187,8 +194752,8 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "utility-ht";
-       version = "0.0.13";
-       sha256 = "1gjcz5bkwjj9lw9nx4qy8ys3ns9h1vndxqk17z52wzqpc3q7fawm";
+       version = "0.0.14";
+       sha256 = "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
@@ -192394,6 +194959,8 @@ self: {
        pname = "uuid";
        version = "1.3.13";
        sha256 = "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z";
+       revision = "1";
+       editedCabalFile = "0yp01hzsw07d9ismqqkkzwqllfnyyhzhjmwhbhgmkb6v7y7iqrbm";
        libraryHaskellDepends = [
          base binary bytestring cryptohash-md5 cryptohash-sha1 entropy
          network-info random text time uuid-types
@@ -193727,18 +196294,19 @@ self: {
      }:
      mkDerivation {
        pname = "vectortiles";
-       version = "1.2.0.4";
-       sha256 = "1i63drcynk5b4i9dmbkhs67s6l3a2l643wx5rgasvxq2di6vf906";
+       version = "1.2.0.5";
+       sha256 = "0pbilwfrz2lv10x9fgy1ndxnz1as0v41r9g36yc5g41dhyhnp82l";
        libraryHaskellDepends = [
          base bytestring cereal containers deepseq protobuf text
          transformers vector
        ];
        testHaskellDepends = [
-         base bytestring cereal hex protobuf tasty tasty-hunit text vector
+         base bytestring cereal containers hex protobuf tasty tasty-hunit
+         text vector
        ];
        benchmarkHaskellDepends = [
          base bytestring cereal containers criterion microlens
-         microlens-platform protobuf text
+         microlens-platform protobuf text vector
        ];
        homepage = "https://github.com/fosskers/vectortiles";
        description = "GIS Vector Tiles, as defined by Mapbox";
@@ -193846,29 +196414,27 @@ self: {
      }) {};
 
   "versions" = callPackage
-    ({ mkDerivation, base, either, megaparsec, microlens, semigroups
-     , tasty, tasty-hunit, text
+    ({ mkDerivation, base, megaparsec, microlens, tasty, tasty-hunit
+     , text
      }:
      mkDerivation {
        pname = "versions";
-       version = "3.0.0";
-       sha256 = "0f7wvsjavv9hkrm5pgwg99w78apsqbrw4hk559cww83k3bbbg3j6";
-       libraryHaskellDepends = [ base megaparsec semigroups text ];
-       testHaskellDepends = [
-         base either microlens tasty tasty-hunit text
-       ];
+       version = "3.0.2.1";
+       sha256 = "1vq2jypv6zsfcf13lnj2hfm19ajg86ld991kbaqbvbxkg1s800jp";
+       libraryHaskellDepends = [ base megaparsec text ];
+       testHaskellDepends = [ base microlens tasty tasty-hunit text ];
        description = "Types and parsers for software version numbers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "versions_3_0_1_1" = callPackage
+  "versions_3_1_0_1" = callPackage
     ({ mkDerivation, base, megaparsec, microlens, tasty, tasty-hunit
      , text
      }:
      mkDerivation {
        pname = "versions";
-       version = "3.0.1.1";
-       sha256 = "02sjdbb1lpqmlra46l781wc2m7j7z6vnig0kip31bjh6849zkjrk";
+       version = "3.1.0.1";
+       sha256 = "0r6dzf27bw2d0d0p48rv2vqkiw4dagdk6ka0hhisxz5ii4x6lvl7";
        libraryHaskellDepends = [ base megaparsec text ];
        testHaskellDepends = [ base microlens tasty tasty-hunit text ];
        description = "Types and parsers for software version numbers";
@@ -194518,43 +197084,10 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.15";
-       sha256 = "1xyphl595dvwrippg6gz7k4ks07mnfgss8gpw14149rc2fjhzgq3";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base blaze-builder bytestring containers deepseq directory filepath
-         hashable microlens microlens-mtl microlens-th mtl parallel parsec
-         stm terminfo text transformers unix utf8-string vector
-       ];
-       executableHaskellDepends = [
-         base containers microlens microlens-mtl mtl
-       ];
-       testHaskellDepends = [
-         base blaze-builder bytestring Cabal containers deepseq HUnit
-         microlens microlens-mtl mtl QuickCheck quickcheck-assertions random
-         smallcheck stm string-qq terminfo test-framework
-         test-framework-hunit test-framework-smallcheck text unix
-         utf8-string vector
-       ];
-       homepage = "https://github.com/jtdaugherty/vty";
-       description = "A simple terminal UI library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "vty_5_15_1" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
-     , deepseq, directory, filepath, hashable, HUnit, microlens
-     , microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
-     , quickcheck-assertions, random, smallcheck, stm, string-qq
-     , terminfo, test-framework, test-framework-hunit
-     , test-framework-smallcheck, text, transformers, unix, utf8-string
-     , vector
-     }:
-     mkDerivation {
-       pname = "vty";
        version = "5.15.1";
        sha256 = "0ba8qnb59ixg9czfj71ckh82p7kkwgnhwh6c69bkjhy0f7g36hr4";
+       revision = "1";
+       editedCabalFile = "0bcvqvhmsj8fbxs19nwy80acjdp1dsphgfzj2xkj8kkxaw08s2g8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194575,7 +197108,6 @@ self: {
        homepage = "https://github.com/jtdaugherty/vty";
        description = "A simple terminal UI library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vty-examples" = callPackage
@@ -195598,6 +198130,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wai-middleware-json-errors" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, http-types, text
+     , wai
+     }:
+     mkDerivation {
+       pname = "wai-middleware-json-errors";
+       version = "0.1.1";
+       sha256 = "0704hyfzc8jqvdny9wz3j0b204vq7b07c1wwcin9ir9d6hha7aih";
+       libraryHaskellDepends = [
+         aeson base binary bytestring http-types text wai
+       ];
+       testHaskellDepends = [
+         aeson base binary bytestring http-types text wai
+       ];
+       homepage = "https://github.com/orbital/wai-middleware-json-errors#readme";
+       description = "Converts errors from plaintext to json";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wai-middleware-metrics" = callPackage
     ({ mkDerivation, base, bytestring, criterion, ekg-core, http-types
      , QuickCheck, scotty, tasty, tasty-hunit, tasty-quickcheck, text
@@ -196343,6 +198894,29 @@ self: {
        ];
        description = "A generator of comics based on some ascertainable data about the requester";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wallpaper" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, JuicyPixels, text
+     , yaml
+     }:
+     mkDerivation {
+       pname = "wallpaper";
+       version = "0.1.0.1";
+       sha256 = "0dpy3vnf8vn0z64r6kla2qm1czlzz3xvpmm4rz95yjynsrc5n7mz";
+       revision = "1";
+       editedCabalFile = "00a67dn1ald61zwm9bg6p2vr9ahr6diprx9vmwcjns28g4158qag";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring filepath JuicyPixels text yaml
+       ];
+       executableHaskellDepends = [ base JuicyPixels yaml ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/jeffreyrosenbluth/wallpaper#readme";
+       description = "A library and executable for creating wallpaper, frieze, and rosette patterns";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "warc" = callPackage
@@ -196491,8 +199065,10 @@ self: {
     ({ mkDerivation, base, mtl, time }:
      mkDerivation {
        pname = "watchdog";
-       version = "0.2.2.1";
-       sha256 = "06b93cqn6rbl6jbjyawzqmrx80h0dbcks7ia6l3wzdqpic8yjj6v";
+       version = "0.3";
+       sha256 = "0v8jbrnqg48x5ksdacsd0xazpxqv64ggzihg6k2y6pljqznrhn1i";
+       revision = "1";
+       editedCabalFile = "1hmjlva0pbvbbl3vcngqlqrisx32qzlc9pl96zh2rb6m25riisdg";
        libraryHaskellDepends = [ base mtl time ];
        description = "Simple control structure to re-try an action with exponential backoff";
        license = stdenv.lib.licenses.bsd3;
@@ -196564,8 +199140,8 @@ self: {
      }:
      mkDerivation {
        pname = "wave";
-       version = "0.1.4";
-       sha256 = "1g5nmqfk6p25v9ismwz4i66ay91bd1qh39xwj0hm4z6a5mw8frk8";
+       version = "0.1.5";
+       sha256 = "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5";
        libraryHaskellDepends = [
          base bytestring cereal containers data-default-class transformers
        ];
@@ -196670,17 +199246,18 @@ self: {
 
   "weather-api" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, HTTP, network
-     , utf8-string, vector
+     , network-uri, utf8-string, vector
      }:
      mkDerivation {
        pname = "weather-api";
-       version = "0.4.3";
-       sha256 = "0wlh3p5z2vivhn9pgqzjhczrb7jyfzkz889fmwnvm7h87440jnyj";
+       version = "0.4.3.3";
+       sha256 = "01kbp2m95d8ckwyiimzxk6jjsyfbkv90ddjynflgx7s9i6xxxb17";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring HTTP network utf8-string vector
+         aeson attoparsec base bytestring HTTP network network-uri
+         utf8-string vector
        ];
-       homepage = "https://github.com/cvb/hs-weather-api.git";
-       description = "Weather api implemented in haskell";
+       homepage = "https://github.com/cvb/hs-weather-api#readme";
+       description = "Weather API implemented in Haskell";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -197568,8 +200145,8 @@ self: {
      }:
      mkDerivation {
        pname = "websockets-simple";
-       version = "0.0.6.1";
-       sha256 = "1gmagrfq0kzz954dj6kvxsgajz4zz4a7yii26jp4z1cpjk7pl8pk";
+       version = "0.0.6.3";
+       sha256 = "057gm855nqx4rbmhsai4fw4l7p42a40d27567pgnb81chj638w9g";
        libraryHaskellDepends = [
          aeson async base bytestring every exceptions monad-control stm
          transformers wai-transformers websockets
@@ -197578,6 +200155,7 @@ self: {
        homepage = "https://github.com/athanclark/websockets-simple#readme";
        description = "Simpler interface to the websockets api";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "websockets-snap" = callPackage
@@ -197657,8 +200235,8 @@ self: {
      }:
      mkDerivation {
        pname = "weeder";
-       version = "0.1.3";
-       sha256 = "15vqayanb9bs10wigpdrzjcwnmpnq8mai3j3bw5q72rl9m2qc6dj";
+       version = "0.1.5";
+       sha256 = "0jnfg68828qdk14lpa0ql4x6cj7ap2njrwpgdqwkpm2hkgw21363";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -198556,24 +201134,21 @@ self: {
      }) {};
 
   "wolf" = callPackage
-    ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
-     , amazonka-swf, base, bytestring, conduit, conduit-combinators
-     , conduit-extra, directory, exceptions, filemanip, filepath
-     , http-types, lifted-async, monad-control, optparse-applicative
-     , optparse-generic, preamble, process, resourcet, shakers, text
-     , time, uuid, yaml
+    ({ mkDerivation, aeson, amazonka, amazonka-swf, base, bytestring
+     , conduit, directory, exceptions, filemanip, filepath, http-types
+     , lifted-async, lifted-base, monad-control, optparse-generic
+     , preamble, process, resourcet, shakers, time, uuid, yaml
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.3.14";
-       sha256 = "1dbkk0v99jwag8926vjn6fmxpanwds7mfrf1lgd13slxppri8f32";
+       version = "0.3.18";
+       sha256 = "08wpjp1m6szx2sp4g7h03ks7r2ryadzz3a3apchd2vymhlb1qaxb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson amazonka amazonka-core amazonka-s3 amazonka-swf base
-         bytestring conduit conduit-combinators conduit-extra directory
-         exceptions filemanip filepath http-types lifted-async monad-control
-         optparse-applicative preamble process resourcet text time uuid yaml
+         aeson amazonka amazonka-swf base bytestring conduit directory
+         exceptions filemanip filepath http-types lifted-async lifted-base
+         monad-control preamble process resourcet time uuid yaml
        ];
        executableHaskellDepends = [ base optparse-generic shakers ];
        homepage = "https://github.com/swift-nav/wolf";
@@ -198847,6 +201422,7 @@ self: {
        homepage = "http://github.com/sboosali/workflow-pure#readme";
        description = "manipulate `workflow-types:Workflow`'s";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "workflow-types" = callPackage
@@ -199096,6 +201672,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "write-buffer-core" = callPackage
+    ({ mkDerivation, base, bytestring, clock, dlist, exceptions
+     , lifted-async, lifted-base, monad-control, mtl, stm, stm-chans
+     }:
+     mkDerivation {
+       pname = "write-buffer-core";
+       version = "0.1.0.0";
+       sha256 = "066w2xpmf988r27i987ia47nska33hs60h3xwk69dm7vg42ylh3m";
+       libraryHaskellDepends = [
+         base bytestring clock dlist exceptions lifted-async lifted-base
+         monad-control mtl stm stm-chans
+       ];
+       homepage = "https://github.com/parsonsmatt/write-buffer#readme";
+       description = "Buffer your writes, transparently";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "write-buffer-stm" = callPackage
+    ({ mkDerivation, base, stm, stm-chans, write-buffer-core }:
+     mkDerivation {
+       pname = "write-buffer-stm";
+       version = "0.1.0.0";
+       sha256 = "0q03pnkw3343jmcs2f2mrx84g3wj3plcagnjdviphzsg7rrf3a4l";
+       libraryHaskellDepends = [ base stm stm-chans write-buffer-core ];
+       homepage = "https://github.com/parsonsmatt/write-buffer#readme";
+       description = "A write buffer for STM channels and queues";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "writer-cps-full" = callPackage
     ({ mkDerivation, base, writer-cps-lens, writer-cps-morph
      , writer-cps-mtl, writer-cps-transformers
@@ -199186,6 +201791,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wryte" = callPackage
+    ({ mkDerivation, base, mtl, text }:
+     mkDerivation {
+       pname = "wryte";
+       version = "0.2.0.0";
+       sha256 = "1hb7dh4sayy11whx25012pwc914g6v2dl8gldc2ipkzaa6wpycsh";
+       libraryHaskellDepends = [ base mtl text ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/tdammers/wryte#readme";
+       description = "Pretty output for source generators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ws-chans" = callPackage
     ({ mkDerivation, async, base, http-types, HUnit, network
      , QuickCheck, quickcheck-instances, test-framework
@@ -199744,7 +202362,7 @@ self: {
        ];
        description = "Haskell extended file attributes interface";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) attr;};
 
   "xbattbar" = callPackage
@@ -200292,7 +202910,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "xlsx_0_5_0" = callPackage
+  "xlsx_0_6_0" = callPackage
     ({ mkDerivation, base, base64-bytestring, binary-search, bytestring
      , conduit, containers, data-default, Diff, errors, extra, filepath
      , groom, lens, mtl, mtl-compat, network-uri, old-locale
@@ -200302,8 +202920,8 @@ self: {
      }:
      mkDerivation {
        pname = "xlsx";
-       version = "0.5.0";
-       sha256 = "0wmn5hz2pmajyg4q5lq4yp3rrwvaic15w4qglw3a2vb9cmx42n1a";
+       version = "0.6.0";
+       sha256 = "1a6xvk8b0lsqr3m712879vr3z84snkzcfb9ykikf2azz69kn7y4k";
        libraryHaskellDepends = [
          base base64-bytestring binary-search bytestring conduit containers
          data-default errors extra filepath lens mtl mtl-compat network-uri
@@ -200376,12 +202994,11 @@ self: {
      }:
      mkDerivation {
        pname = "xml-basic";
-       version = "0.1.1.3";
-       sha256 = "0m3pwg8b9pvqh9559p7nq39vnkklmf9gcay8vpvrkh17p8n14z6c";
+       version = "0.1.2";
+       sha256 = "1s8415gj65zm6mbbrmkav92zkwi0q8mf892ajc2qz9hfmhxab27q";
        libraryHaskellDepends = [
          base containers data-accessor explicit-exception utility-ht
        ];
-       homepage = "http://www.haskell.org/haskellwiki/XML-Basic";
        description = "Basics for XML/HTML representation and processing";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -200996,33 +203613,6 @@ self: {
 
   "xmlhtml" = callPackage
     ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
-     , bytestring, containers, directory, HUnit, parsec, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "xmlhtml";
-       version = "0.2.3.5";
-       sha256 = "0vdhfh1fnhmkymasrcv5rh4498r5fgm7yia3n5h8n1nmmz3s2cz3";
-       revision = "4";
-       editedCabalFile = "073a98mmczjb80bjblzwcybnidchj9vgivcj6b5rdvh584iwbhz2";
-       libraryHaskellDepends = [
-         base blaze-builder blaze-html blaze-markup bytestring containers
-         parsec text unordered-containers
-       ];
-       testHaskellDepends = [
-         base blaze-builder blaze-html blaze-markup bytestring containers
-         directory HUnit parsec QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 text
-         unordered-containers
-       ];
-       homepage = "https://github.com/snapframework/xmlhtml";
-       description = "XML parser and renderer with HTML 5 quirks mode";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "xmlhtml_0_2_4" = callPackage
-    ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
      , bytestring, containers, directory, HUnit, parsec, test-framework
      , test-framework-hunit, text, unordered-containers
      }:
@@ -201041,7 +203631,6 @@ self: {
        homepage = "https://github.com/snapframework/xmlhtml";
        description = "XML parser and renderer with HTML 5 quirks mode";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xmltv" = callPackage
@@ -201106,8 +203695,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.24.4";
-       sha256 = "1j5mcb9xasdv6ckql1i5ldivchv4yrqm0srb6jbc0mav9fy22kh5";
+       version = "0.24.5";
+       sha256 = "0sdzfj2wa4wpig1i2i5n9qpwm90jp88qifsmaa7j37yhhs6snfir";
        configureFlags = [ "-fall_extensions" ];
        isLibrary = false;
        isExecutable = true;
@@ -201123,7 +203712,7 @@ self: {
        homepage = "http://xmobar.org";
        description = "A Minimalistic Text Based Status Bar";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs.xorg) libXpm; inherit (pkgs.xorg) libXrandr; 
          inherit (pkgs.xorg) libXrender; inherit (pkgs) wirelesstools;};
 
@@ -201317,8 +203906,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmonad-vanessa";
-       version = "0.1.1.0";
-       sha256 = "0fgl6j4mlx5pl03lqggwlxa3ny35x2s4jw3gr7lsx76nrawrfm3p";
+       version = "0.1.1.1";
+       sha256 = "0f322aqfav3hzv9hh0krl778q25jq0m83lqdwzbymbgm4yy585y2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201626,10 +204215,8 @@ self: {
      }:
      mkDerivation {
        pname = "xturtle";
-       version = "0.1.25";
-       sha256 = "161fpfvzbz2kks5pxmq3wrkgfkrfjvqrl4izlq0v7sicqphfkgmd";
-       revision = "1";
-       editedCabalFile = "073w2jgr4m6wdip397ply7hsnn9bh3b3kcvmxzj2iiys0vclpprh";
+       version = "0.2.0.0";
+       sha256 = "08nf4hz47ayypm3f14y7f6wdxskw1ipxvgc3dx24xckx6wvha623";
        libraryHaskellDepends = [
          base convertible Imlib setlocale X11 X11-xft x11-xim yjsvg yjtools
        ];
@@ -201739,8 +204326,8 @@ self: {
      }:
      mkDerivation {
        pname = "yahoo-finance-api";
-       version = "0.2.0.1";
-       sha256 = "15p4g5lx09zpvs3x7611zx7n0sva6yii08g8ciqqg1d2v1bfm7ij";
+       version = "0.2.0.2";
+       sha256 = "0frwwpcf7xwbh28sx6k7v9yw9kswx0wrbqgmsr6kcyzbxl2i54pj";
        libraryHaskellDepends = [
          aeson base either http-api-data http-client mtl servant
          servant-client text time transformers vector
@@ -201848,8 +204435,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.8.22.1";
-       sha256 = "0svvh0dg9xmvrdmfzsh18zdw5jmr3dn7l5cvzp8zprs1lvjhlv6x";
+       version = "0.8.23";
+       sha256 = "0p0ya8vgydsjc9nvc92kncz7239lixjh1rdw3gprnqs2h8a3f428";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -201994,21 +204581,28 @@ self: {
      }) {};
 
   "yaml-union" = callPackage
-    ({ mkDerivation, base, bytestring, optparse-applicative
-     , unordered-containers, yaml
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath
+     , hspec, optparse-applicative, QuickCheck, quickcheck-instances
+     , scientific, text, unix, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "yaml-union";
-       version = "0.0.1";
-       sha256 = "11dxisgr8blzahw9y78rk9sc39nmmfj33klbcbjpi9qawnhjbbxk";
+       version = "0.0.2";
+       sha256 = "1lmlrf3x4icx0ikl02k00hv1wibvy0n3lmxdgjrh0vbq89sbx55a";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base unordered-containers yaml ];
+       libraryHaskellDepends = [
+         aeson base bytestring directory filepath text unix
+         unordered-containers vector yaml
+       ];
        executableHaskellDepends = [
-         base bytestring optparse-applicative yaml
+         base bytestring directory optparse-applicative yaml
        ];
-       testHaskellDepends = [ base ];
-       homepage = "https://github.com/michelk/yaml-overrides.hs";
+       testHaskellDepends = [
+         base hspec QuickCheck quickcheck-instances scientific text
+         unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/michelk/yaml-union.hs";
        description = "Read multiple yaml-files and override fields recursively";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -202165,15 +204759,23 @@ self: {
      }) {};
 
   "yarn-lock" = callPackage
-    ({ mkDerivation, base, containers, megaparsec, protolude, text }:
+    ({ mkDerivation, ansi-wl-pprint, base, containers, megaparsec
+     , protolude, tasty, tasty-hunit, tasty-th, text
+     }:
      mkDerivation {
        pname = "yarn-lock";
-       version = "0.1.0";
-       sha256 = "0gab7blc20xfn6k8gz02b3li1cf759ixkp2vl10hf7k4swhj9ag7";
+       version = "0.2.0";
+       sha256 = "0jily4hrxbj487450amx6nayxpcm0giwrv0zn3mld906lqr2f990";
+       revision = "1";
+       editedCabalFile = "1ji64dab6wf59l9yi1czm81xgnx86qgvcawnxwa83wp1fa3flics";
        libraryHaskellDepends = [
          base containers megaparsec protolude text
        ];
-       homepage = "https://github.com/Profpatsch/yaml-lock#readme";
+       testHaskellDepends = [
+         ansi-wl-pprint base containers megaparsec protolude tasty
+         tasty-hunit tasty-th text
+       ];
+       homepage = "https://github.com/Profpatsch/yarn-lock#readme";
        description = "Represent and parse yarn.lock files";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -202463,6 +205065,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-auth_1_4_17_2" = callPackage
+    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
+     , base64-bytestring, binary, blaze-builder, blaze-html
+     , blaze-markup, byteable, bytestring, conduit, conduit-extra
+     , containers, cryptonite, data-default, email-validate, file-embed
+     , http-client, http-conduit, http-types, lifted-base, memory
+     , mime-mail, network-uri, nonce, persistent, persistent-template
+     , random, resourcet, safe, shakespeare, template-haskell, text
+     , time, transformers, unordered-containers, wai, yesod-core
+     , yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth";
+       version = "1.4.17.2";
+       sha256 = "10wrl6g5q06mf751rwc8wclb5i5wajp30vhr7ggpvfylmqzjg933";
+       libraryHaskellDepends = [
+         aeson authenticate base base16-bytestring base64-bytestring binary
+         blaze-builder blaze-html blaze-markup byteable bytestring conduit
+         conduit-extra containers cryptonite data-default email-validate
+         file-embed http-client http-conduit http-types lifted-base memory
+         mime-mail network-uri nonce persistent persistent-template random
+         resourcet safe shakespeare template-haskell text time transformers
+         unordered-containers wai yesod-core yesod-form yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Authentication for Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-auth-account" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, hspec, monad-logger
      , mtl, nonce, persistent, persistent-sqlite, pwstore-fast
@@ -202632,6 +205264,7 @@ self: {
        ];
        description = "An account authentication plugin for yesod with encrypted token transfer";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-kerberos" = callPackage
@@ -202994,6 +205627,52 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_4_35" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
+     , cereal, clientsession, conduit, conduit-extra, containers, cookie
+     , criterion, data-default, deepseq, deepseq-generics, directory
+     , exceptions, fast-logger, hspec, hspec-expectations, http-types
+     , HUnit, lifted-base, monad-control, monad-logger, mtl, mwc-random
+     , network, old-locale, parsec, path-pieces, primitive, QuickCheck
+     , random, resourcet, safe, semigroups, shakespeare
+     , streaming-commons, template-haskell, text, time, transformers
+     , transformers-base, unix-compat, unordered-containers, vector, wai
+     , wai-extra, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.4.35";
+       sha256 = "1wawpd2pwqn535zrs5wz43jvi0bca0q2kinml6waw5d4s7m0npby";
+       revision = "1";
+       editedCabalFile = "1cgizphqsjd6qmz7xa1flcg064rg5543shybqx6l2npyr21h67yk";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-builder blaze-html blaze-markup
+         byteable bytestring case-insensitive cereal clientsession conduit
+         conduit-extra containers cookie data-default deepseq
+         deepseq-generics directory exceptions fast-logger http-types
+         lifted-base monad-control monad-logger mtl mwc-random old-locale
+         parsec path-pieces primitive random resourcet safe semigroups
+         shakespeare template-haskell text time transformers
+         transformers-base unix-compat unordered-containers vector wai
+         wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base blaze-builder bytestring clientsession conduit
+         conduit-extra containers cookie hspec hspec-expectations http-types
+         HUnit lifted-base mwc-random network path-pieces QuickCheck random
+         resourcet shakespeare streaming-commons template-haskell text
+         transformers wai wai-extra
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring criterion shakespeare text transformers
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -203999,6 +206678,42 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-static_1_5_3" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , blaze-builder, byteable, bytestring, conduit, conduit-extra
+     , containers, cryptohash, cryptohash-conduit, css-text
+     , data-default, directory, exceptions, file-embed, filepath
+     , hashable, hjsmin, hspec, http-types, HUnit, mime-types, old-time
+     , process, resourcet, template-haskell, text, transformers
+     , unix-compat, unordered-containers, wai, wai-app-static, wai-extra
+     , yesod-core, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-static";
+       version = "1.5.3";
+       sha256 = "0raxbnr1xpxgirh2fhs3m277yzbklf6k3dijrrx4kh2bnaiax1ml";
+       libraryHaskellDepends = [
+         async attoparsec base base64-bytestring blaze-builder byteable
+         bytestring conduit conduit-extra containers cryptohash
+         cryptohash-conduit css-text data-default directory exceptions
+         file-embed filepath hashable hjsmin http-types mime-types old-time
+         process resourcet template-haskell text transformers unix-compat
+         unordered-containers wai wai-app-static yesod-core
+       ];
+       testHaskellDepends = [
+         async base base64-bytestring byteable bytestring conduit
+         conduit-extra containers cryptohash cryptohash-conduit data-default
+         directory exceptions file-embed filepath hjsmin hspec http-types
+         HUnit mime-types old-time process resourcet template-haskell text
+         transformers unix-compat unordered-containers wai wai-app-static
+         wai-extra yesod-core yesod-test
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Static file serving subsite for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-static-angular" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, blaze-markup
      , bytestring, data-default, directory, filepath, hamlet, hspec
@@ -204080,6 +206795,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-test_1_5_6" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, bytestring, case-insensitive, containers, cookie
+     , hspec, hspec-core, html-conduit, http-types, HUnit, lifted-base
+     , monad-control, network, persistent, pretty-show, text, time
+     , transformers, wai, wai-extra, xml-conduit, xml-types, yesod-core
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.5.6";
+       sha256 = "1zb3zm6id0nnsbpic8643b1p0x6yx1in8x1c7n36wbp9crinr0h3";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-html blaze-markup bytestring
+         case-insensitive containers cookie hspec-core html-conduit
+         http-types HUnit monad-control network persistent pretty-show text
+         time transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec html-conduit http-types HUnit
+         lifted-base text wai xml-conduit yesod-core yesod-form
+       ];
+       homepage = "http://www.yesodweb.com";
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
@@ -204792,8 +207535,8 @@ self: {
     ({ mkDerivation, base, HaXml }:
      mkDerivation {
        pname = "yjsvg";
-       version = "0.2.0.0";
-       sha256 = "05vgprnpvz55by5l5g17f6l7pjnjcgywyj7z2v3578hb2bqwhha8";
+       version = "0.2.0.1";
+       sha256 = "0zif4sqrd7kv1546vcp1q78bb8k94mkiqxh7glix6gvv7gabfdzp";
        libraryHaskellDepends = [ base HaXml ];
        description = "make SVG string from Haskell data";
        license = stdenv.lib.licenses.bsd3;
@@ -205200,8 +207943,8 @@ self: {
      }:
      mkDerivation {
        pname = "zerobin";
-       version = "1.5.1";
-       sha256 = "16lfkjzmfmhqran2ax6x78g2llblzz0j0i6jsiv4qd2i3iyliwz0";
+       version = "1.5.2";
+       sha256 = "0lwrwaydayklbcs6msdzfc187fr1mqbf64yq0lcw5v04a3papyw0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -205277,6 +208020,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) zeromq;};
 
+  "zeromq4-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, lifted-base
+     , monad-control, mtl, resourcet, semigroups, transformers
+     , transformers-base, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "zeromq4-conduit";
+       version = "0.1.0.0";
+       sha256 = "1qyk0ha21afa7hi1hpl6qk3bhcrs0a0kg0160hfrf6aw7l24dgi2";
+       libraryHaskellDepends = [
+         base bytestring conduit lifted-base monad-control mtl resourcet
+         semigroups transformers transformers-base zeromq4-haskell
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/itkovian/zeromq4-conduit#readme";
+       description = "Conduit wrapper around zeromq4-haskell";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
   "zeromq4-haskell" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, exceptions
      , monad-control, QuickCheck, semigroups, tasty, tasty-hunit
@@ -205350,14 +208112,14 @@ self: {
 
   "zifter-cabal" = callPackage
     ({ mkDerivation, base, directory, filepath, path, path-io, process
-     , zifter
+     , safe, zifter
      }:
      mkDerivation {
        pname = "zifter-cabal";
-       version = "0.0.0.1";
-       sha256 = "0ca82bprk2zxv06jllhdpfp2ajcmd943pkggyhs3v31v71mg4c3d";
+       version = "0.0.0.2";
+       sha256 = "009vhy3x5hb24n1ylr31hvgfk2bic1r9yy8nk78ym1yhjb4vrrj5";
        libraryHaskellDepends = [
-         base directory filepath path path-io process zifter
+         base directory filepath path path-io process safe zifter
        ];
        homepage = "http://cs-syd.eu";
        description = "zifter-cabal";
@@ -205392,6 +208154,7 @@ self: {
        homepage = "http://cs-syd.eu";
        description = "zifter-google-java-format";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zifter-hindent" = callPackage
@@ -205431,14 +208194,14 @@ self: {
 
   "zifter-stack" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath, path, path-io
-     , process, zifter
+     , process, safe, zifter
      }:
      mkDerivation {
        pname = "zifter-stack";
-       version = "0.0.0.2";
-       sha256 = "1mxaxflisrial3rhzij57vbbc4bf3g02byaz6xqa54jnawp1bwdl";
+       version = "0.0.0.4";
+       sha256 = "0vgklhbq846xh020n4mp4j96zbpc2asnsn1zk716pfnkgvk9syqn";
        libraryHaskellDepends = [
-         base Cabal directory filepath path path-io process zifter
+         base Cabal directory filepath path path-io process safe zifter
        ];
        homepage = "http://cs-syd.eu";
        description = "zifter-stack";
@@ -205493,10 +208256,8 @@ self: {
      }:
      mkDerivation {
        pname = "zip";
-       version = "0.1.10";
-       sha256 = "03akf8qpssrlsrd3w1x45gh5h4vr0rz0v4aiz83rpz4zyhv1ghcf";
-       revision = "1";
-       editedCabalFile = "14n4mg8jncy5lisrd857iak9kcxgnza5bazcnh5by5q66w9vsmsp";
+       version = "0.1.11";
+       sha256 = "0adflrr7h6aqq4nz0751chs65zfj0ljz1mjwyym3s080sbrwncjn";
        libraryHaskellDepends = [
          base bytestring bzlib-conduit case-insensitive cereal conduit
          conduit-extra containers digest exceptions filepath mtl path
@@ -205537,6 +208298,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) zip;};
 
+  "zip-archive_0_3_1" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , digest, directory, filepath, HUnit, mtl, old-time, pretty
+     , process, temporary, text, time, unix, zlib
+     }:
+     mkDerivation {
+       pname = "zip-archive";
+       version = "0.3.1";
+       sha256 = "0ywy6isvyizs5d27lh108y6k4qnwmbcdmvzsrm3r45bwcj1nii5f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers digest directory filepath
+         mtl old-time pretty text time unix zlib
+       ];
+       testHaskellDepends = [
+         base bytestring directory HUnit old-time process temporary time
+         unix
+       ];
+       homepage = "http://github.com/jgm/zip-archive";
+       description = "Library for creating and modifying zip archives";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zip-conduit" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra
      , criterion, digest, directory, filepath, hpc, HUnit, LibZip, mtl
@@ -205686,6 +208472,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ziptastic-client_0_3_0_3" = callPackage
+    ({ mkDerivation, base, base-compat, hspec, http-client
+     , http-client-tls, http-types, iso3166-country-codes, servant
+     , servant-client, text, ziptastic-core
+     }:
+     mkDerivation {
+       pname = "ziptastic-client";
+       version = "0.3.0.3";
+       sha256 = "0phw247dbm68bbb9k9z4jiva0gz9yhirggcnsrvm697kzya9s25g";
+       libraryHaskellDepends = [
+         base base-compat http-client iso3166-country-codes servant
+         servant-client text ziptastic-core
+       ];
+       testHaskellDepends = [
+         base base-compat hspec http-client http-client-tls http-types
+         iso3166-country-codes servant-client
+       ];
+       homepage = "https://github.com/Ziptastic/ziptastic-haskell#readme";
+       description = "A type-safe client for the Ziptastic API for doing forward and reverse geocoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ziptastic-core" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, here, hspec
      , http-api-data, iso3166-country-codes, servant, text, tz
@@ -205706,6 +208515,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ziptastic-core_0_2_0_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring, here, hspec
+     , http-api-data, iso3166-country-codes, servant, text, tz
+     }:
+     mkDerivation {
+       pname = "ziptastic-core";
+       version = "0.2.0.3";
+       sha256 = "1c2ahblhqk4dq3105w3qd0j7isn3r0m7vvm5drd5g1ian37ywqwf";
+       libraryHaskellDepends = [
+         aeson base base-compat bytestring http-api-data
+         iso3166-country-codes servant text tz
+       ];
+       testHaskellDepends = [
+         aeson base base-compat here hspec iso3166-country-codes text tz
+       ];
+       homepage = "https://github.com/Ziptastic/ziptastic-haskell#readme";
+       description = "Core Servant specification for the Ziptastic API for doing forward and reverse geocoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zlib_0_5_4_2" = callPackage
     ({ mkDerivation, base, bytestring, zlib }:
      mkDerivation {
@@ -205815,6 +208645,7 @@ self: {
        homepage = "http://github.com/tittoassini/zm";
        description = "Language independent, reproducible, absolute types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zmcat" = callPackage
@@ -206010,6 +208841,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zre" = callPackage
+    ({ mkDerivation, async, attoparsec, base, binary, binary-strict
+     , bytestring, containers, lifted-async, monad-control, mtl, network
+     , network-info, network-multicast, optparse-applicative, process
+     , random, sockaddr, stm, time, transformers-base, uuid
+     , zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "zre";
+       version = "0.1.0.0";
+       sha256 = "11lnz7pxmqz39xjqjh1kkgywv0jg81yzi2hrp2ibaw2nslf65xzl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async attoparsec base binary binary-strict bytestring containers
+         monad-control mtl network network-info network-multicast
+         optparse-applicative process random sockaddr stm time
+         transformers-base uuid zeromq4-haskell
+       ];
+       executableHaskellDepends = [
+         async base bytestring lifted-async monad-control mtl stm time
+       ];
+       testHaskellDepends = [ base ];
+       description = "ZRE protocol implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "zsh-battery" = callPackage
     ({ mkDerivation, base, directory, filepath, mtl }:
      mkDerivation {
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index 6c718bafda5..30d82d3efc9 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -89,7 +89,10 @@ rec {
     isLibrary = false;
     doHaddock = false;
     postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
-  });
+  } // (if pkgs.stdenv.isDarwin then {
+    configureFlags = (drv.configureFlags or []) ++ ["--ghc-option=-optl=-dead_strip"];
+  } else {})
+  );
 
   buildFromSdist = pkg: pkgs.lib.overrideDerivation pkg (drv: {
     unpackPhase = let src = sdistTarball pkg; tarname = "${pkg.pname}-${pkg.version}"; in ''
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index e599b56545d..cc161e3ca2d 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -7,7 +7,8 @@
 # arguments:
 #  * ghc package to use
 #  * package-set: a function that takes { pkgs, stdenv, callPackage } as first arg and `self` as second
-{ ghc, package-set }:
+#  * extensible-self: the final, fully overriden package set usable with the nixpkgs fixpoint overriding functionality
+{ ghc, package-set, extensible-self }:
 
 # return value: a function from self to the package set
 self: let
@@ -116,6 +117,34 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     # Creates a Haskell package from a source package by calling cabal2nix on the source.
     callCabal2nix = name: src: self.callPackage (self.haskellSrc2nix { inherit src name; });
 
+    # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
+    # Given a set whose values are either paths or version strings, produces
+    # a package override set (i.e. (self: super: { etc. })) that sets
+    # the packages named in the input set to the corresponding versions
+    packageSourceOverrides =
+      overrides: self: super: pkgs.lib.mapAttrs (name: src:
+        let isPath = x: builtins.substring 0 1 (toString x) == "/";
+            generateExprs = if isPath src
+                               then self.callCabal2nix
+                               else self.callHackage;
+        in generateExprs name src {}) overrides;
+
+    # : { root : Path
+    #   , source-overrides : Defaulted (Either Path VersionNumber
+    #   , overrides : Defaulted (HaskellPackageOverrideSet)
+    #   } -> NixShellAwareDerivation
+    # Given a path to a haskell package directory whose cabal file is
+    # named the same as the directory name, an optional set of
+    # source overrides as appropriate for the 'packageSourceOverrides'
+    # function, and an optional set of arbitrary overrides,
+    # return a derivation appropriate for nix-build or nix-shell
+    # to build that package.
+    developPackage = { root, source-overrides ? {}, overrides ? self: super: {} }:
+      let name = builtins.baseNameOf root;
+          drv =
+            (extensible-self.extend (pkgs.lib.composeExtensions (self.packageSourceOverrides source-overrides) overrides)).callCabal2nix name root {};
+      in if pkgs.lib.inNixShell then drv.env else drv;
+
     ghcWithPackages = selectFrom: withPackages (selectFrom self);
 
     ghcWithHoogle = selectFrom:
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index e2e0151de37..123d813fc77 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -1,17 +1,6 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, gnused, gawk, makeWrapper
-, odbcSupport ? false, unixODBC ? null
-, wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null
-, enableDebugInfo ? false
-, Carbon ? null, Cocoa ? null }:
+{ mkDerivation, fetchurl }:
 
-assert wxSupport -> mesa != null && wxGTK != null && xorg != null;
-assert odbcSupport -> unixODBC != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
+mkDerivation rec {
   version = "16B03-1";
 
   src = fetchurl {
@@ -19,35 +8,23 @@ stdenv.mkDerivation rec {
     sha256 = "1rvyfh22g1fir1i4xn7v2md868wcmhajwhfsq97v7kn5kd2m7khp";
   };
 
-  debugInfo = enableDebugInfo;
-
-  buildInputs =
-    [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optionals wxSupport [ mesa wxGTK xorg.libX11 ]
-      ++ optional odbcSupport unixODBC
-      ++ optionals stdenv.isDarwin [ Carbon Cocoa ];
-
-  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
   prePatch = ''
-    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+    sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure
   '';
 
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-
   preConfigure = ''
     export HOME=$PWD/../
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl.dev} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
-
+  # Do not install docs, instead use prebuilt versions.
+  installTargets = "install";
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
       sha256 = "17f3k5j17rdsah18gywjngip6cbfgp6nb9di6il4pahmf9yvqc8g";
     };
   in ''
-    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
     tar xf "${manpages}" -C "$out/lib/erlang"
     for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
       prefix="''${i%/*}"
@@ -55,29 +32,4 @@ stdenv.mkDerivation rec {
       ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
     done
   '';
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = platforms.unix;
-    maintainers = [ maintainers.the-kenny ];
-  };
 }
diff --git a/pkgs/development/interpreters/erlang/R16B02-8-basho.nix b/pkgs/development/interpreters/erlang/R16B02-8-basho.nix
index 80f524019df..89c97f5a0eb 100644
--- a/pkgs/development/interpreters/erlang/R16B02-8-basho.nix
+++ b/pkgs/development/interpreters/erlang/R16B02-8-basho.nix
@@ -1,72 +1,38 @@
-{ stdenv, fetchurl, fetchFromGitHub, perl, gnum4, ncurses, openssl, autoconf264, gcc, erlang
-, gnused, gawk, makeWrapper
-, odbcSupport ? false, unixODBC ? null
-, wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null
-, enableDebugInfo ? false
-, Carbon ? null, Cocoa ? null }:
+{ pkgs, mkDerivation }:
 
-assert wxSupport -> mesa != null && wxGTK != null && xorg != null;
-assert odbcSupport -> unixODBC != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "erlang-basho-" + version + "${optionalString odbcSupport "-odbc"}";
+mkDerivation rec {
+  baseName = "erlang";
   version = "16B02";
 
-  src = fetchFromGitHub {
+  src = pkgs.fetchFromGitHub {
     owner = "basho";
     repo = "otp";
     rev = "OTP_R16B02_basho8";
     sha256 = "1w0hbm0axxxa45v3kl6bywc9ayir5vwqxjpnjlzc616ldszb2m0x";
   };
 
-  debugInfo = enableDebugInfo;
-
-  buildInputs =
-    [ perl gnum4 ncurses openssl makeWrapper autoconf264 gcc
-    ] ++ optional wxSupport [ mesa wxGTK xorg.libX11 ]
-      ++ optional odbcSupport [ unixODBC ]
-      ++ optionals stdenv.isDarwin [ Carbon Cocoa ];
-
-  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
-  prePatch = ''
-    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
-  '';
-
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure.in erts/configure.in '';
-
   preConfigure = ''
     export HOME=$PWD/../
     export LANG=C
     export ERL_TOP=$(pwd)
     sed -e s@/bin/pwd@pwd@g -i otp_build
-    sed -e s@"/usr/bin/env escript"@${erlang}/bin/escript@g -i lib/diameter/bin/diameterc
-  '';
-
-  configureFlags= [
-    "--with-ssl=${openssl.dev}"
-    "--enable-smp-support"
-    "--enable-threads"
-    "--enable-kernel-poll"
-    "--disable-hipe"
-    "${optionalString odbcSupport "--with-odbc=${unixODBC}"}"
-    "${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"
-    "${optionalString stdenv.isLinux "--enable-m64-build"}"
-  ];
+    sed -e s@"/usr/bin/env escript"@$(pwd)/bootstrap/bin/escript@g -i lib/diameter/bin/diameterc
 
-  buildPhase = ''
     ./otp_build autoconf
-    ./otp_build setup -a --prefix=$out $configureFlags
   '';
 
+  enableHipe = false;
+
+  # Do not install docs, instead use prebuilt versions.
+  installTargets = "install";
   postInstall = let
-    manpages = fetchurl {
+    manpages = pkgs.fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
       sha256 = "12apxjmmd591y9g9bhr97z5jbd1jarqg7wj0y2sqhl21hc1yp75p";
     };
   in ''
-    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
+    sed -e s@$(pwd)/bootstrap/bin/escript@$out/bin/escript@g -i $out/lib/erlang/lib/diameter-1.4.3/bin/diameterc
+
     tar xf "${manpages}" -C "$out/lib/erlang"
     for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
       prefix="''${i%/*}"
@@ -75,14 +41,6 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
-  '';
-
-  setupHook = ./setup-hook.sh;
-
   meta = {
     homepage = "https://github.com/basho/otp/";
     description = "Programming language used for massively scalable soft real-time systems, Basho fork";
@@ -99,7 +57,7 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = ["x86_64-linux" "x86_64-darwin"];
-    license = stdenv.lib.licenses.asl20;
-    maintainers = with maintainers; [ mdaiter ];
+    license = pkgs.stdenv.lib.licenses.asl20;
+    maintainers = with pkgs.stdenv.lib.maintainers; [ mdaiter ];
   };
 }
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 0869285d496..02d7513331e 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -1,26 +1,6 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, gnused, gawk, makeWrapper
-, Carbon, Cocoa
-, odbcSupport ? false, unixODBC ? null
-, wxSupport ? true, mesa ? null, wxGTK ? null, xorg ? null, wxmac ? null
-, javacSupport ? false, openjdk ? null
-, enableHipe ? true
-, enableDebugInfo ? false
-, enableDirtySchedulers ? false
-}:
+{ mkDerivation, fetchurl }:
 
-assert wxSupport -> (if stdenv.isDarwin
-  then wxmac != null
-  else mesa != null && wxGTK != null && xorg != null);
-
-assert odbcSupport -> unixODBC != null;
-assert javacSupport ->  openjdk != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"
-  + "${optionalString javacSupport "-javac"}";
+mkDerivation rec {
   version = "17.5";
 
   src = fetchurl {
@@ -28,43 +8,23 @@ stdenv.mkDerivation rec {
     sha256 = "0x34hj1a4j3rphqdaapdld7la4sqiqillamcz06wac0vk0684a1w";
   };
 
-  buildInputs =
-    [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optionals wxSupport (if stdenv.isDarwin then [ wxmac ] else [ mesa wxGTK xorg.libX11 ])
-      ++ optional odbcSupport unixODBC
-      ++ optional javacSupport openjdk
-      ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
-
-  patchPhase = ''
-    # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
-    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
-
+  prePatch = ''
     sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure
   '';
 
-  debugInfo = enableDebugInfo;
-
   preConfigure = ''
     export HOME=$PWD/../
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= [
-    "--with-ssl=${openssl.dev}"
-  ] ++ optional enableHipe "--enable-hipe"
-    ++ optional enableDirtySchedulers "--enable-dirty-schedulers"
-    ++ optional wxSupport "--enable-wx"
-    ++ optional odbcSupport "--with-odbc=${unixODBC}"
-    ++ optional javacSupport "--with-javac"
-    ++ optional stdenv.isDarwin "--enable-darwin-64bit";
-
+  # Do not install docs, instead use prebuilt versions.
+  installTargets = "install";
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
       sha256 = "1hspm285bl7i9a0d4r6j6lm5yk4sb5d9xzpia3simh0z06hv5cc5";
     };
   in ''
-    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
     tar xf "${manpages}" -C "$out/lib/erlang"
     for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
       prefix="''${i%/*}"
@@ -72,29 +32,4 @@ stdenv.mkDerivation rec {
       ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
     done
   '';
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = platforms.unix;
-    maintainers = [ maintainers.the-kenny maintainers.sjmackenzie ];
-  };
 }
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index 1ed9bfbd70a..0d20ae662a5 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -1,113 +1,22 @@
-{ stdenv, fetchurl, fetchpatch, fetchFromGitHub, perl, gnum4, ncurses, openssl
-, gnused, gawk, autoconf, libxslt, libxml2, makeWrapper
-, Carbon, Cocoa
-, odbcSupport ? false, unixODBC ? null
-, wxSupport ? true, mesa ? null, wxGTK ? null, xorg ? null, wxmac ? null
-, javacSupport ? false, openjdk ? null
-, enableHipe ? true
-, enableDebugInfo ? false
-, enableDirtySchedulers ? false
-}:
-
-assert wxSupport -> (if stdenv.isDarwin
-  then wxmac != null
-  else mesa != null && wxGTK != null && xorg != null);
-
-assert odbcSupport -> unixODBC != null;
-assert javacSupport ->  openjdk != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"
-  + "${optionalString javacSupport "-javac"}";
-  version = "18.3.4.4";
-
-  # Minor OTP releases are not always released as tarbals at
-  # http://erlang.org/download/ So we have to download from
-  # github. And for the same reason we can't use a prebuilt manpages
-  # tarball and need to build manpages ourselves.
-  src = fetchFromGitHub {
-    owner = "erlang";
-    repo = "otp";
-    rev = "OTP-${version}";
-    sha256 = "0wilm21yi9m3v6j26vc04hsa58cxca5z4q9yxx71hm81cbm1xbwk";
-  };
-
-  buildInputs =
-    [ perl gnum4 ncurses openssl autoconf libxslt libxml2 makeWrapper
-    ] ++ optionals wxSupport (if stdenv.isDarwin then [ wxmac ] else [ mesa wxGTK xorg.libX11 ])
-      ++ optional odbcSupport unixODBC
-      ++ optional javacSupport openjdk
-      ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
-
-  debugInfo = enableDebugInfo;
+{ mkDerivation, fetchurl }:
 
+let
   rmAndPwdPatch = fetchurl {
      url = "https://github.com/erlang/otp/commit/98b8650d22e94a5ff839170833f691294f6276d0.patch";
      sha256 = "0cd5pkqrigiqz6cyma5irqwzn0bi17k371k9vlg8ir31h3zmqfip";
   };
 
   envAndCpPatch = fetchurl {
-     url = "https://github.com/binarin/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch";
+     url = "https://github.com/erlang/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch";
      sha256 = "10h5348p6g279b4q01i5jdqlljww5chcvrx5b4b0dv79pk0p0m9f";
   };
 
-  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
-  prePatch = ''
-    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
-  '';
+in mkDerivation rec {
+  version = "18.3.4.4";
+  sha256 = "0wilm21yi9m3v6j26vc04hsa58cxca5z4q9yxx71hm81cbm1xbwk";
 
   patches = [
     rmAndPwdPatch
     envAndCpPatch
   ];
-
-  preConfigure = ''
-    ./otp_build autoconf
-  '';
-
-  configureFlags= [
-    "--with-ssl=${openssl.dev}"
-  ] ++ optional enableHipe "--enable-hipe"
-    ++ optional enableDirtySchedulers "--enable-dirty-schedulers"
-    ++ optional wxSupport "--enable-wx"
-    ++ optional odbcSupport "--with-odbc=${unixODBC}"
-    ++ optional javacSupport "--with-javac"
-    ++ optional stdenv.isDarwin "--enable-darwin-64bit";
-
-  # install-docs will generate and install manpages and html docs
-  # (PDFs are generated only when fop is available).
-  installTargets = "install install-docs";
-
-  postInstall = ''
-    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
-  '';
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    downloadPage = "http://www.erlang.org/download.html";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ the-kenny sjmackenzie couchemar ];
-    license = licenses.asl20;
-  };
 }
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
index 4b1e3f4cb2f..680111dbd77 100644
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ b/pkgs/development/interpreters/erlang/R19.nix
@@ -1,101 +1,10 @@
-{ stdenv, fetchurl, fetchFromGitHub, perl, gnum4, ncurses, openssl
-, gnused, gawk, autoconf, libxslt, libxml2, makeWrapper
-, Carbon, Cocoa
-, odbcSupport ? false, unixODBC ? null
-, wxSupport ? true, mesa ? null, wxGTK ? null, xorg ? null, wxmac ? null
-, javacSupport ? false, openjdk ? null
-, enableHipe ? true
-, enableDebugInfo ? false
-, enableDirtySchedulers ? false
-}:
+{ mkDerivation, fetchurl }:
 
-assert wxSupport -> (if stdenv.isDarwin
-  then wxmac != null
-  else mesa != null && wxGTK != null && xorg != null);
-
-assert odbcSupport -> unixODBC != null;
-assert javacSupport ->  openjdk != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"
-  + "${optionalString javacSupport "-javac"}";
+mkDerivation rec {
   version = "19.3";
-
-  # Minor OTP releases are not always released as tarbals at
-  # http://erlang.org/download/ So we have to download from
-  # github. And for the same reason we can't use a prebuilt manpages
-  # tarball and need to build manpages ourselves.
-  src = fetchFromGitHub {
-    owner = "erlang";
-    repo = "otp";
-    rev = "OTP-${version}";
-    sha256 = "0pp2hl8jf4iafpnsmf0q7jbm313daqzif6ajqcmjyl87m5pssr86";
-  };
-
-  buildInputs =
-    [ perl gnum4 ncurses openssl autoconf libxslt libxml2 makeWrapper
-    ] ++ optionals wxSupport (if stdenv.isDarwin then [ wxmac ] else [ mesa wxGTK xorg.libX11 ])
-      ++ optional odbcSupport unixODBC
-      ++ optional javacSupport openjdk
-      ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
-
-  debugInfo = enableDebugInfo;
+  sha256 = "0pp2hl8jf4iafpnsmf0q7jbm313daqzif6ajqcmjyl87m5pssr86";
 
   prePatch = ''
-    substituteInPlace configure.in \
-      --replace '`sw_vers -productVersion`' '10.10'
-
-    # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
-    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+    substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
   '';
-
-  preConfigure = ''
-    ./otp_build autoconf
-  '';
-
-  configureFlags= [
-    "--with-ssl=${openssl.dev}"
-  ] ++ optional enableHipe "--enable-hipe"
-    ++ optional enableDirtySchedulers "--enable-dirty-schedulers"
-    ++ optional wxSupport "--enable-wx"
-    ++ optional odbcSupport "--with-odbc=${unixODBC}"
-    ++ optional javacSupport "--with-javac"
-    ++ optional stdenv.isDarwin "--enable-darwin-64bit";
-
-  # install-docs will generate and install manpages and html docs
-  # (PDFs are generated only when fop is available).
-  installTargets = "install install-docs";
-
-  postInstall = ''
-    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
-  '';
-
-  # Some erlang bin/ scripts run sed and awk
-  postFixup = ''
-    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    homepage = "http://www.erlang.org/";
-    downloadPage = "http://www.erlang.org/download.html";
-    description = "Programming language used for massively scalable soft real-time systems";
-
-    longDescription = ''
-      Erlang is a programming language used to build massively scalable
-      soft real-time systems with requirements on high availability.
-      Some of its uses are in telecoms, banking, e-commerce, computer
-      telephony and instant messaging. Erlang's runtime system has
-      built-in support for concurrency, distribution and fault
-      tolerance.
-    '';
-
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ yurrriq couchemar DerTim1 mdaiter ];
-    license = licenses.asl20;
-  };
 }
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
new file mode 100644
index 00000000000..3434603f302
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -0,0 +1,144 @@
+{ pkgs, stdenv, fetchurl, fetchFromGitHub, makeWrapper, gawk, gnum4, gnused
+, libxml2, libxslt, ncurses, openssl, perl, gcc, autoreconfHook
+, openjdk ? null # javacSupport
+, unixODBC ? null # odbcSupport
+, mesa ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+}:
+
+{ baseName ? "erlang"
+, version
+, sha256 ? null
+, rev ? "OTP-${version}"
+, src ? fetchFromGitHub { inherit rev sha256; owner = "erlang"; repo = "otp"; }
+, enableHipe ? true
+, enableDebugInfo ? false
+, enableThreads ? true
+, enableSmpSupport ? true
+, enableKernelPoll ? true
+, javacSupport ? false, javacPackages ? [ openjdk ]
+, odbcSupport ? false, odbcPackages ? [ unixODBC ]
+, wxSupport ? true, wxPackages ? [ mesa wxGTK xorg.libX11 ]
+, preUnpack ? "", postUnpack ? ""
+, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
+, configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
+, buildPhase ? "", preBuild ? "", postBuild ? ""
+, installPhase ? "", preInstall ? "", postInstall ? ""
+, installTargets ? "install install-docs"
+, checkPhase ? "", preCheck ? "", postCheck ? ""
+, fixupPhase ? "", preFixup ? "", postFixup ? ""
+, meta ? null
+}:
+
+assert wxSupport -> (if stdenv.isDarwin
+  then wxmac != null
+  else mesa != null && wxGTK != null && xorg != null);
+
+assert odbcSupport -> unixODBC != null;
+assert javacSupport -> openjdk != null;
+
+let
+  inherit (stdenv.lib) optional optionals optionalAttrs optionalString;
+  wxPackages2 = if stdenv.isDarwin then [ wxmac ] else wxPackages;
+
+in stdenv.mkDerivation ({
+  name = "${baseName}-${version}"
+    + optionalString javacSupport "-javac"
+    + optionalString odbcSupport "-odbc";
+
+  inherit src version;
+
+  buildInputs =
+   [ perl gnum4 ncurses openssl autoreconfHook libxslt libxml2 makeWrapper gcc
+   ]
+    ++ optionals wxSupport wxPackages2
+    ++ optionals odbcSupport odbcPackages
+    ++ optionals javacSupport javacPackages
+    ++ optionals stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [ Carbon Cocoa ]);
+
+  debugInfo = enableDebugInfo;
+
+  # Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
+  prePatch = ''
+    substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
+
+    ${prePatch}
+  '';
+
+  postPatch = ''
+    ${postPatch}
+
+    patchShebangs make
+  '';
+
+  preConfigure = ''
+    ./otp_build autoconf
+  '';
+
+  configureFlags = [ "--with-ssl=${openssl.dev}" ]
+    ++ optional enableThreads "--enable-threads"
+    ++ optional enableSmpSupport "--enable-smp-support"
+    ++ optional enableKernelPoll "--enable-kernel-poll"
+    ++ optional enableHipe "--enable-hipe"
+    ++ optional javacSupport "--with-javac"
+    ++ optional odbcSupport "--with-odbc=${unixODBC}"
+    ++ optional wxSupport "--enable-wx"
+    ++ optional stdenv.isDarwin "--enable-darwin-64bit";
+
+  # install-docs will generate and install manpages and html docs
+  # (PDFs are generated only when fop is available).
+
+  postInstall = ''
+    ${postInstall}
+
+    ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
+  '';
+
+  # Some erlang bin/ scripts run sed and awk
+  postFixup = ''
+    wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.erlang.org/";
+    downloadPage = "http://www.erlang.org/download.html";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ the-kenny sjmackenzie couchemar gleber ];
+    license = licenses.asl20;
+  };
+}
+// optionalAttrs (preUnpack != "")      { inherit preUnpack; }
+// optionalAttrs (postUnpack != "")     { inherit postUnpack; }
+// optionalAttrs (patches != [])        { inherit patches; }
+// optionalAttrs (patchPhase != "")     { inherit patchPhase; }
+// optionalAttrs (configureFlags != []) { inherit configureFlags; }
+// optionalAttrs (configurePhase != "") { inherit configurePhase; }
+// optionalAttrs (preConfigure != "")   { inherit preConfigure; }
+// optionalAttrs (postConfigure != "")  { inherit postConfigure; }
+// optionalAttrs (buildPhase != "")     { inherit buildPhase; }
+// optionalAttrs (preBuild != "")       { inherit preBuild; }
+// optionalAttrs (postBuild != "")      { inherit postBuild; }
+// optionalAttrs (checkPhase != "")     { inherit checkPhase; }
+// optionalAttrs (preCheck != "")       { inherit preCheck; }
+// optionalAttrs (postCheck != "")      { inherit postCheck; }
+// optionalAttrs (installPhase != "")   { inherit installPhase; }
+// optionalAttrs (installTargets != "") { inherit installTargets; }
+// optionalAttrs (preInstall != "")     { inherit preInstall; }
+// optionalAttrs (fixupPhase != "")     { inherit fixupPhase; }
+// optionalAttrs (preFixup != "")       { inherit preFixup; }
+// optionalAttrs (postFixup != "")      { inherit postFixup; }
+// optionalAttrs (meta != null)         { inherit meta; }
+)
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index 7632784463f..a977e0801a8 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, unzip, makeWrapper , flex, bison, ncurses, buddy, tecla
-, libsigsegv, gmpxx, cvc4, cln
+, libsigsegv, gmpxx, cln
 }:
 
 let
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper unzip cvc4 cln
+    flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper unzip cln
   ];
 
   hardeningDisable = [ "stackprotector" ] ++
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
       TECLA_LIBS="-ltecla -lncursesw"
       LIBS="-lcln"
       CFLAGS="-O3" CXXFLAGS="-O3"
+      --without-cvc4    # Our version is too new for Maude to cope.
     )
   '';
 
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 3fe04e6bde2..e4aa7db3e28 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -93,23 +93,23 @@ let
 
     passthru.libPrefix = "lib/perl5/site_perl";
 
-  # TODO: it seems like absolute paths to some coreutils is required.
-  postInstall =
-    ''
-      # Remove dependency between "out" and "man" outputs.
-      rm "$out"/lib/perl5/*/*/.packlist
-
-      # Remove dependencies on glibc and gcc
-      sed "/ *libpth =>/c    libpth => ' '," \
-        -i "$out"/lib/perl5/*/*/Config.pm
-      # TODO: removing those paths would be cleaner than overwriting with nonsense.
-      substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \
-        --replace "${libcInc}" /no-such-path \
-        --replace "${
-            if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path"
-          }" /no-such-path \
-        --replace "$man" /no-such-path
-    ''; # */
+    # TODO: it seems like absolute paths to some coreutils is required.
+    postInstall =
+      ''
+        # Remove dependency between "out" and "man" outputs.
+        rm "$out"/lib/perl5/*/*/.packlist
+
+        # Remove dependencies on glibc and gcc
+        sed "/ *libpth =>/c    libpth => ' '," \
+          -i "$out"/lib/perl5/*/*/Config.pm
+        # TODO: removing those paths would be cleaner than overwriting with nonsense.
+        substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \
+          --replace "${libcInc}" /no-such-path \
+          --replace "${
+              if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path"
+            }" /no-such-path \
+          --replace "$man" /no-such-path
+      ''; # */
 
     meta = {
       homepage = https://www.perl.org/;
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index dc1df2dd48a..709f0fad41e 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -274,9 +274,10 @@ let
 
         #[[ -z "$libxml2" ]] || addToSearchPath PATH $libxml2/bin
 
+        export EXTENSION_DIR=$out/lib/php/extensions
+
         configureFlags+=(--with-config-file-path=$out/etc \
-          --includedir=$dev/include \
-          EXTENSION_DIR=$out/lib/php/extensions)
+          --includedir=$dev/include)
       '';
 
       configureFlags = [
@@ -334,7 +335,7 @@ in {
   };
 
   php71 = generic {
-    version = "7.1.2";
-    sha256 = "013hlvzjmp7ilckqf3851xwmj37xzq6afsqm67i4whv64d723wp0";
+    version = "7.1.5";
+    sha256 = "15w60nrickdi0rlsy5yw6aa1j42m6z2chv90f7fbgn0v9xwa9si8";
   };
 }
diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix
index 7cb2a356f95..f4f52ec4ed3 100644
--- a/pkgs/development/interpreters/pixie/default.nix
+++ b/pkgs/development/interpreters/pixie/default.nix
@@ -79,7 +79,7 @@ let
       description = "A clojure-like lisp, built with the pypy vm toolkit";
       homepage = "https://github.com/pixie-lang/pixie";
       license = stdenv.lib.licenses.lgpl3;
-      platforms = stdenv.lib.platforms.linux;
+      platforms = ["x86_64-linux" "i686-linux"];
     };
   };
 in build (builtins.getAttr variant variants)
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 8426902414a..c5fa05651bb 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -15,6 +15,7 @@
 , expat
 , libffi
 , CF, configd, coreutils
+, python-setup-hook
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
 }:
@@ -150,7 +151,7 @@ in stdenv.mkDerivation {
     NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
     DETERMINISTIC_BUILD = 1;
 
-    setupHook = ./setup-hook.sh;
+    setupHook = python-setup-hook sitePackages;
 
     postPatch = optionalString (x11Support && (tix != null)) ''
           substituteInPlace "Lib/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
diff --git a/pkgs/development/interpreters/python/cpython/2.7/setup-hook.sh b/pkgs/development/interpreters/python/cpython/2.7/setup-hook.sh
deleted file mode 100644
index 4770eea886f..00000000000
--- a/pkgs/development/interpreters/python/cpython/2.7/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.7/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/python2.7/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/cpython/3.3/default.nix b/pkgs/development/interpreters/python/cpython/3.3/default.nix
index c561a1ed750..9ff8ec51efe 100644
--- a/pkgs/development/interpreters/python/cpython/3.3/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.3/default.nix
@@ -11,6 +11,7 @@
 , callPackage
 , self
 , CF, configd
+, python-setup-hook
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
 }:
@@ -77,7 +78,7 @@ in stdenv.mkDerivation {
                         )
   '';
 
-  setupHook = ./setup-hook.sh;
+  setupHook = python-setup-hook sitePackages;
 
   postInstall = ''
     # needed for some packages, especially packages that backport functionality
diff --git a/pkgs/development/interpreters/python/cpython/3.3/setup-hook.sh b/pkgs/development/interpreters/python/cpython/3.3/setup-hook.sh
deleted file mode 100644
index 82a8c0abd32..00000000000
--- a/pkgs/development/interpreters/python/cpython/3.3/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.3/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/python3.3/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index b2a4d849c94..4d20a21a4d1 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -13,6 +13,7 @@
 , callPackage
 , self
 , CF, configd
+, python-setup-hook
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
 }:
@@ -100,7 +101,7 @@ in stdenv.mkDerivation {
      ''}
   '';
 
-  setupHook = ./setup-hook.sh;
+  setupHook = python-setup-hook sitePackages;
 
   postInstall = ''
     # needed for some packages, especially packages that backport functionality
diff --git a/pkgs/development/interpreters/python/cpython/3.4/setup-hook.sh b/pkgs/development/interpreters/python/cpython/3.4/setup-hook.sh
deleted file mode 100644
index fddcc0b73fe..00000000000
--- a/pkgs/development/interpreters/python/cpython/3.4/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.4/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/python3.4/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index 76f445f7a50..a4aec241a1a 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -13,6 +13,7 @@
 , callPackage
 , self
 , CF, configd
+, python-setup-hook
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
 }:
@@ -102,7 +103,7 @@ in stdenv.mkDerivation {
      ''}
   '';
 
-  setupHook = ./setup-hook.sh;
+  setupHook = python-setup-hook sitePackages;
 
   postInstall = ''
     # needed for some packages, especially packages that backport functionality
diff --git a/pkgs/development/interpreters/python/cpython/3.5/setup-hook.sh b/pkgs/development/interpreters/python/cpython/3.5/setup-hook.sh
deleted file mode 100644
index 2836ad7e8f5..00000000000
--- a/pkgs/development/interpreters/python/cpython/3.5/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.5/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/python3.5/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix
index 15078619166..d2d922ce495 100644
--- a/pkgs/development/interpreters/python/cpython/3.6/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix
@@ -14,6 +14,7 @@
 , callPackage
 , self
 , CF, configd
+, python-setup-hook
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
 }:
@@ -94,7 +95,7 @@ in stdenv.mkDerivation {
      ''}
   '';
 
-  setupHook = ./setup-hook.sh;
+  setupHook = python-setup-hook sitePackages;
 
   postInstall = ''
     # needed for some packages, especially packages that backport functionality
diff --git a/pkgs/development/interpreters/python/cpython/3.6/setup-hook.sh b/pkgs/development/interpreters/python/cpython/3.6/setup-hook.sh
deleted file mode 100644
index 26a0d57bc87..00000000000
--- a/pkgs/development/interpreters/python/cpython/3.6/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.6/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/python3.6/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index 5d710fcad88..bc586e0b3ce 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -37,6 +37,9 @@
 # generated binaries.
 , makeWrapperArgs ? []
 
+# Skip wrapping of python programs altogether
+, dontWrapPythonPrograms ? false
+
 , meta ? {}
 
 , passthru ? {}
@@ -51,19 +54,12 @@ if disabled
 then throw "${name} not supported for interpreter ${python.executable}"
 else
 
-python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled"] // {
+python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs"] // {
 
   name = namePrefix + name;
 
   inherit pythonPath;
 
-
-  # Determinism: The interpreter is patched to write null timestamps when compiling python files.
-  # This way python doesn't try to update them when we freeze timestamps in nix store.
-  DETERMINISTIC_BUILD=1;
-  # Determinism: We fix the hashes of str, bytes and datetime objects.
-  PYTHONHASHSEED = 0;
-
   buildInputs = [ wrapPython ] ++ buildInputs ++ pythonPath
     ++ [ (ensureNewerSourcesHook { year = "1980"; }) ]
     ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip)
@@ -76,7 +72,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled"] // {
   doCheck = false;
   doInstallCheck = doCheck;
 
-  postFixup = ''
+  postFixup = lib.optionalString (!dontWrapPythonPrograms) ''
     wrapPythonPrograms
   '' + lib.optionalString catchConflicts ''
     # Check if we have two packages with the same name in the closure and fail.
diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix
index 456a078874c..7552c6cd285 100644
--- a/pkgs/development/interpreters/python/pypy/2.7/default.nix
+++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
 , sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
 , makeWrapper, callPackage, self, gdbm, db
+, python-setup-hook
 # For the Python package set
 , pkgs, packageOverrides ? (self: super: {})
 }:
@@ -14,6 +15,7 @@ let
   pythonVersion = "2.7";
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
   libPrefix = "pypy${majorVersion}";
+  sitePackages = "site-packages";
 
 in stdenv.mkDerivation rec {
     name = "pypy-${version}";
@@ -67,7 +69,7 @@ in stdenv.mkDerivation rec {
       ${python.interpreter} rpython/bin/rpython --make-jobs="$NIX_BUILD_CORES" -Ojit --batch pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing
     '';
 
-    setupHook = ./setup-hook.sh;
+    setupHook = python-setup-hook sitePackages;
 
     postBuild = ''
       cd ./lib_pypy
@@ -125,12 +127,11 @@ in stdenv.mkDerivation rec {
     passthru = let
       pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
     in rec {
-      inherit zlibSupport libPrefix;
+      inherit zlibSupport libPrefix sitePackages;
       executable = "pypy";
       isPypy = true;
       buildEnv = callPackage ../../wrapper.nix { python = self; };
       interpreter = "${self}/bin/${executable}";
-      sitePackages = "site-packages";
       withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
       pkgs = pythonPackages;
     };
diff --git a/pkgs/development/interpreters/python/pypy/2.7/setup-hook.sh b/pkgs/development/interpreters/python/pypy/2.7/setup-hook.sh
deleted file mode 100644
index e9081d1eaa5..00000000000
--- a/pkgs/development/interpreters/python/pypy/2.7/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/setup-hook.nix b/pkgs/development/interpreters/python/setup-hook.nix
new file mode 100644
index 00000000000..b66bd1cc5f6
--- /dev/null
+++ b/pkgs/development/interpreters/python/setup-hook.nix
@@ -0,0 +1,13 @@
+{ runCommand }:
+
+sitePackages:
+
+let
+  hook = ./setup-hook.sh;
+in runCommand "python-setup-hook.sh" {
+  inherit sitePackages;
+} ''
+  cp ${hook} hook.sh
+  substituteAllInPlace hook.sh
+  mv hook.sh $out
+''
diff --git a/pkgs/development/interpreters/python/setup-hook.sh b/pkgs/development/interpreters/python/setup-hook.sh
new file mode 100644
index 00000000000..dda9bed39f8
--- /dev/null
+++ b/pkgs/development/interpreters/python/setup-hook.sh
@@ -0,0 +1,21 @@
+addPythonPath() {
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/@sitePackages@
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/@sitePackages@"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks+=(addPythonPath)
+
+# Determinism: The interpreter is patched to write null timestamps when compiling python files.
+# This way python doesn't try to update them when we freeze timestamps in nix store.
+export DETERMINISTIC_BUILD=1;
+# Determinism: We fix the hashes of str, bytes and datetime objects.
+export PYTHONHASHSEED=0;
diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh
index 55998bc5b41..1c74e612b55 100644
--- a/pkgs/development/interpreters/python/wrap.sh
+++ b/pkgs/development/interpreters/python/wrap.sh
@@ -1,7 +1,7 @@
 # Wrapper around wrapPythonProgramsIn, below. The $pythonPath
 # variable is passed in from the buildPythonPackage function.
 wrapPythonPrograms() {
-    wrapPythonProgramsIn $out "$out $pythonPath"
+    wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
 }
 
 # Builds environment variables like PYTHONPATH and PATH walking through closure
@@ -47,34 +47,36 @@ wrapPythonProgramsIn() {
     buildPythonPath "$pythonPath"
 
     # Find all regular files in the output directory that are executable.
-    find "$dir" -type f -perm -0100 -print0 | while read -d "" f; do
-        # Rewrite "#! .../env python" to "#! /nix/store/.../python".
-        # Strip suffix, like "3" or "2.7m" -- we don't have any choice on which
-        # Python to use besides one with this hook anyway.
-        if head -n1 "$f" | grep -q '#!.*/env.*\(python\|pypy\)'; then
-            sed -i "$f" -e "1 s^.*/env[ ]*\(python\|pypy\)[^ ]*^#! @executable@^"
-        fi
+    if [ -d "$dir" ]; then
+        find "$dir" -type f -perm -0100 -print0 | while read -d "" f; do
+            # Rewrite "#! .../env python" to "#! /nix/store/.../python".
+            # Strip suffix, like "3" or "2.7m" -- we don't have any choice on which
+            # Python to use besides one with this hook anyway.
+            if head -n1 "$f" | grep -q '#!.*/env.*\(python\|pypy\)'; then
+                sed -i "$f" -e "1 s^.*/env[ ]*\(python\|pypy\)[^ ]*^#! @executable@^"
+            fi
 
-        # catch /python and /.python-wrapped
-        if head -n1 "$f" | grep -q '/\.\?\(python\|pypy\)'; then
-            # dont wrap EGG-INFO scripts since they are called from python
-            if echo "$f" | grep -qv EGG-INFO/scripts; then
-                echo "wrapping \`$f'..."
-                patchPythonScript "$f"
-                # wrapProgram creates the executable shell script described
-                # above. The script will set PYTHONPATH and PATH variables.!
-                # (see pkgs/build-support/setup-hooks/make-wrapper.sh)
-                local -a wrap_args=("$f"
-                                 --prefix PATH ':' "$program_PATH")
+            # catch /python and /.python-wrapped
+            if head -n1 "$f" | grep -q '/\.\?\(python\|pypy\)'; then
+                # dont wrap EGG-INFO scripts since they are called from python
+                if echo "$f" | grep -qv EGG-INFO/scripts; then
+                    echo "wrapping \`$f'..."
+                    patchPythonScript "$f"
+                    # wrapProgram creates the executable shell script described
+                    # above. The script will set PYTHONPATH and PATH variables.!
+                    # (see pkgs/build-support/setup-hooks/make-wrapper.sh)
+                    local -a wrap_args=("$f"
+                                    --prefix PATH ':' "$program_PATH")
 
-                # Add any additional arguments provided by makeWrapperArgs
-                # argument to buildPythonPackage.
-                local -a user_args="($makeWrapperArgs)"
-                local -a wrapProgramArgs=("${wrap_args[@]}" "${user_args[@]}")
-                wrapProgram "${wrapProgramArgs[@]}"
+                    # Add any additional arguments provided by makeWrapperArgs
+                    # argument to buildPythonPackage.
+                    local -a user_args="($makeWrapperArgs)"
+                    local -a wrapProgramArgs=("${wrap_args[@]}" "${user_args[@]}")
+                    wrapProgram "${wrapProgramArgs[@]}"
+                fi
             fi
-        fi
-    done
+        done
+    fi
 }
 
 # Adds the lib and bin directories to the PYTHONPATH and PATH variables,
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 72217a860b4..245ff7b006f 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -33,11 +33,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "racket-${version}";
-  version = "6.8";
+  version = "6.9";
 
   src = fetchurl {
     url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
-    sha256 = "1l9z1a0r5zydr50cklx9xjw3l0pwnf64i10xq7112fl1r89q3qgv";
+    sha256 = "1cd218ee2ba1dc683de858a866c6666eb72a11adee8d1df6cdd59c5c5a47b714";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/pkgs/development/libraries/accounts-qt/default.nix b/pkgs/development/libraries/accounts-qt/default.nix
index 4f74c5fca35..a6d9a9381f9 100644
--- a/pkgs/development/libraries/accounts-qt/default.nix
+++ b/pkgs/development/libraries/accounts-qt/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
     qmakeFlags="$qmakeFlags LIBDIR=$out/lib CMAKE_CONFIG_PATH=$out/lib/cmake"
   '';
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = with stdenv.lib; {
     description = "Qt library for accessing the online accounts database";
     homepage = "http://code.google.com/p/accounts-sso/";
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index a6f2b1371e5..30fe8173e86 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -2,14 +2,14 @@
 , intltool, dbus_glib, at_spi2_core, libSM }:
 
 stdenv.mkDerivation rec {
-  versionMajor = "2.22";
-  versionMinor = "0";
+  versionMajor = "2.24";
+  versionMinor = "1";
   moduleName   = "at-spi2-atk";
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "e8bdedbeb873eb229eb08c88e11d07713ec25ae175251648ad1a9da6c21113c1";
+    sha256 = "60dc90ac4f74b8ffe96a9363c25208a443b381bacecfefea6de549f20ed6957d";
   };
 
   buildInputs = [ python pkgconfig popt atk libX11 libICE xorg.libXtst libXi
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 85ab3f35fe7..4d496932f66 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -2,14 +2,14 @@
 , libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  versionMajor = "2.22";
+  versionMajor = "2.24";
   versionMinor = "1";
   moduleName   = "at-spi2-core";
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "6f8f39f091bfe2c57870cb8bfbb02edac4fc85cda69665e6967937daf7201c42";
+    sha256 = "1e90d064b937aacfe79a96232ac7e63d28d716e85bd9ff4333f865305a959b5b";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/audio/libbass/default.nix b/pkgs/development/libraries/audio/libbass/default.nix
new file mode 100644
index 00000000000..dedfa5ceb35
--- /dev/null
+++ b/pkgs/development/libraries/audio/libbass/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, unzip, fetchurl, writeText }:
+
+let
+  version = "24";
+
+  allBass = {
+    bass = {
+      h = "bass.h";
+      so = {
+        i686_linux = "libbass.so";
+        x86_64-linux = "x64/libbass.so";
+      };
+      urlpath = "bass${version}-linux.zip";
+      sha256 = "1a2z9isabkymz7qmkgklbjpj2wxkvv1cngfp9aj0c9178v97pjd7";
+    };
+
+    bass_fx = {
+      h = "C/bass_fx.h";
+      so = {
+        i686_linux = "libbass_fx.so";
+        x86_64-linux = "x64/libbass_fx.so";
+      };
+      urlpath = "z/0/bass_fx${version}-linux.zip";
+      sha256 = "0j1cbq88j3vnqf2bibcqnfhciz904w48ldgycyh9d8954hwyg22m";
+    };
+  };
+
+  dropBass = name: bass: stdenv.mkDerivation {
+    name = "lib${name}-${version}";
+
+    src = fetchurl {
+      url = "https://www.un4seen.com/files/${bass.urlpath}";
+      inherit (bass) sha256;
+    };
+    unpackCmd = ''
+      mkdir out
+      ${unzip}/bin/unzip $curSrc -d out
+    '';
+
+    lpropagatedBuildInputs = [ unzip ];
+    dontBuild = true;
+    installPhase =
+      let so =
+            if bass.so ? ${stdenv.system} then bass.so.${stdenv.system}
+            else abort "${name} not packaged for ${stdenv.system} (yet).";
+      in ''
+        mkdir -p $out/{lib,include}
+        install -m644 -t $out/lib/ ${so}
+        install -m644 -t $out/include/ ${bass.h}
+      '';
+
+    meta = with stdenv.lib; {
+      description = "Shareware audio library";
+      homepage = https://www.un4seen.com/;
+      license = licenses.unfreeRedistributable;
+    };
+  };
+
+in stdenv.lib.mapAttrs dropBass allBass
diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix
index b37fd6079b9..2580b959bf2 100644
--- a/pkgs/development/libraries/botan/generic.nix
+++ b/pkgs/development/libraries/botan/generic.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     inherit version;
     description = "Cryptographic algorithms library";
     maintainers = with maintainers; [ raskin ];
-    platforms = platforms.unix;
+    platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
     license = licenses.bsd2;
   };
   passthru.updateInfo.downloadPage = "http://files.randombit.net/botan/";
diff --git a/pkgs/development/libraries/chmlib/default.nix b/pkgs/development/libraries/chmlib/default.nix
index e572db68e83..fbefee48d5b 100644
--- a/pkgs/development/libraries/chmlib/default.nix
+++ b/pkgs/development/libraries/chmlib/default.nix
@@ -1,8 +1,8 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "chmlib-0.40";
-  
+
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.bz2";
     sha256 = "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l";
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.jedrea.com/chmlib;
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl2;
     description = "A library for dealing with Microsoft ITSS/CHM format files";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
   };
 }
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 05eb575547d..07f323699b1 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "cyrus-sasl-${version}${optionalString (kerberos == null) "-without-kerberos"}";
-  version = "2.5.10";
+  version = "2.1.26";
 
   src = fetchurl {
     url = "ftp://ftp.cyrusimap.org/cyrus-sasl/${name}.tar.gz";
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index bdd3b5cea50..d5b2632a371 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -230,11 +230,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "3.3";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "17anx7rnbi63if1ndr61836lf76dpn47n0y424hc48bj05y7z7jr";
+    sha256 = "11974vcfsy8w0i6f4lfwqmg80xkfybqw7vw6zzrcn5i6ncddx60r";
   };
 
   patchPhase = ''patchShebangs .
diff --git a/pkgs/development/libraries/ffmpeg/3.3.nix b/pkgs/development/libraries/ffmpeg/3.3.nix
index 03bb9d44dda..34213755313 100644
--- a/pkgs/development/libraries/ffmpeg/3.3.nix
+++ b/pkgs/development/libraries/ffmpeg/3.3.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (args // rec {
   version = "${branch}";
-  branch = "3.3";
-  sha256 = "1p3brx0qa3i3569zlmcmpbxf17q73nrmbx2vp39s8h77r53qdq11";
+  branch = "3.3.2";
+  sha256 = "0slf12dxk6wq1ns09kqqqrzwylxcy0isvc3niyxig45gq3ah0s91";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/libraries/freetype/cve-2017-8105.patch b/pkgs/development/libraries/freetype/cve-2017-8105.patch
new file mode 100644
index 00000000000..dc4327a52a8
--- /dev/null
+++ b/pkgs/development/libraries/freetype/cve-2017-8105.patch
@@ -0,0 +1,27 @@
+http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f958c48ee43
+
+diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c
+index af7b465..7dd4513 100644
+--- a/src/psaux/t1decode.c
++++ b/src/psaux/t1decode.c
+@@ -780,10 +780,19 @@
+             /* point without adding any point to the outline    */
+             idx = decoder->num_flex_vectors++;
+             if ( idx > 0 && idx < 7 )
++            {
++              /* in malformed fonts it is possible to have other */
++              /* opcodes in the middle of a flex (which don't    */
++              /* increase `num_flex_vectors'); we thus have to   */
++              /* check whether we can add a point                */
++              if ( FT_SET_ERROR( t1_builder_check_points( builder, 1 ) ) )
++                goto Syntax_Error;
++
+               t1_builder_add_point( builder,
+                                     x,
+                                     y,
+                                     (FT_Byte)( idx == 3 || idx == 6 ) );
++            }
+           }
+           break;
+ 
+
diff --git a/pkgs/development/libraries/freetype/cve-2017-8287.patch b/pkgs/development/libraries/freetype/cve-2017-8287.patch
new file mode 100644
index 00000000000..7ccf4f3278b
--- /dev/null
+++ b/pkgs/development/libraries/freetype/cve-2017-8287.patch
@@ -0,0 +1,22 @@
+http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=3774fc08b
+
+diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
+index d18e821..0baf836 100644
+--- a/src/psaux/psobjs.c
++++ b/src/psaux/psobjs.c
+@@ -1718,6 +1718,14 @@
+     first = outline->n_contours <= 1
+             ? 0 : outline->contours[outline->n_contours - 2] + 1;
+ 
++    /* in malformed fonts it can happen that a contour was started */
++    /* but no points were added                                    */
++    if ( outline->n_contours && first == outline->n_points )
++    {
++      outline->n_contours--;
++      return;
++    }
++
+     /* We must not include the last point in the path if it */
+     /* is located on the first point.                       */
+     if ( outline->n_points > 1 )
+
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 287a0742440..9b2c6fe11e1 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -48,6 +48,9 @@ in stdenv.mkDerivation {
       ./pcf-config-long-family-names.patch
       ./disable-pcf-long-family-names.patch
       ./enable-table-validation.patch
+      # remove the two CVE patches after updating to >= 2.8
+      ./cve-2017-8105.patch
+      ./cve-2017-8287.patch
     ] ++
     optional useEncumberedCode ./enable-subpixel-rendering.patch;
 
diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.5.nix
index 77ecd4957f7..e47537c64a9 100644
--- a/pkgs/development/libraries/gnutls/3.5.nix
+++ b/pkgs/development/libraries/gnutls/3.5.nix
@@ -1,11 +1,11 @@
-{ callPackage, fetchurl, libunistring, ... } @ args:
+{ callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.5.11";
+  version = "3.5.13";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "13z2dxxyrsb7gfpl1k2kafqh2zaigi872y5xgykhs9cyaz2mqxji";
+    sha256 = "15ihq6p0hnnhs8cnjrkj40dmlcaa1jjg8xg0g2ydbnlqs454ixbr";
   };
 
   # Skip two tests introduced in 3.5.11.  Probable reasons of failure:
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 3aef10df33e..48aa3fb9673 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
-, guileBindings, guile, perl, gmp, autogen, libidn, p11_kit, unbound, libiconv
+, guileBindings, guile, perl, gmp, autogen, libidn, p11_kit, libiconv
 , tpmSupport ? false, trousers, which, nettools, libunistring
 
 # Version dependent args
@@ -40,7 +40,6 @@ stdenv.mkDerivation {
   buildInputs = [ lzo lzip libtasn1 libidn p11_kit zlib gmp autogen libunistring ]
     ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
-    ++ [ unbound ]
     ++ lib.optional guileBindings guile
     ++ buildInputs;
 
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index cf9ab101018..8b4103dec7f 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -2,11 +2,11 @@
 , libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.10.32";
+  name = "goffice-0.10.34";
 
   src = fetchurl {
     url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "02b37da9f54fb92725b973875d1d2da49b54f6486eb03648fd1ea58e4a297ac3";
+    sha256 = "554a75a22b5863b3b17595148bee6462122f2dbf031dfa78b61e941e3c2dd603";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index ca2fb728262..80e05b8d743 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec{
                   pythonPackages.python
                 ];
 
+  propagatedBuildInputs = stdenv.lib.optionals enablePython [
+                  pythonPackages.numpy
+                ];
+
   cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
                  "-DENABLE_PNG=ON"
                  "-DENABLE_FORTRAN=ON"
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 7ca2ddd0ce2..4efef258211 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -6,6 +6,7 @@
 , wildmidi, fluidsynth, libvdpau, wayland
 , libwebp, xvidcore, gnutls, mjpegtools
 , mesa, libintlOrEmpty, libgme
+, openssl, x265, libxml2
 }:
 
 assert faacSupport -> faac != null;
@@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
     openjpeg libopus librsvg
     fluidsynth libvdpau
     libwebp xvidcore gnutls mesa
-    mjpegtools libgme
+    mjpegtools libgme openssl x265 libxml2
   ]
     ++ libintlOrEmpty
     ++ optional faacSupport faac
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index f27cccfa27a..8fbe2ba8dc9 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -13,7 +13,7 @@ with stdenv.lib;
 
 let
   ver_maj = "3.22";
-  ver_min = "12";
+  ver_min = "15";
   version = "${ver_maj}.${ver_min}";
 in
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-    sha256 = "84fae0cefb6a11ee2b4e86b8ac42fe46a3d30b4ad16661d5fc51e8ae03e2a98c";
+    sha256 = "c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix
new file mode 100644
index 00000000000..85550b5d528
--- /dev/null
+++ b/pkgs/development/libraries/gtkd/default.nix
@@ -0,0 +1,98 @@
+{ stdenv, fetchzip, atk, cairo, dmd, gdk_pixbuf, gnome3, gst_all_1, librsvg
+, pango, pkgconfig, substituteAll, which }:
+
+stdenv.mkDerivation rec {
+  name = "gtkd-${version}";
+  version = "3.6.5";
+
+  src = fetchzip {
+    url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
+    sha256 = "1ypxxqklad5wwyvc39wnphnqp5y4q5zbf9j5mxb3bg9vnls48vx1";
+    stripRoot = false;
+  };
+
+  nativeBuildInputs = [ dmd pkgconfig which ];
+  propagatedBuildInputs = [
+    atk cairo gdk_pixbuf glib gstreamer gst_plugins_base gtk3 gtksourceview
+    libgda libpeas librsvg pango vte
+  ];
+
+  prePatch = ''
+    substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
+    substituteInPlace src/cairo/gtkc/cairo-compiletime.d \
+      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
+      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
+    substituteInPlace src/cairo/gtkc/cairo-runtime.d \
+      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
+      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
+    substituteInPlace generated/gtkd/gtkc/gdkpixbuf.d \
+      --replace libgdk_pixbuf-2.0.so.0 ${gdk_pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
+      --replace libgdk_pixbuf-2.0.0.dylib ${gdk_pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
+    substituteInPlace generated/gtkd/gtkc/atk.d \
+      --replace libatk-1.0.so.0 ${atk}/lib/libatk-1.0.so.0 \
+      --replace libatk-1.0.0.dylib ${atk}/lib/libatk-1.0.0.dylib
+    substituteInPlace generated/gtkd/gtkc/pango.d \
+      --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
+      --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
+      --replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
+      --replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
+    substituteInPlace generated/gtkd/gtkc/gobject.d \
+      --replace libgobject-2.0.so.0 ${glib}/lib/libgobject-2.0.so.0 \
+      --replace libgobject-2.0.0.dylib ${glib}/lib/libgobject-2.0.0.dylib
+    substituteInPlace generated/gtkd/gtkc/rsvg.d \
+      --replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
+      --replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
+    substituteInPlace generated/gtkd/gtkc/cairo.d \
+      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
+      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
+    substituteInPlace generated/gtkd/gtkc/gdk.d \
+      --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
+      --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib
+    substituteInPlace generated/peas/peasc/peas.d \
+      --replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
+      --replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
+      --replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
+      --replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
+    substituteInPlace generated/vte/vtec/vte.d \
+      --replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
+      --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
+    substituteInPlace generated/gstreamer/gstreamerc/gstinterfaces.d \
+      --replace libgstvideo-1.0.so.0 ${gst_plugins_base}/lib/libgstvideo-1.0.so.0 \
+      --replace libgstvideo-1.0.0.dylib ${gst_plugins_base}/lib/libgstvideo-1.0.0.dylib
+    substituteInPlace generated/sourceview/gsvc/gsv.d \
+      --replace libgtksourceview-3.0.so.1 ${gtksourceview}/lib/libgtksourceview-3.0.so.1 \
+      --replace libgtksourceview-3.0.1.dylib ${gtksourceview}/lib/libgtksourceview-3.0.1.dylib
+    substituteInPlace generated/gtkd/gtkc/glib.d \
+      --replace libglib-2.0.so.0 ${glib}/lib/libglib-2.0.so.0 \
+      --replace libgmodule-2.0.so.0 ${glib}/lib/libgmodule-2.0.so.0 \
+      --replace libgobject-2.0.so.0 ${glib}/lib/libgobject-2.0.so.0 \
+      --replace libglib-2.0.0.dylib ${glib}/lib/libglib-2.0.0.dylib \
+      --replace libgmodule-2.0.0.dylib ${glib}/lib/libgmodule-2.0.0.dylib \
+      --replace libgobject-2.0.0.dylib ${glib}/lib/libgobject-2.0.0.dylib
+    substituteInPlace generated/gtkd/gtkc/gio.d \
+      --replace libgio-2.0.so.0 ${glib}/lib/libgio-2.0.so.0 \
+      --replace libgio-2.0.0.dylib ${glib}/lib/libgio-2.0.0.dylib
+    substituteInPlace generated/gstreamer/gstreamerc/gstreamer.d \
+      --replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
+      --replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
+    substituteInPlace generated/gtkd/gtkc/gtk.d \
+      --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
+      --replace libgtk-3.so.0 ${gtk3}/lib/libgtk-3.so.0 \
+      --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib \
+      --replace libgtk-3.0.dylib ${gtk3}/lib/libgtk-3.0.dylib
+  '';
+
+  installFlags = "prefix=$(out)";
+
+  inherit atk cairo gdk_pixbuf librsvg pango;
+  inherit (gnome3) glib gtk3 gtksourceview libgda libpeas vte;
+  inherit (gst_all_1) gstreamer;
+  gst_plugins_base = gst_all_1.gst-plugins-base;
+
+  meta = with stdenv.lib; {
+    description = "D binding and OO wrapper for GTK+";
+    homepage = "https://gtkd.org";
+    licence = licenses.lgpl3Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/libraries/gtkd/paths.d b/pkgs/development/libraries/gtkd/paths.d
new file mode 100644
index 00000000000..0f857136499
--- /dev/null
+++ b/pkgs/development/libraries/gtkd/paths.d
@@ -0,0 +1,142 @@
+/*
+ * gtkD is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version, with
+ * some exceptions, please read the COPYING file.
+ *
+ * gtkD is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with gtkD; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+ *
+ * paths.d  -- list of libraries that will be dynamically linked with gtkD
+ *
+ * Added:	John Reimer	-- 2004-12-20
+ * Updated: 2005-02-21 changed names; added version(linux)
+ * Updated: 2005-05-05 updated Linux support
+ * Updated: 2008-02-16 Tango support
+ */
+
+module gtkd.paths;
+
+/*
+ * Define the Libraries that gtkD will be using.
+ *   This is a growable list, as long as the programmer
+ *   also adds to the importLibs list.
+ */
+
+enum LIBRARY
+{
+	ATK,
+	CAIRO,
+	GDK,
+	GDKPIXBUF,
+	GLIB,
+	GMODULE,
+	GOBJECT,
+	GIO,
+	GTHREAD,
+	GTK,
+	PANGO,
+	PANGOCAIRO,
+	GLGDK,
+	GLGTK,
+	GDA,
+	GSV,
+	GSV1,
+	GSTREAMER,
+	GSTINTERFACES,
+	VTE,
+	PEAS,
+	RSVG,
+}
+
+version (Windows)
+{
+	const string[LIBRARY.max+1] importLibs =
+	[
+		LIBRARY.ATK:           "libatk-1.0-0.dll",
+		LIBRARY.CAIRO:         "libcairo-2.dll",
+		LIBRARY.GDK:           "libgdk-3-0.dll",
+		LIBRARY.GDKPIXBUF:     "libgdk_pixbuf-2.0-0.dll",
+		LIBRARY.GLIB:          "libglib-2.0-0.dll",
+		LIBRARY.GMODULE:       "libgmodule-2.0-0.dll",
+		LIBRARY.GOBJECT:       "libgobject-2.0-0.dll",
+		LIBRARY.GIO:           "libgio-2.0-0.dll",
+		LIBRARY.GTHREAD:       "libgthread-2.0-0.dll",
+		LIBRARY.GTK:           "libgtk-3-0.dll",
+		LIBRARY.PANGO:         "libpango-1.0-0.dll",
+		LIBRARY.PANGOCAIRO:    "libpangocairo-1.0-0.dll",
+		LIBRARY.GLGDK:         "libgdkglext-3.0-0.dll",
+		LIBRARY.GLGTK:         "libgtkglext-3.0-0.dll",
+		LIBRARY.GDA:           "libgda-4.0-4.dll",
+		LIBRARY.GSV:           "libgtksourceview-3.0-0.dll",
+		LIBRARY.GSV1:          "libgtksourceview-3.0-1.dll",
+		LIBRARY.GSTREAMER:     "libgstreamer-1.0.dll",
+		LIBRARY.GSTINTERFACES: "libgstvideo-1.0.dll",
+		LIBRARY.VTE:           "libvte-2.91.dll",
+		LIBRARY.PEAS:          "libpeas-1.0.dll",
+		LIBRARY.RSVG:          "librsvg-2-2.dll",
+	];
+}
+else version(darwin)
+{
+	const string[LIBRARY.max+1] importLibs =
+	[
+		LIBRARY.ATK:           "@atk@/lib/libatk-1.0.dylib",
+		LIBRARY.CAIRO:         "@cairo@/lib/libcairo.dylib",
+		LIBRARY.GDK:           "@gtk3@/lib/libgdk-3.0.dylib",
+		LIBRARY.GDKPIXBUF:     "@gdk_pixbuf@/lib/libgdk_pixbuf-2.0.dylib",
+		LIBRARY.GLIB:          "@glib@/lib/libglib-2.0.dylib",
+		LIBRARY.GMODULE:       "@glib@/lib/libgmodule-2.0.dylib",
+		LIBRARY.GOBJECT:       "@glib@/lib/libgobject-2.0.dylib",
+		LIBRARY.GIO:           "@glib@/lib/libgio-2.0.dylib",
+		LIBRARY.GTHREAD:       "@glib@/lib/libgthread-2.0.dylib",
+		LIBRARY.GTK:           "@gtk3@/lib/libgtk-3.0.dylib",
+		LIBRARY.PANGO:         "@pango@/lib/libpango-1.0.dylib",
+		LIBRARY.PANGOCAIRO:    "@pango@/lib/libpangocairo-1.0.dylib",
+		LIBRARY.GLGDK:         "libgdkglext-3.0.dylib",
+		LIBRARY.GLGTK:         "libgtkglext-3.0.dylib",
+		LIBRARY.GDA:           "@libgda@/lib/libgda-2.dylib",
+		LIBRARY.GSV:           "@gtksourceview@/lib/libgtksourceview-3.0.dylib",
+		LIBRARY.GSV1:          "@gtksourceview@/lib/libgtksourceview-3.0.dylib",
+		LIBRARY.GSTREAMER:     "@gstreamer@/lib/libgstreamer-1.0.dylib",
+		LIBRARY.GSTINTERFACES: "@gst_plugins_base@/lib/libgstvideo-1.0.dylib",
+		LIBRARY.VTE:           "@vte@/lib/libvte-2.91.dylib",
+		LIBRARY.PEAS:          "@libpeas@/lib/libpeas-1.0.dylib",
+		LIBRARY.RSVG:          "@librsvg@/lib/librsvg-2.dylib",
+	];
+}
+else
+{
+	const string[LIBRARY.max+1] importLibs =
+	[
+		LIBRARY.ATK:           "@atk@/lib/libatk-1.0.so.0",
+		LIBRARY.CAIRO:         "@cairo@/lib/libcairo.so.2",
+		LIBRARY.GDK:           "@gtk3@/lib/libgdk-3.so.0",
+		LIBRARY.GDKPIXBUF:     "@gdk_pixbuf@/lib/libgdk_pixbuf-2.0.so.0",
+		LIBRARY.GLIB:          "@glib@/lib/libglib-2.0.so.0",
+		LIBRARY.GMODULE:       "@glib@/lib/libgmodule-2.0.so.0",
+		LIBRARY.GOBJECT:       "@glib@/lib/libgobject-2.0.so.0",
+		LIBRARY.GIO:           "@glib@/lib/libgio-2.0.so.0",
+		LIBRARY.GTHREAD:       "@glib@/lib/libgthread-2.0.so.0",
+		LIBRARY.GTK:           "@gtk3@/lib/libgtk-3.so.0",
+		LIBRARY.PANGO:         "@pango@/lib/libpango-1.0.so.0",
+		LIBRARY.PANGOCAIRO:    "@pango@/lib/libpangocairo-1.0.so.0",
+		LIBRARY.GLGDK:         "libgdkglext-3.0.so.0",
+		LIBRARY.GLGTK:         "libgtkglext-3.0.so.0",
+		LIBRARY.GDA:           "@libgda@/lib/libgda-4.0.so.4",
+		LIBRARY.GSV:           "@gtksourceview@/lib/libgtksourceview-3.0.so.0",
+		LIBRARY.GSV1:          "@gtksourceview@/lib/libgtksourceview-3.0.so.1",
+		LIBRARY.GSTREAMER:     "@gstreamer@/lib/libgstreamer-1.0.so.0",
+		LIBRARY.GSTINTERFACES: "@gst_plugins_base@/lib/libgstvideo-1.0.so.0",
+		LIBRARY.VTE:           "@vte@/lib/libvte-2.91.so.0",
+		LIBRARY.PEAS:          "@libpeas@/lib/libpeas-1.0.so.0",
+		LIBRARY.RSVG:          "@librsvg@/lib/librsvg-2.so.2",
+	];
+}
diff --git a/pkgs/development/libraries/half/default.nix b/pkgs/development/libraries/half/default.nix
new file mode 100644
index 00000000000..d235c6cb086
--- /dev/null
+++ b/pkgs/development/libraries/half/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  version = "1.12.0";
+  name = "half-${version}";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/half/${version}/half-${version}.zip";
+    sha256 = "0096xiw8nj86vxnn3lfcl94vk9qbi5i8lnydri9ws358ly6002vc";
+    stripRoot = false;
+  };
+
+  buildCommand = ''
+    mkdir -p $out/include $out/share/doc
+    cp $src/include/half.hpp               $out/include/
+    cp $src/{ChangeLog,LICENSE,README}.txt $out/share/doc/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C++ library for half precision floating point arithmetics";
+    platforms = platforms.all;
+    license = licenses.mit;
+    maintainers = [ maintainers.volth ];
+  };
+}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 81b3c558f0b..191d3365d6c 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "1.4.5";
+  version = "1.4.6";
   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 = "d0e05438165884f21658154c709075feaf98c93ee5c694b951533ac425a9a711";
+    sha256 = "21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch b/pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
deleted file mode 100644
index 72d3f67d3bc..00000000000
--- a/pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0c82d6aa02c08e41b13c83b14782bd7024e25d59 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Feb 2014 21:06:42 +0000
-Subject: [PATCH] Disable LDFLAGSICUDT for Linux
-
-Upstream-Status: Inappropriate [ OE Configuration ]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- source/config/mh-linux |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/source/config/mh-linux b/source/config/mh-linux
-index 366f0cc..2689aab 100644
---- a/source/config/mh-linux
-+++ b/source/config/mh-linux
-@@ -21,7 +21,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN
- LD_RPATH_PRE = -Wl,-rpath,
- 
- ## These are the library specific LDFLAGS
--LDFLAGSICUDT=-nodefaultlibs -nostdlib
-+# LDFLAGSICUDT=-nodefaultlibs -nostdlib
- 
- ## Compiler switch to embed a library name
- # The initial tab in the next line is to prevent icu-config from reading it.
--- 
-1.7.10.4
-
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index b64d8c84e22..173c9bb58ad 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -12,7 +12,7 @@ let
     sha256 = "0hxhpgydalyxacaaxlmaddc1sjwh65rsnpmg0j414mnblq74vmm8";
   };
 in
-stdenv.mkDerivation ({
+stdenv.mkDerivation {
   name = pname + "-" + version;
 
   src = fetchurl {
@@ -33,21 +33,15 @@ stdenv.mkDerivation ({
     echo Source root reset to ''${sourceRoot}
   '';
 
-  # This pre/postPatch shenanigans is to handle that the patches expect
-  # to be outside of `source`.
-  prePatch = ''
-    pushd ..
-  '';
-  postPatch = ''
-    popd
-    patch -p4 < ${keywordFix}
-  '';
+  patchFlags = "-p4";
 
-  patches = [
-  ];
+  patches = [ keywordFix ];
 
   preConfigure = ''
     sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
+  '' + stdenv.lib.optionalString stdenv.isArm ''
+    # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch
+    sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
   '';
 
   configureFlags = "--disable-debug" +
@@ -68,6 +62,4 @@ stdenv.mkDerivation ({
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.all;
   };
-} // (if stdenv.isArm then {
-  patches = [ ./0001-Disable-LDFLAGSICUDT-for-Linux.patch ];
-} else {}))
+}
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index 71bb871a45d..bc3e1a20abb 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
-    make sharedlib NDEBUG=1
+    make sharedlib NDEBUG=1 "LDFLAGS=-lX11 -lGL -lXxf86vm"
   '';
 
   preInstall = ''
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 34e7e4a761f..63dd931a139 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, fetchpatch, libjpeg, cmake }:
+{ stdenv, fetchFromGitHub, fetchpatch, libjpeg, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "jasper-2.0.12";
-
-  src = fetchurl {
-    # You can find this code on Github at https://github.com/mdadams/jasper
-    # however note at https://www.ece.uvic.ca/~frodo/jasper/#download
-    # not all tagged releases are for distribution.
-    url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.tar.gz";
-    sha256 = "1njdbxv7d4anzrd476wjww2qsi96dd8vfnp4hri0srrqxpszl92v";
+  name = "jasper-${version}";
+  version = "2.0.13";
+
+  src = fetchFromGitHub {
+    repo = "jasper";
+    owner = "mdadams";
+    rev = "version-${version}";
+    sha256 = "1kd2xiszg9bxfavs3fadi4gi27m876d9zjjy0ns6mmbcjk109c0a";
   };
 
   # newer reconf to recognize a multiout flag
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.ece.uvic.ca/~frodo/jasper/;
     description = "JPEG2000 Library";
     platforms = platforms.unix;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index f7261e11738..d3cb1283331 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig ] ++
-    lib.optional stdenv.isLinux (if usePulseAudio then libpulseaudio else alsaLib) ++
+    lib.optional usePulseAudio libpulseaudio ++
+    lib.optional stdenv.isLinux alsaLib ++
     lib.optional stdenv.isLinux libcap ++
     lib.optionals stdenv.isDarwin [ CoreAudio CoreServices AudioUnit ];
 
diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix
index 174c633bf0d..33209f2fd44 100644
--- a/pkgs/development/libraries/libatomic_ops/default.nix
+++ b/pkgs/development/libraries/libatomic_ops/default.nix
@@ -1,32 +1,22 @@
 { stdenv, fetchurl, autoconf, automake, libtool }:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="libatomic_ops";
-    version="7.4.4";
-    name="${baseName}-${version}";
-    hash="13vg5fqwil17zpf4hj4h8rh3blzmym693lkdjgvwpgni1mh0l8dz";
-    url="http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-7.4.4.tar.gz";
-    sha256="13vg5fqwil17zpf4hj4h8rh3blzmym693lkdjgvwpgni1mh0l8dz";
-  };
-  
-  buildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
 
-in stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
+stdenv.mkDerivation rec {
+  name = "libatomic_ops-${version}";
+  version = "7.6.0";
 
   src = fetchurl {
-    inherit (s) url sha256;
+    url = "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz";
+    sha256 ="03ylfr29g9zc0r6b6axz3i68alj5qmxgzknxwam3jlx0sz8hcb4f";
   };
 
-  preConfigure = if stdenv.isCygwin then ''
-      sed -i -e "/libatomic_ops_gpl_la_SOURCES/a libatomic_ops_gpl_la_LIBADD = libatomic_ops.la" src/Makefile.am
-      ./autogen.sh
-  '' else null;
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
+
+  preConfigure = stdenv.lib.optionalString stdenv.isCygwin ''
+    sed -i -e "/libatomic_ops_gpl_la_SOURCES/a libatomic_ops_gpl_la_LIBADD = libatomic_ops.la" src/Makefile.am
+    ./autogen.sh
+  '';
 
   meta = {
-    inherit (s) version;
     description = ''A library for semi-portable access to hardware-provided atomic memory update operations'';
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix
index 8e911a9b015..3632fff43bd 100644
--- a/pkgs/development/libraries/libcommuni/default.nix
+++ b/pkgs/development/libraries/libcommuni/default.nix
@@ -25,6 +25,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = with stdenv.lib; {
     description = "A cross-platform IRC framework written with Qt";
     homepage = https://communi.github.io;
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index de219bee382..a8cf2864807 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind }:
+{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.79";
+  name = "libdrm-2.4.81";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "c6aaf319293bce38023e9a637471b0f45c93c807d2a279060d741fc7a2e5b197";
+    sha256 = "8cc05c195ac8708199979a94c4e4d1a928c14ec338ecbcb38ead09f54dae11ae";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libpthreadstubs libpciaccess ];
+  buildInputs = [ libpthreadstubs libpciaccess valgrind-light ];
     # libdrm as of 2.4.70 does not actually do anything with udev.
 
   patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
-  configureFlags = [ "--disable-valgrind" ]
+  configureFlags = [ ]
     ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
     ++ stdenv.lib.optional stdenv.isDarwin "-C";
 
diff --git a/pkgs/development/libraries/libdwg/default.nix b/pkgs/development/libraries/libdwg/default.nix
index 2a2dfbb0be5..5ee92b46385 100644
--- a/pkgs/development/libraries/libdwg/default.nix
+++ b/pkgs/development/libraries/libdwg/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = {
     description = "Library reading dwg files";
     homepage = http://libdwg.sourceforge.net/en/;
diff --git a/pkgs/development/libraries/libfann/default.nix b/pkgs/development/libraries/libfann/default.nix
new file mode 100644
index 00000000000..4c637485086
--- /dev/null
+++ b/pkgs/development/libraries/libfann/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "libfann-${version}";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "libfann";
+    repo = "fann";
+    rev = version;
+    sha256 = "0awbs0vjsrdglqiaybb0ln13ciizmyrw9ahllahvgbq4nr0nvf6y";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  outputs = [ "out" "dev" ];
+
+  meta = {
+    homepage = "http://leenissen.dk/fann/wp/";
+    description = "Fast Artificial Neural Network Library";
+    maintainers = with lib.maintainers; [ fpletz ];
+    license = lib.licenses.lgpl21;
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index d6c0c538a8f..b0f1046aa59 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
-    sha256 = "06ivj40bk5b76a36zwhnwqvg564hgccncnn5nb5cqc7kf4bkkchq";
+    sha256 = "1qrvddjqz5jv6920gcfqsrsjksi2845hn96g0z3vpcsm6nifhqn1";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix
index 36f4a04c9df..f0d05c0b263 100644
--- a/pkgs/development/libraries/libftdi/default.nix
+++ b/pkgs/development/libraries/libftdi/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libusb ];
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = {
     description = "A library to talk to FTDI chips using libusb";
     homepage = http://www.intra2net.com/en/developer/libftdi/;
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index fc2c859a5f8..1903787149c 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -4,11 +4,11 @@ assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "libgcrypt-${version}";
-  version = "1.7.6";
+  version = "1.7.7";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "1g05prhgqw4ryd0w433q8nhds0h93kf47hfjagi2r7dghkpaysk2";
+    sha256 = "16ndaj93asw122mwjz172x2ilpm03w1yp5mqcrp3xslk0yx5xf5r";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/libraries/libhdhomerun/default.nix b/pkgs/development/libraries/libhdhomerun/default.nix
new file mode 100644
index 00000000000..08563ed53dd
--- /dev/null
+++ b/pkgs/development/libraries/libhdhomerun/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "libhdhomerun-1efbcb";
+
+  src = fetchgit {
+    url = "git://github.com/Silicondust/libhdhomerun.git";
+    rev = "1efbcb2b87b17a82f2b3d873d1c9cc1c6a3a9b77";
+    sha256 = "11iyrfs98xb50n9iqnwfphmmnn5w3mq2l9cjjpf8qp29cvs33cgy";
+  };
+
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile --replace "gcc" "cc"
+    substituteInPlace Makefile --replace "-arch i386" ""
+  '';
+
+  installPhase = let
+    libSuff = if stdenv.isDarwin then "dylib" else "so";
+  in ''
+    mkdir -p $out/{bin,lib,include/hdhomerun}
+    install -Dm444 libhdhomerun.${libSuff} $out/lib
+    install -Dm555 hdhomerun_config $out/bin
+    cp *.h $out/include/hdhomerun
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Implements the libhdhomerun protocol for use with Silicondust HDHomeRun TV tuners";
+    homepage = "https://github.com/Silicondust/libhdhomerun";
+    repositories.git = "https://github.com/Silicondust/libhdhomerun.git";
+    license = stdenv.lib.licenses.lgpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.titanous ];
+  };
+}
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index f0257ed8a44..17950b383bb 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -17,11 +17,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.5.1";
+  version = "1.7.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "d4f63933b0967bd691735af5e3919e2d29c2121d4e05867cc4e10ff3ae8e2dd8";
+    sha256 = "0b1e5a6c106ccc609ccececd9e33e6b27c8b01fc7457ddb4c1dd266e780d6bc2";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libmnl/default.nix b/pkgs/development/libraries/libmnl/default.nix
index 02e86cc688b..33ccccea2e9 100644
--- a/pkgs/development/libraries/libmnl/default.nix
+++ b/pkgs/development/libraries/libmnl/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       re-inventing the wheel.
     '';
     homepage = http://netfilter.org/projects/libmnl/index.html;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = stdenv.lib.licenses.lgpl21Plus;
 
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libnetfilter_log/default.nix b/pkgs/development/libraries/libnetfilter_log/default.nix
new file mode 100644
index 00000000000..e3c8447549d
--- /dev/null
+++ b/pkgs/development/libraries/libnetfilter_log/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, libnfnetlink, libmnl }:
+
+stdenv.mkDerivation rec {
+  name = "libnetfilter_log-${version}";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "http://netfilter.org/projects/libnetfilter_log/files/${name}.tar.bz2";
+    sha256 = "089vjcfxl5qjqpswrbgklf4wflh44irmw6sk2k0kmfixfmszxq3l";
+  };
+
+  buildInputs = [ libmnl ];
+  propagatedBuildInputs = [ libnfnetlink ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Userspace library providing interface to packets that have been logged by the kernel packet filter";
+    longDescription = ''
+      libnetfilter_log is a userspace library providing interface to packets
+      that have been logged by the kernel packet filter. It is is part of a
+      system that deprecates the old syslog/dmesg based packet logging. This
+      library has been previously known as libnfnetlink_log.
+    '';
+    homepage = http://netfilter.org/projects/libnetfilter_log/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej nckx ];
+  };
+}
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index 559caf8928b..328c5db0b65 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -2,23 +2,16 @@
 , fixedPoint ? false, withCustomModes ? true }:
 
 let
-  version = "1.1.3";
+  version = "1.1.5";
 in
 stdenv.mkDerivation rec {
   name = "libopus-${version}";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/opus-${version}.tar.gz";
-    sha256 = "0cxnd7pjxbgh6l3cbzsw29phpr5cq28fikfhjlp1hc3y5s0gxdjq";
+    sha256 = "1r33nm7b052dw7gsc99809df1zmj5icfiljqbrfkw2pll0f9i17b";
   };
 
-  patches = [
-    (fetchpatch { # CVE-2017-0381
-      url = "https://github.com/xiph/opus/commit/79e8f527b0344b0897a65be35e77f7885bd99409.patch";
-      sha256 = "0clm4ixqkaj0a6i5rhaqfv3nnxyk33b2b8xlm7vyfd0y8kbh996q";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
   configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point"
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 163357a0c0f..cf3ad5f1ebb 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, pkgconfig, cmake
-, dbus, networkmanager, webkitgtk214x, pcre, python2 }:
+, dbus, networkmanager, webkitgtk216x, pcre, python2 }:
 
 stdenv.mkDerivation rec {
   name = "libproxy-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ dbus networkmanager webkitgtk214x pcre ];
+  buildInputs = [ dbus networkmanager webkitgtk216x pcre ];
 
   cmakeFlags = [
     "-DWITH_WEBKIT3=ON"
diff --git a/pkgs/development/libraries/libressl/2.5.nix b/pkgs/development/libraries/libressl/2.5.nix
index 2284db5ad7d..6ab07248655 100644
--- a/pkgs/development/libraries/libressl/2.5.nix
+++ b/pkgs/development/libraries/libressl/2.5.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "man" ];
 
+  dontGzipMan = if stdenv.isDarwin then true else null; # not sure what's wrong
+
   meta = with stdenv.lib; {
     description = "Free TLS/SSL implementation";
     homepage    = "http://www.libressl.org";
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 3b74406d7bf..dbd203b97cf 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "00jsix5hny0g768zv4hk78dib7w0qmk5fbizf4jj37r51nd4s6k8";
   };
 
+  patches = [
+    (fetchurl {
+      name = "CVE-2017-6891.patch";
+      url = "https://git.savannah.gnu.org/gitweb/?p=libtasn1.git;a=patch;h=5520704d075802df25ce4ffccc010ba1641bd484";
+      sha256 = "000r6wb87zkx8yhzkf1c3h7p5akwhjw51cv8f1yjnplrqqrr7h2k";
+    })
+  ];
+
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index c6705703149..595ec9d01cc 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,21 +1,20 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, zlib, libjpeg, xz }:
 
 let
-  version = "4.0.7";
+  version = "4.0.8";
 in
 stdenv.mkDerivation rec {
   name = "libtiff-${version}";
 
   src = fetchurl {
     url = "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
-    sha256 = "06ghqhr4db1ssq0acyyz49gr8k41gzw6pqb6mbn5r7jqp77s4hwz";
+    sha256 = "0419mh6kkhz5fkyl77gv0in8x4d2jpdpfs147y8mj86rrjlabmsr";
   };
 
   prePatch =let
-      # https://lwn.net/Vulnerabilities/711777/
       debian = fetchurl {
-        url = http://http.debian.net/debian/pool/main/t/tiff/tiff_4.0.7-5.debian.tar.xz;
-        sha256 = "1ribxdn89wx3nllcyh7ql3dx6wpr1h7z3waglz1w7dklxm43q67l";
+        url = http://http.debian.net/debian/pool/main/t/tiff/tiff_4.0.8-2.debian.tar.xz;
+        sha256 = "1ssjh6vn9rvl2jwm34i3p89g8lj0c7fj3cziva9rj4vasfps58ng";
       };
     in ''
       tar xf '${debian}'
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 941ab6710c2..fdf5191bf72 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -2,19 +2,19 @@
 , ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.11.0";
+  version = "1.12.0";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "02sm7f3l0shpfz25b77q2jjvlypc1mmz4zpzfgfmiplhgxxaa6la";
+    sha256 = "0m025i0sfm4iv3aiic88x4y4bbhhdb204pmd9r383fsl458fck2p";
   };
 
   postPatch = let
     toDisable = [
-      "getnameinfo_basic" # probably network-dependent
+      "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
       "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
       "getaddrinfo_fail" "getaddrinfo_fail_sync"
     ]
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 9449a8f538f..511f97eb3cd 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [
     libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
-    attr libxslt xhtml1 perlPackages.XMLXPath curl libpcap parted
+    libxslt xhtml1 perlPackages.XMLXPath curl libpcap
   ] ++ optionals stdenv.isLinux [
     libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs
-    libapparmor libcap_ng numactl xen
+    libapparmor libcap_ng numactl xen attr parted
   ] ++ optionals stdenv.isDarwin [
      libiconv gmp
   ];
@@ -50,7 +50,6 @@ stdenv.mkDerivation rec {
     "--with-test"
     "--with-esx"
     "--with-remote"
-    "--with-storage-disk"
   ] ++ optionals stdenv.isLinux [
     "--with-attr"
     "--with-apparmor"
@@ -59,6 +58,7 @@ stdenv.mkDerivation rec {
     "--with-macvtap"
     "--with-virtualport"
     "--with-init-script=systemd+redhat"
+    "--with-storage-disk"
     "--with-storage-zfs"
   ] ++ optionals stdenv.isDarwin [
     "--with-init-script=none"
@@ -74,8 +74,8 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/libexec/libvirt-guests.sh \
       --replace "$out/bin" "${gettext}/bin" \
       --replace "lock/subsys" "lock"
-    rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
   '' + optionalString stdenv.isLinux ''
+    rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
     wrapProgram $out/sbin/libvirtd \
       --prefix PATH : ${makeBinPath [ iptables iproute pmutils numad numactl ]}
   '';
diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix
index ec3e9997690..30703fc7e3e 100644
--- a/pkgs/development/libraries/lmdb/default.nix
+++ b/pkgs/development/libraries/lmdb/default.nix
@@ -3,13 +3,13 @@
 let optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "lmdb-${version}";
-  version = "0.9.19";
+  version = "0.9.21";
 
   src = fetchFromGitHub {
     owner = "LMDB";
     repo = "lmdb";
     rev = "LMDB_${version}";
-    sha256 = "04qx803jdmhkcam748fn0az3cyzvj91lw28kcvwfyq0al7pmjkfs";
+    sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3";
   };
 
   postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index e9edda698f4..d606fcd1548 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -2,7 +2,7 @@
 , pkgconfig, intltool, autoreconfHook, substituteAll
 , file, expat, libdrm, xorg, wayland, openssl
 , llvmPackages, libffi, libomxil-bellagio, libva
-, libelf, libvdpau, python2
+, libelf, libvdpau, valgrind-light
 , grsecEnabled ? false
 , enableRadv ? false
 # Texture floats are patented, see docs/patents.txt, so we don't enable them for full Mesa.
@@ -36,7 +36,7 @@ let
     then ["nouveau" "freedreno" "vc4" "etnaviv" "imx"]
     else if stdenv.isAarch64
     then ["nouveau" "vc4" ]
-    else ["i915" "ilo" "r300" "r600" "radeonsi" "nouveau"];
+    else ["i915" "r300" "r600" "radeonsi" "nouveau"];
   defaultDriDrivers =
     if (stdenv.isArm || stdenv.isAarch64)
     then ["nouveau"]
@@ -67,7 +67,7 @@ let
 in
 
 let
-  version = "17.0.4";
+  version = "17.1.2";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -82,7 +82,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "1269dc8545a193932a0779b2db5bce9be4a5f6813b98c38b93b372be8362a346";
+    sha256 = "0937804f43746339b1f9540d8f9c8b4a1bb3d3eec0e4020eac283b8799798239";
   };
 
   prePatch = "patchShebangs .";
@@ -103,7 +103,7 @@ stdenv.mkDerivation {
     "--localstatedir=/var"
     "--with-dri-driverdir=$(drivers)/lib/dri"
     "--with-dri-searchpath=${driverLink}/lib/dri"
-    "--with-egl-platforms=x11,wayland,drm"
+    "--with-platforms=x11,wayland,drm"
   ]
   ++ (optional (galliumDrivers != [])
       ("--with-gallium-drivers=" +
@@ -126,7 +126,7 @@ stdenv.mkDerivation {
     "--enable-glx"
     "--enable-glx-tls"
     "--enable-gallium-osmesa" # used by wine
-    "--enable-gallium-llvm"
+    "--enable-llvm"
     "--enable-egl"
     "--enable-xa" # used in vmware driver
     "--enable-gbm"
@@ -152,7 +152,7 @@ stdenv.mkDerivation {
     libX11 libXext libxcb libXt libXfixes libxshmfence
     libffi wayland libvdpau libelf libXvMC
     libomxil-bellagio libva libpthreadstubs openssl/*or another sha1 provider*/
-    (python2.withPackages (ps: [ ps.Mako ]))
+    valgrind-light
   ];
 
 
diff --git a/pkgs/development/libraries/mesa/symlink-drivers.patch b/pkgs/development/libraries/mesa/symlink-drivers.patch
index 68c0f1da26b..af2ec9fdb09 100644
--- a/pkgs/development/libraries/mesa/symlink-drivers.patch
+++ b/pkgs/development/libraries/mesa/symlink-drivers.patch
@@ -11,11 +11,12 @@ diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/dri/Makefile.am mesa-12.0.
  install-data-hook:
  	for i in $(TARGET_DRIVERS); do                                  \
 -		ln -f $(DESTDIR)$(dridir)/gallium_dri.so                \
-+		ln -srf $(DESTDIR)$(dridir)/gallium_dri.so               \
++		ln -srf $(DESTDIR)$(dridir)/gallium_dri.so              \
  		      $(DESTDIR)$(dridir)/$${i}_dri.so;                 \
  	done;                                                           \
--	$(RM) $(DESTDIR)$(dridir)/gallium_dri.*
-+	$(RM) $(DESTDIR)$(dridir)/gallium_dri.la
+-	$(RM) $(DESTDIR)$(dridir)/gallium_dri.*;                        \
++	$(RM) $(DESTDIR)$(dridir)/gallium_dri.la                        \
+ 	$(RM) -d $(DESTDIR)$(dridir) &>/dev/null || true
  
  uninstall-hook:
  	for i in $(TARGET_DRIVERS); do                                  \
@@ -60,8 +61,9 @@ diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/vdpau/Makefile.am mesa-12.
  		ln -sf $${l}						\
  		       $${dest_dir}/$${k};				\
  	done;								\
--	$(RM) $${dest_dir}/libvdpau_gallium.*
-+	$(RM) $${dest_dir}/libvdpau_gallium.la
+-	$(RM) $${dest_dir}/libvdpau_gallium.*;				\
++	$(RM) $${dest_dir}/libvdpau_gallium.la				\
+ 	$(RM) -d $${dest_dir} &>/dev/null || true
  
  uninstall-hook:
  	for i in $(TARGET_DRIVERS); do					\
@@ -73,7 +75,7 @@ diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/xvmc/Makefile.am mesa-12.0
  		k=libXvMC$${i}.$(LIB_EXT);				\
  		l=$${k}.$(XVMC_MAJOR).$(XVMC_MINOR).0;			\
 -		ln -f $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0	\
-+		ln -srf $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0	\
++		ln -srf $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \
  		      $${dest_dir}/$${l};				\
  		ln -sf $${l}						\
  		       $${dest_dir}/$${k}.$(XVMC_MAJOR).$(XVMC_MINOR);	\
@@ -81,8 +83,9 @@ diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/xvmc/Makefile.am mesa-12.0
  		ln -sf $${l}						\
  		       $${dest_dir}/$${k};				\
  	done;								\
--	$(RM) $${dest_dir}/libXvMCgallium.*
-+	$(RM) $${dest_dir}/libXvMCgallium.la
+-	$(RM) $${dest_dir}/libXvMCgallium.*;				\
++	$(RM) $${dest_dir}/libXvMCgallium.la				\
+ 	$(RM) -d $${dest_dir} &>/dev/null || true
  
  uninstall-hook:
  	for i in $(TARGET_DRIVERS); do					\
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 9e7f2eef46b..46283e371aa 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -65,9 +65,6 @@ stdenv.mkDerivation rec {
     sed -i -e 's,LIB_SUFFIX="t,LIB_SUFFIX=",' configure
   '';
 
-  # Here only for native hash, remove on next mass rebuild
-  selfNativeBuildInput = buildPlatform == hostPlatform;
-
   enableParallelBuilding = true;
 
   doCheck = false;
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 71a15b7e477..c2aea07d102 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl
 , CoreServices ? null }:
 
-let version = "4.13.1"; in
+let version = "4.15"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab";
+    sha256 = "101dksqm1z0hzd7ap82ccbxjr48s6q3xhshdl81qkj6hqdmy1p97";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 396d795c5a4..80975c8ef5d 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.30";
+  version = "3.31";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_30_RTM/src/${name}.tar.gz";
-    sha256 = "a8c0000dae5e992f6563972e26dbfefc50d006dd845c43b8ca24ea50169ff3a9";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_31_RTM/src/${name}.tar.gz";
+    sha256 = "0pd643a8ns7q5az5ai3ascrw666i2kbfiyy1c9hlhw9jd8jn21g9";
   };
 
   buildInputs = [ perl zlib sqlite ];
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index ec85542c920..8d083904189 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name = "openscenegraph-${version}";
-  version = "3.2.3";
+  version = "3.4.0";
 
   src = fetchurl {
     url = "http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-${version}.zip";
-    sha256 = "0gic1hy7fhs27ipbsa5862q120a9y4bx176nfaw2brcjp522zvb9";
+    sha256 = "03h4wfqqk7rf3mpz0sa99gy715cwpala7964z2npd8jxfn27swjw";
   };
 
   nativeBuildInputs = [ pkgconfig cmake doxygen unzip ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 2009daa1cc8..8582c0a1833 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -109,13 +109,13 @@ let
 in {
 
   openssl_1_0_2 = common {
-    version = "1.0.2k";
-    sha256 = "1h6qi35w6hv6rd73p4cdgdzg732pdrfgpp37cgwz1v9a3z37ffbb";
+    version = "1.0.2l";
+    sha256 = "037kvpisc6qh5dkppcwbm5bg2q800xh2hma3vghz8xcycmdij1yf";
   };
 
   openssl_1_1_0 = common {
-    version = "1.1.0e";
-    sha256 = "0k47sdd9gs6yxfv6ldlgpld2lyzrkcv9kz4cf88ck04xjwc8dgjp";
+    version = "1.1.0f";
+    sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj";
   };
 
 }
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index d8420f69101..9b396261fcc 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -6,14 +6,14 @@ with stdenv.lib;
 
 let
   ver_maj = "1.40";
-  ver_min = "5";
+  ver_min = "6";
 in
 stdenv.mkDerivation rec {
   name = "pango-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
-    sha256 = "24748140456c42360b07b2c77a1a2e1216d07c056632079557cd4e815b9d01c9";
+    sha256 = "ca152b7383a1e9f7fd74ae96023dc6770dc5043414793bfe768ff06b6759e573";
   };
 
   outputs = [ "bin" "dev" "out" "devdoc" ];
diff --git a/pkgs/development/libraries/physics/cernlib/default.nix b/pkgs/development/libraries/physics/cernlib/default.nix
new file mode 100644
index 00000000000..dad138c8433
--- /dev/null
+++ b/pkgs/development/libraries/physics/cernlib/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, gfortran, gnumake, imake, makedepend, motif, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "2006";
+  name = "cernlib-${version}";
+
+  src = fetchurl {
+    url = "http://cernlib.web.cern.ch/cernlib/download/${version}_source/tar/${version}_src.tar.gz";
+    sha256 = "0awla1rl96z82br7slcmg8ks1d2a7slk6dj79ywb871j2ksi3fky";
+  };
+
+  buildInputs = with xorg; [ gfortran motif libX11 libXft libXt ];
+  nativeBuildInputs = [ gnumake imake makedepend ];
+  sourceRoot = ".";
+
+  patches = [ ./patch ];
+
+  postPatch = ''
+    substituteInPlace 2006/src/config/site.def \
+      --replace "# define MakeCmd gmake" "# define MakeCmd make"
+  '';
+
+  configurePhase = ''
+    export CERN=`pwd`
+    export CERN_LEVEL=${version}
+    export CERN_ROOT=$CERN/$CERN_LEVEL
+    export CVSCOSRC=`pwd`/$CERN_LEVEL/src
+    export PATH=$PATH:$CERN_ROOT/bin
+  '';
+
+  buildPhase = ''
+    cd $CERN_ROOT
+    mkdir -p build bin lib
+
+    cd $CERN_ROOT/build
+    $CVSCOSRC/config/imake_boot
+    make bin/kuipc
+    make scripts/Makefile
+    pushd scripts
+    make install.bin
+    popd
+    make
+  '';
+
+  installPhase = ''
+    mkdir "$out"
+    cp -r "$CERN_ROOT/bin" "$out"
+    cp -r "$CERN_ROOT/lib" "$out"
+    mkdir "$out/$CERN_LEVEL"
+    ln -s "$out/bin" "$out/$CERN_LEVEL/bin"
+    ln -s "$out/lib" "$out/$CERN_LEVEL/lib"
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    homepage = http://cernlib.web.cern.ch;
+    description = "Legacy collection of libraries and modules for data analysis in high energy physics";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/libraries/physics/cernlib/patch b/pkgs/development/libraries/physics/cernlib/patch
new file mode 100644
index 00000000000..2d75b6bf0f8
--- /dev/null
+++ b/pkgs/development/libraries/physics/cernlib/patch
@@ -0,0 +1,186 @@
+diff --git a/2006/src/config/Imake.tmpl b/2006/src/config/Imake.tmpl
+index 054fb04..a3b3828 100644
+--- a/2006/src/config/Imake.tmpl
++++ b/2006/src/config/Imake.tmpl
+@@ -455,7 +455,7 @@ XCOMM the platform-specific parameters - edit site.def to change
+ #define NoRConst NO /* YES if const for structs of funcs is bad */
+ #endif
+ #ifndef InstPgmFlags
+-#define InstPgmFlags -s
++#define InstPgmFlags
+ #endif
+ #ifndef InstBinFlags
+ #define InstBinFlags -m 0755
+diff --git a/2006/src/config/biglib.rules b/2006/src/config/biglib.rules
+index c90e58a..9173bdc 100644
+--- a/2006/src/config/biglib.rules
++++ b/2006/src/config/biglib.rules
+@@ -368,7 +368,7 @@ define build-object-list						@@\
+ @ (set -e;\							@@\
+ 	 case '${MFLAGS}' in *[i]*) set +e;; esac; \		@@\
+ 	 subdirs=Quote(dirs);\					@@\
+-	 list=`/bin/pwd`/$@;\					@@\
++	 list=`pwd`/$@;\					@@\
+ 	 for dir in $$subdirs; do \				@@\
+ 	  (set -e;cd $$dir;SedCmd -e "\=^[^/]=s=^.=$$dir/&=" $@ >> $$list);\@@\
+ 	 done) || (rm $@; exit 1)				@@\
+diff --git a/2006/src/config/imake_boot b/2006/src/config/imake_boot
+index b52d0d3..69cf1b3 100755
+--- a/2006/src/config/imake_boot
++++ b/2006/src/config/imake_boot
+@@ -10,8 +10,8 @@ if [ "$CVSCOSRC" = "" ] ; then
+ fi
+ if [ -f Imakefile ] ; then
+ 	imake -DUseInstalled -I$CVSCOSRC/config \
+-		-DTOPDIR=`/bin/pwd` -DCURDIR= -fImakefile
++		-DTOPDIR=`pwd` -DCURDIR= -fImakefile
+ else
+ 	imake -DUseInstalled -I$CVSCOSRC/config \
+-		-DTOPDIR=`/bin/pwd` -DCURDIR= -f$CVSCOSRC/Imakefile
++		-DTOPDIR=`pwd` -DCURDIR= -f$CVSCOSRC/Imakefile
+ fi
+diff --git a/2006/src/config/linux-lp64.cf b/2006/src/config/linux-lp64.cf
+index e071b2f..3cc5c3b 100644
+--- a/2006/src/config/linux-lp64.cf
++++ b/2006/src/config/linux-lp64.cf
+@@ -173,7 +173,7 @@
+ #define FortranCmd		g77
+ #define XargsCmd		xargs
+ #define FortranSaveFlags	/* */ /* Everything static !? */
+-#define DefaultFCOptions	-fno-automatic -fno-second-underscore -fugly-complex
++#define DefaultFCOptions	-fno-automatic -fno-second-underscore
+ #define CernlibSystem	        -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC -DCERNLIB_QMLXIA64
+ 
+ # endif
+diff --git a/2006/src/config/linux.cf b/2006/src/config/linux.cf
+index cc0bee5..a8dd954 100644
+--- a/2006/src/config/linux.cf
++++ b/2006/src/config/linux.cf
+@@ -258,7 +258,7 @@ endif									@@\
+ #define FortranCmd		g77
+ #define XargsCmd		xargs
+ #define FortranSaveFlags	/* */ /* Everything static !? */
+-#define DefaultFCOptions	-fno-automatic -fno-second-underscore -fugly-complex
++#define DefaultFCOptions	-fno-automatic -fno-second-underscore
+ #define CernlibSystem	        -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC
+ 
+ # endif
+diff --git a/2006/src/packlib/kuip/code_kuip/kkern.c b/2006/src/packlib/kuip/code_kuip/kkern.c
+index 3a5579f..5f3c352 100644
+--- a/2006/src/packlib/kuip/code_kuip/kkern.c
++++ b/2006/src/packlib/kuip/code_kuip/kkern.c
+@@ -543,24 +543,6 @@ char *str0dup( const char *str )
+ 
+ 
+ /*
+- * like strdup() but string is n characters long and not terminated
+- */
+-char *strndup( const char *str,
+-              size_t len )
+-{
+-  size_t bytes = len + 1;
+-  char *p;
+-
+-  if( bytes < ALLOC_MIN_BYTES )
+-    bytes = ALLOC_MIN_BYTES;
+-
+-  p = strncpy( malloc( bytes ), str, len );
+-  p[len] = '\0';
+-  return p;
+-}
+-
+-
+-/*
+  * strdup() of character representation of integer n
+  */
+ char *stridup( int n )
+diff --git a/2006/src/packlib/kuip/code_kuip/kmenu.c b/2006/src/packlib/kuip/code_kuip/kmenu.c
+index f135b07..23007a8 100644
+--- a/2006/src/packlib/kuip/code_kuip/kmenu.c
++++ b/2006/src/packlib/kuip/code_kuip/kmenu.c
+@@ -1404,7 +1404,7 @@ void interactive_find( char *expr, int keym )
+          printf ("See also:\n    ");
+          for (i = 0; i < nval; i++) {
+              if (i == ncmd) continue;
+-             printf (flis_name[i]);
++             printf ("%s", flis_name[i]);
+              if (i < nval-1)
+                 printf (", ");
+              else
+diff --git a/2006/src/packlib/kuip/kuip/kstring.h b/2006/src/packlib/kuip/kuip/kstring.h
+index 7811f15..12a1344 100644
+--- a/2006/src/packlib/kuip/kuip/kstring.h
++++ b/2006/src/packlib/kuip/kuip/kstring.h
+@@ -21,7 +21,6 @@ extern "C" {
+  */
+ 
+ #ifndef WIN32
+-extern void* memmove( void* dst, const void* src, size_t n );
+ #endif
+ 
+ /* GF. make conform to kkern.c#if !defined(__convexc__)*/
+@@ -46,7 +45,6 @@ extern char* str4dup( const char* str1, const char* str2, const char* str3,
+                      const char* str4 );
+ extern char* str5dup( const char* str1, const char* str2, const char* str3,
+                      const char* str4, const char* str5 );
+-extern char* strndup( const char* buf, size_t n );
+ extern char* stridup( int i );
+ 
+ extern char* mstrcat( char* ptr, const char* str );
+diff --git a/2006/src/pawlib/paw/cpaw/bugrep.c b/2006/src/pawlib/paw/cpaw/bugrep.c
+index d503a45..d26e30f 100644
+--- a/2006/src/pawlib/paw/cpaw/bugrep.c
++++ b/2006/src/pawlib/paw/cpaw/bugrep.c
+@@ -432,51 +432,7 @@ br_add_config( char * tmp_file )
+ 
+ static int
+ br_mail_file( char *addr, char *subj, char *file )
+-#if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_MACOSX))
+-{
+-        FILE            *mfp, *fp;
+-        char            line[1024], my_addr[L_cuserid];
+-        time_t          clock;
+-        struct tm       *ts;
+-
+-        fp = fopen( file, "r" );
+-        if ( fp == NULL ) {
+-                printf( "BUGREPORT: cannot (re)open temporary file\n" );
+-                return MAIL_ERROR;
+-        }
+-
+-        cuserid( my_addr );
+-
+-        sprintf( line, "/usr/lib/sendmail -t" );
+-        mfp = popen( line, "w" );
+-
+-        if ( mfp == NULL ) {
+-                printf( "BUGREPORT: cannot run sendmail\n" );
+-                return MAIL_ERROR;
+-        }
+-
+-
+-        clock = time( (time_t *) 0 );
+-        ts = localtime( &clock );
+-        strftime( line, sizeof( line ),
+-                "%a, %d %h %y %H:%M:%S", ts );
+-        fprintf ( mfp, "To: %s\n", addr );
+-        fprintf ( mfp, "Bcc: %s\n", my_addr );
+-        fprintf ( mfp, "Date: %s\n", line );
+-        fprintf ( mfp, "Subject: %s\n", subj );
+-        fprintf ( mfp, "\n" );
+-
+-        while( fgets( line, sizeof( line ), fp ) != NULL ) {
+-                fputs( line, mfp );
+-        }
+-        fclose( fp );
+-
+-        pclose( mfp );
+-
+-        return MAIL_OK;
+-}
+-#endif
+-#if defined(CERNLIB_MACOSX)
++#if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_WINNT))
+ {
+         FILE            *mfp, *fp;
+         char            line[1024], *my_addr;
diff --git a/pkgs/development/libraries/physics/cernlib/setup-hook.sh b/pkgs/development/libraries/physics/cernlib/setup-hook.sh
new file mode 100644
index 00000000000..d8375932776
--- /dev/null
+++ b/pkgs/development/libraries/physics/cernlib/setup-hook.sh
@@ -0,0 +1,3 @@
+export CERN_LEVEL=@version@
+export CERN=@out@
+export CERN_ROOT=$CERN/$CERN_LEVEL
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index c1f8725f6f7..804bca5f8a5 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey_17
-, gobjectIntrospection, libxslt, docbook_xsl, docbook_xml_dtd_412
-, useSystemd ? stdenv.isLinux, systemd }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, glib, expat, pam
+, intltool, spidermonkey_17 , gobjectIntrospection, libxslt, docbook_xsl
+, docbook_xml_dtd_412, gtk_doc
+, useSystemd ? stdenv.isLinux, systemd
+}:
 
 let
 
@@ -22,11 +24,28 @@ stdenv.mkDerivation rec {
     sha256 = "109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "http://pkgs.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-agent-leaks.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
+      sha256 = "1cxnhj0y30g7ldqq1y6zwsbdwcx7h97d3mpd3h5jy7dhg3h9ym91";
+    })
+    (fetchpatch {
+      url = "http://pkgs.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-polkitpermission-leak.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
+      sha256 = "1h1rkd4avqyyr8q6836zzr3w10jf521gcqnvhrhzwdpgp1ay4si7";
+    })
+    (fetchpatch {
+      url = "http://pkgs.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-itstool.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
+      sha256 = "0bxmjwp8ahy1y5g1l0kxmld0l3mlvb2l0i5n1qabia3d5iyjkyfh";
+    })
+  ];
+
   outputs = [ "bin" "dev" "out" ]; # small man pages in $bin
 
+  nativeBuildInputs =
+    [ gtk_doc pkgconfig autoreconfHook ]
+    ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages
   buildInputs =
-    [ pkgconfig glib expat pam intltool spidermonkey_17 gobjectIntrospection ]
-    ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ] # man pages
+    [ glib expat pam intltool spidermonkey_17 gobjectIntrospection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
   # Ugly hack to overwrite hardcoded directories
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 89368282f2c..20e35fa3e08 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
-, withData ? false, poppler_data
+, withData ? true, poppler_data
 , qt4Support ? false, qt4 ? null
 , qt5Support ? false, qtbase ? null
 , introspectionSupport ? false, gobjectIntrospection ? null
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
index 915a6bcae8a..23a45dd44ed 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
@@ -31,5 +31,9 @@ qtSubmodule {
         };
     in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
     ++ [ dlopen-webkit-udev ];
+
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
+
   meta.maintainers = with stdenv.lib.maintainers; [ abbradar ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.8/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.8/qtwebkit/default.nix
index 881acb442e8..bee3786ef32 100644
--- a/pkgs/development/libraries/qt-5/5.8/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/5.8/qtwebkit/default.nix
@@ -39,5 +39,9 @@ qtSubmodule {
     in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
     ++ optionals (!stdenv.isDarwin) [ dlopen-webkit-udev ]
     ++ optionals (stdenv.isDarwin) [ ./0004-icucore-darwin.patch ];
+
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
+
   meta.maintainers = with stdenv.lib.maintainers; [ abbradar periklis ];
 }
diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
index d450cd21aec..e5fffc076f7 100644
--- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
+++ b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, unzip, tcl }:
 
 stdenv.mkDerivation {
-  name = "sqlite3_analyzer-3.17.0";
+  name = "sqlite3_analyzer-3.19.2";
 
   src = fetchurl {
-    url = "https://www.sqlite.org/2017/sqlite-src-3170000.zip";
-    sha256 = "1hs8nzk2pjr4fhhrwcyqwpa24gd4ndp6f0japykg5wfadgp4nxc6";
+    url = "https://www.sqlite.org/2017/sqlite-src-3190200.zip";
+    sha256 = "1hdbs41mdyyy641gix87pllsd29p8dim7gj4qvmiyfra2q5kg749";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/webkitgtk/2.14.nix b/pkgs/development/libraries/webkitgtk/2.16.nix
index a1b22094855..4431972b5dd 100644
--- a/pkgs/development/libraries/webkitgtk/2.14.nix
+++ b/pkgs/development/libraries/webkitgtk/2.16.nix
@@ -12,7 +12,7 @@ assert enableGeoLocation -> geoclue2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.14.5";
+  version = "2.16.3";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
 
   postConfigure = optionalString stdenv.isDarwin ''
     substituteInPlace Source/WebKit2/CMakeFiles/WebKit2.dir/link.txt \
-    	  --replace "../../lib/libWTFGTK.a" ""
+        --replace "../../lib/libWTFGTK.a" ""
     substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \
-    	  --replace "../../lib/libbmalloc.a" ""
+        --replace "../../lib/libbmalloc.a" ""
     sed -i "s|[\./]*\.\./lib/lib[^\.]*\.a||g" \
         Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/link.txt \
         Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/link.txt \
@@ -37,18 +37,18 @@ stdenv.mkDerivation rec {
         Source/WebKit2/CMakeFiles/webkit2gtkinjectedbundle.dir/link.txt \
         Source/WebKit2/CMakeFiles/WebProcess.dir/link.txt
     substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \
-    	  --replace "../../lib/libWTFGTK.a" "-Wl,-all_load ../../lib/libWTFGTK.a"
+        --replace "../../lib/libWTFGTK.a" "-Wl,-all_load ../../lib/libWTFGTK.a"
   '';
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "17rnjs7yl198bkghzcc2cgh30sb5i03irb6wag3xchwv7b1z3a1w";
+    sha256 = "04mmfxm8284zrlkrhkcn9gq1l4lpm1q6wwb5hyybj081v8qr2ki0";
   };
 
   # see if we can clean this up....
 
   patches = [ ./finding-harfbuzz-icu.patch ]
-  	++ optionals stdenv.isDarwin [
+     ++ optionals stdenv.isDarwin [
     ./PR-152650-2.patch
     ./PR-153138.patch
     ./PR-157554.patch
diff --git a/pkgs/development/libraries/webkitgtk/PR-152650-2.patch b/pkgs/development/libraries/webkitgtk/PR-152650-2.patch
index db84a4a6b26..f87b8ee73e2 100644
--- a/pkgs/development/libraries/webkitgtk/PR-152650-2.patch
+++ b/pkgs/development/libraries/webkitgtk/PR-152650-2.patch
@@ -38,9 +38,9 @@ index 6b01f1a..b443d10 100644
 -    set(ENABLE_GTKDOC OFF)
 -endif ()
 -
- set(DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR ${DERIVED_SOURCES_DIR}/webkitdom)
  set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
  set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
+ set(DERIVED_SOURCES_WEBKIT2GTK_DIR ${DERIVED_SOURCES_DIR}/webkit2gtk)
 diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py
 index 4c8237b..a628ae0 100644
 --- a/Tools/gtk/gtkdoc.py
diff --git a/pkgs/development/libraries/webkitgtk/adding-libintl.patch b/pkgs/development/libraries/webkitgtk/adding-libintl.patch
deleted file mode 100644
index b6e8b073c9d..00000000000
--- a/pkgs/development/libraries/webkitgtk/adding-libintl.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- webkitgtk-2.10.4-orig/Source/WebKit2/CMakeLists.txt	2015-11-11 02:42:51.000000000 -0500
-+++ webkitgtk-2.10.4/Source/WebKit2/CMakeLists.txt	2016-01-31 18:27:49.000000000 -0500
-@@ -738,6 +738,7 @@
- set(WebKit2_LIBRARIES
-     JavaScriptCore
-     WebCore
-+    intl
- )
- 
- set(PluginProcess_LIBRARIES
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index 538b7622df7..d9b47826648 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<!--Generated on 2016-11-23 16:51:44.011243 with ADRT.-->
+	<!--Generated on 2017-06-07 21:05:03.785544 with ADRT.-->
 	<sdk:license id="android-sdk-license" type="text">Terms and Conditions
 
 This is the Android Software Development Kit License Agreement
@@ -1119,6 +1119,39 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		</sdk:libs>
 	</sdk:add-on>
 	<sdk:add-on>
+		<!--Generated from bid:3756122, branch:git_nyc-mr1-emu-release-->
+		<sdk:revision>1</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Tue Apr 25 23:37:40 2017.-->
+				<sdk:size>154871</sdk:size>
+				<sdk:checksum type="sha1">550e83eea9513ab11c44919ac6da54b36084a9f3</sdk:checksum>
+				<sdk:url>google_apis-25_r1.zip</sdk:url>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+		<sdk:vendor-id>google</sdk:vendor-id>
+		<sdk:vendor-display>Google Inc.</sdk:vendor-display>
+		<sdk:name-id>google_apis</sdk:name-id>
+		<sdk:name-display>Google APIs</sdk:name-display>
+		<sdk:api-level>23</sdk:api-level>
+		<sdk:description>Android + Google APIs</sdk:description>
+		<sdk:libs>
+			<sdk:lib>
+				<sdk:name>com.google.android.maps</sdk:name>
+				<sdk:description>API for Google Maps</sdk:description>
+			</sdk:lib>
+			<sdk:lib>
+				<sdk:name>com.android.future.usb.accessory</sdk:name>
+				<sdk:description>API for USB Accessories</sdk:description>
+			</sdk:lib>
+			<sdk:lib>
+				<sdk:name>com.google.android.media.effects</sdk:name>
+				<sdk:description>Collection of video effects</sdk:description>
+			</sdk:lib>
+		</sdk:libs>
+	</sdk:add-on>
+	<sdk:add-on>
 		<!--Generated from bid:77907680, branch:perforce-->
 		<sdk:revision>1</sdk:revision>
 		<sdk:archives>
@@ -1262,18 +1295,18 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		<sdk:libs/>
 	</sdk:add-on>
 	<sdk:extra>
-		<!--Generated from bid:3453458, branch:git_nyc-support-release-->
+		<!--Generated from bid:3841166, branch:git_nyc-support-release-->
 		<sdk:revision>
-			<sdk:major>40</sdk:major>
+			<sdk:major>47</sdk:major>
 			<sdk:minor>0</sdk:minor>
 			<sdk:micro>0</sdk:micro>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Wed Nov  9 14:52:17 2016.-->
-				<sdk:size>305545706</sdk:size>
-				<sdk:checksum type="sha1">782e7233f18c890463e8602571d304e680ce354c</sdk:checksum>
-				<sdk:url>android_m2repository_r40.zip</sdk:url>
+				<!--Built on: Wed Mar 22 18:05:52 2017.-->
+				<sdk:size>355529608</sdk:size>
+				<sdk:checksum type="sha1">a0d22beacc106a6977321f2b07d692ce4979e96a</sdk:checksum>
+				<sdk:url>android_m2repository_r47.zip</sdk:url>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
@@ -1284,40 +1317,16 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		<sdk:path>m2repository</sdk:path>
 	</sdk:extra>
 	<sdk:extra>
-		<!--Generated from bid:116899064, branch:perforce-->
-		<sdk:obsolete/>
-		<sdk:revision>
-			<sdk:major>23</sdk:major>
-			<sdk:minor>2</sdk:minor>
-			<sdk:micro>1</sdk:micro>
-		</sdk:revision>
-		<sdk:archives>
-			<sdk:archive>
-				<!--Built on: Tue Apr  5 11:38:38 2016.-->
-				<sdk:size>10850402</sdk:size>
-				<sdk:checksum type="sha1">41121bbc412c2fce0be170d589d20cfa3e78e857</sdk:checksum>
-				<sdk:url>support_r23.2.1.zip</sdk:url>
-			</sdk:archive>
-		</sdk:archives>
-		<sdk:uses-license ref="android-sdk-license"/>
-		<sdk:vendor-id>android</sdk:vendor-id>
-		<sdk:vendor-display>Android</sdk:vendor-display>
-		<sdk:description></sdk:description>
-		<sdk:name-display>Android Support Library</sdk:name-display>
-		<sdk:path>support</sdk:path>
-		<sdk:old-paths>compatibility</sdk:old-paths>
-	</sdk:extra>
-	<sdk:extra>
-		<!--Generated from bid:140037564, branch:perforce-->
+		<!--Generated from bid:158324354, branch:perforce-->
 		<sdk:revision>
-			<sdk:major>40</sdk:major>
+			<sdk:major>53</sdk:major>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Wed Nov 23 09:14:40 2016.-->
-				<sdk:size>152633821</sdk:size>
-				<sdk:checksum type="sha1">0f599f7f35fba49b9277ef9e1394c5c82d8bd369</sdk:checksum>
-				<sdk:url>google_m2repository_gms_v8_rc42_wear_2a3.zip</sdk:url>
+				<!--Built on: Wed Jun  7 15:15:19 2017.-->
+				<sdk:size>194148491</sdk:size>
+				<sdk:checksum type="sha1">9008082eb1e6ff5a78d32a1fed6915f266fc5013</sdk:checksum>
+				<sdk:url>google_m2repository_gms_v11_1_rc16_wear_2_0_3_rc1.zip</sdk:url>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
@@ -1392,16 +1401,16 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		<sdk:path>google_play_services_froyo</sdk:path>
 	</sdk:extra>
 	<sdk:extra>
-		<!--Generated from bid:139489718, branch:perforce-->
+		<!--Generated from bid:158051086, branch:perforce-->
 		<sdk:revision>
-			<sdk:major>38</sdk:major>
+			<sdk:major>41</sdk:major>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Fri Nov 18 10:26:20 2016.-->
-				<sdk:size>12351978</sdk:size>
-				<sdk:checksum type="sha1">7a50dec81ba9c9b51d7778c19ca05002498209e8</sdk:checksum>
-				<sdk:url>google_play_services_v8_rc41.zip</sdk:url>
+				<!--Built on: Tue Jun  6 11:50:00 2017.-->
+				<sdk:size>13165315</sdk:size>
+				<sdk:checksum type="sha1">55be81c50041f6a8f62947418f74f683369c971f</sdk:checksum>
+				<sdk:url>google_play_services_v11_rc16.zip</sdk:url>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
@@ -1601,4 +1610,27 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		<sdk:name-display>Android Auto Desktop Head Unit emulator</sdk:name-display>
 		<sdk:path>auto</sdk:path>
 	</sdk:extra>
+	<sdk:extra>
+		<!--Generated from bid:155747253, branch:perforce-->
+		<sdk:revision>
+			<sdk:major>1</sdk:major>
+			<sdk:minor>0</sdk:minor>
+			<sdk:micro>0</sdk:micro>
+		</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Thu May 11 08:10:37 2017.-->
+				<sdk:size>450468876</sdk:size>
+				<sdk:checksum type="sha1">50074a0f0312ee1d0d81d2cddc3d84a8a9e97a53</sdk:checksum>
+				<sdk:url>aiasdk-1.0.0.zip</sdk:url>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+		<sdk:vendor-id>google</sdk:vendor-id>
+		<sdk:vendor-display>Google Inc.</sdk:vendor-display>
+		<sdk:description>Android Instant Apps Development SDK</sdk:description>
+		<sdk:desc-url>https://developer.android.com/topic/instant-apps/index.html</sdk:desc-url>
+		<sdk:name-display>Instant Apps Development SDK</sdk:name-display>
+		<sdk:path>instantapps</sdk:path>
+	</sdk:extra>
 </sdk:sdk-addon>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 7ddd203d4bf..06be6515ee5 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -268,6 +268,18 @@ in
       };
     };
 
+  google_apis_25 = buildGoogleApis {
+    name = "google_apis-25";
+      src = fetchurl {
+        url = https://dl.google.com/android/repository/google_apis-25_r1.zip;
+        sha1 = "550e83eea9513ab11c44919ac6da54b36084a9f3";
+      };
+      meta = {
+        description = "Android + Google APIs";
+
+      };
+    };
+
   android_support_extra = buildGoogleApis {
     name = "android_support_extra";
     src = fetchurl {
@@ -280,11 +292,12 @@ in
     };
   };
 
+
   google_play_services = buildGoogleApis {
     name = "google_play_services";
     src = fetchurl {
-      url = https://dl.google.com/android/repository/google_play_services_v8_rc41.zip;
-      sha1 = "7a50dec81ba9c9b51d7778c19ca05002498209e8";
+      url = https://dl.google.com/android/repository/google_play_services_v11_rc16.zip;
+      sha1 = "55be81c50041f6a8f62947418f74f683369c971f";
     };
     meta = {
       description = "Google Play services client library and sample code";
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 7ecb82ce406..a233333986a 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -181,6 +181,20 @@ rec {
     useGooglePlayServices = true;
   };
 
+  androidsdk_7_1_1 = androidsdk {
+    platformVersions = [ "25" ];
+    abiVersions = [ "x86" "x86_64"];
+    useGoogleAPIs = true;
+  };
+
+  androidsdk_7_1_1_extras = androidsdk {
+    platformVersions = [ "25" ];
+    abiVersions = [ "x86" "x86_64"];
+    useGoogleAPIs = true;
+    useExtraSupportLibs = true;
+    useGooglePlayServices = true;
+  };
+
   androidndk = import ./androidndk.nix {
     inherit (pkgs) stdenv fetchurl zlib ncurses p7zip lib makeWrapper;
     inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
diff --git a/pkgs/development/mobile/androidenv/fetch.sh b/pkgs/development/mobile/androidenv/fetch.sh
index cd9f29a4c24..2edbe6bf489 100755
--- a/pkgs/development/mobile/androidenv/fetch.sh
+++ b/pkgs/development/mobile/androidenv/fetch.sh
@@ -1,4 +1,5 @@
-#!/bin/sh
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash --pure -p androidsdk curl libxslt
 
 # this shows a list of available xmls
 android list sdk | grep 'Parse XML:' | cut -f8- -d\  # | xargs -n 1 curl -O
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl
index d195511cdb3..54a165d21e4 100644
--- a/pkgs/development/mobile/androidenv/generate-platforms.xsl
+++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl
@@ -45,7 +45,7 @@ in
     };
     meta = {
       description = "<xsl:value-of select="sdk:description" />";
-<xsl:for-each select="sdk:desc-url">      url = <xsl:value-of select="." />;</xsl:for-each>
+<xsl:for-each select="sdk:desc-url">      homepage = <xsl:value-of select="." />;</xsl:for-each>
     };
   };
 </xsl:for-each>
diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index bdf3f545480..1caa6cebb14 100644
--- a/pkgs/development/mobile/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
@@ -295,8 +295,8 @@ in
   platform_25 = buildPlatform {
     name = "android-platform-7.1.1";
     src = fetchurl {
-      url = https://dl.google.com/android/repository/platform-25_r02.zip;
-      sha1 = "6057e54a04f1d141f36a2c8d20f2962b41a3183f";
+      url = https://dl.google.com/android/repository/platform-25_r03.zip;
+      sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8";
     };
     meta = {
       description = "Android SDK Platform 25";
@@ -304,4 +304,16 @@ in
     };
   };
 
+  platform_26 = buildPlatform {
+    name = "android-platform-8.0.0";
+    src = fetchurl {
+      url = https://dl.google.com/android/repository/platform-26_r01.zip;
+      sha1 = "33a4f9788bfd7123e712906b2d7e5d54a729e14a";
+    };
+    meta = {
+      description = "Android SDK Platform 26";
+      homepage = http://developer.android.com/sdk/;
+    };
+  };
+
 }
diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index 7bcc5f40769..a4903cd0d40 100644
--- a/pkgs/development/mobile/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
@@ -295,8 +295,8 @@ in
   platform_25 = buildPlatform {
     name = "android-platform-7.1.1";
     src = fetchurl {
-      url = https://dl.google.com/android/repository/platform-25_r02.zip;
-      sha1 = "6057e54a04f1d141f36a2c8d20f2962b41a3183f";
+      url = https://dl.google.com/android/repository/platform-25_r03.zip;
+      sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8";
     };
     meta = {
       description = "Android SDK Platform 25";
@@ -304,4 +304,16 @@ in
     };
   };
 
+  platform_26 = buildPlatform {
+    name = "android-platform-8.0.0";
+    src = fetchurl {
+      url = https://dl.google.com/android/repository/platform-26_r01.zip;
+      sha1 = "33a4f9788bfd7123e712906b2d7e5d54a729e14a";
+    };
+    meta = {
+      description = "Android SDK Platform 26";
+      homepage = http://developer.android.com/sdk/;
+    };
+  };
+
 }
diff --git a/pkgs/development/mobile/androidenv/repository-11.xml b/pkgs/development/mobile/androidenv/repository-11.xml
index e115f674790..9f46af93a88 100644
--- a/pkgs/development/mobile/androidenv/repository-11.xml
+++ b/pkgs/development/mobile/androidenv/repository-11.xml
@@ -15,7 +15,7 @@
  * limitations under the License.
 -->
 <sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<!--Generated on 2016-11-23 16:51:35.129300 with ADRT.-->
+	<!--Generated on 2017-06-07 21:04:43.441919 with ADRT.-->
 	<sdk:license id="android-sdk-license" type="text">Terms and Conditions
 
 This is the Android Software Development Kit License Agreement
@@ -296,39 +296,39 @@ This is the Android SDK Preview License Agreement (the &quot;License Agreement&q
 
 June 2014.</sdk:license>
 	<sdk:ndk>
-		<!--Generated from bid:3345770, branch:aosp-ndk-r13-release-->
+		<!--Generated from bid:4075724, branch:aosp-ndk-r15-release-->
 		<sdk:description>NDK</sdk:description>
-		<sdk:revision>13</sdk:revision>
+		<sdk:revision>15</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Wed Oct 12 22:27:26 2016.-->
-				<sdk:size>665967997</sdk:size>
-				<sdk:checksum type="sha1">71fe653a7bf5db08c3af154735b6ccbc12f0add5</sdk:checksum>
-				<sdk:url>android-ndk-r13b-darwin-x86_64.zip</sdk:url>
+				<!--Built on: Wed Jun  7 14:50:43 2017.-->
+				<sdk:size>959176682</sdk:size>
+				<sdk:checksum type="sha1">9dd0ff18d177ec75797b021a3ebd294362e8a41e</sdk:checksum>
+				<sdk:url>android-ndk-r15-darwin-x86_64.zip</sdk:url>
 				<sdk:host-os>macosx</sdk:host-os>
 				<sdk:host-bits>64</sdk:host-bits>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Wed Oct 12 22:27:48 2016.-->
-				<sdk:size>687311866</sdk:size>
-				<sdk:checksum type="sha1">0600157c4ddf50ec15b8a037cfc474143f718fd0</sdk:checksum>
-				<sdk:url>android-ndk-r13b-linux-x86_64.zip</sdk:url>
+				<!--Built on: Wed Jun  7 14:51:08 2017.-->
+				<sdk:size>973898016</sdk:size>
+				<sdk:checksum type="sha1">32b3115357ed798a8a48d7d589ffcb901693c745</sdk:checksum>
+				<sdk:url>android-ndk-r15-linux-x86_64.zip</sdk:url>
 				<sdk:host-os>linux</sdk:host-os>
 				<sdk:host-bits>64</sdk:host-bits>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Wed Oct 12 22:26:38 2016.-->
-				<sdk:size>620461544</sdk:size>
-				<sdk:checksum type="sha1">4eb1288b1d4134a9d6474eb247f0448808d52408</sdk:checksum>
-				<sdk:url>android-ndk-r13b-windows-x86.zip</sdk:url>
+				<!--Built on: Wed Jun  7 14:49:52 2017.-->
+				<sdk:size>783705009</sdk:size>
+				<sdk:checksum type="sha1">bf869b624f6d4778065d5d4703815b0c689069e1</sdk:checksum>
+				<sdk:url>android-ndk-r15-windows-x86.zip</sdk:url>
 				<sdk:host-os>windows</sdk:host-os>
 				<sdk:host-bits>32</sdk:host-bits>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Wed Oct 12 22:27:04 2016.-->
-				<sdk:size>681320123</sdk:size>
-				<sdk:checksum type="sha1">649d306559435c244cec5881b880318bb3dee53a</sdk:checksum>
-				<sdk:url>android-ndk-r13b-windows-x86_64.zip</sdk:url>
+				<!--Built on: Wed Jun  7 14:50:17 2017.-->
+				<sdk:size>848657615</sdk:size>
+				<sdk:checksum type="sha1">45d310443ceb5ff19a0dde139ee9b3404908c178</sdk:checksum>
+				<sdk:url>android-ndk-r15-windows-x86_64.zip</sdk:url>
 				<sdk:host-os>windows</sdk:host-os>
 				<sdk:host-bits>64</sdk:host-bits>
 			</sdk:archive>
@@ -336,17 +336,41 @@ June 2014.</sdk:license>
 		<sdk:uses-license ref="android-sdk-license"/>
 	</sdk:ndk>
 	<sdk:platform>
-		<!--Generated from bid:3485210, branch:git_nyc-mr1-sdk-dev-->
+		<!--Generated from bid:4062713, branch:git_oc-preview3-sdk-->
+		<sdk:version>8.0.0</sdk:version>
+		<sdk:api-level>26</sdk:api-level>
+		<sdk:description>Android SDK Platform 26</sdk:description>
+		<sdk:revision>1</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Fri Jun  2 13:22:35 2017.-->
+				<sdk:size>63467872</sdk:size>
+				<sdk:checksum type="sha1">33a4f9788bfd7123e712906b2d7e5d54a729e14a</sdk:checksum>
+				<sdk:url>platform-26_r01.zip</sdk:url>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+		<sdk:min-tools-rev>
+			<sdk:major>22</sdk:major>
+		</sdk:min-tools-rev>
+		<sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+		<sdk:layoutlib>
+			<sdk:api>15</sdk:api>
+			<sdk:revision>1</sdk:revision>
+		</sdk:layoutlib>
+	</sdk:platform>
+	<sdk:platform>
+		<!--Generated from bid:3544217, branch:git_nyc-mr1-sdk-dev-->
 		<sdk:version>7.1.1</sdk:version>
 		<sdk:api-level>25</sdk:api-level>
 		<sdk:description>Android SDK Platform 25</sdk:description>
-		<sdk:revision>2</sdk:revision>
+		<sdk:revision>3</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Mon Nov 14 23:49:40 2016.-->
-				<sdk:size>85434042</sdk:size>
-				<sdk:checksum type="sha1">6057e54a04f1d141f36a2c8d20f2962b41a3183f</sdk:checksum>
-				<sdk:url>platform-25_r02.zip</sdk:url>
+				<!--Built on: Mon Dec  5 10:12:38 2016.-->
+				<sdk:size>85424763</sdk:size>
+				<sdk:checksum type="sha1">00c2c5765e8988504be10a1eb66ed71fcdbd7fe8</sdk:checksum>
+				<sdk:url>platform-25_r03.zip</sdk:url>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
@@ -977,6 +1001,20 @@ June 2014.</sdk:license>
 		</sdk:layoutlib>
 	</sdk:platform>
 	<sdk:source>
+		<!--Generated from bid:3544217, branch:git_nyc-mr1-sdk-dev-->
+		<sdk:api-level>25</sdk:api-level>
+		<sdk:revision>1</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Mon Dec  5 10:12:27 2016.-->
+				<sdk:size>30822685</sdk:size>
+				<sdk:checksum type="sha1">bbc72efd1a9bad87cc507e308f0d29aad438c52c</sdk:checksum>
+				<sdk:url>sources-25_r01.zip</sdk:url>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+	</sdk:source>
+	<sdk:source>
 		<!--Generated from bid:3209611, branch:git_nyc-sdk-dev-->
 		<sdk:api-level>24</sdk:api-level>
 		<sdk:revision>1</sdk:revision>
@@ -1132,6 +1170,168 @@ June 2014.</sdk:license>
 		<sdk:uses-license ref="android-sdk-license"/>
 	</sdk:source>
 	<sdk:build-tool>
+		<!--Generated from bid:4062713, branch:git_oc-preview3-sdk-->
+		<sdk:revision>
+			<sdk:major>26</sdk:major>
+			<sdk:minor>0</sdk:minor>
+			<sdk:micro>0</sdk:micro>
+		</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Fri Jun  2 13:22:18 2017.-->
+				<sdk:size>53854197</sdk:size>
+				<sdk:checksum type="sha1">1cbe72929876f8a872ab1f1b1040a9f720261f59</sdk:checksum>
+				<sdk:url>build-tools_r26-linux.zip</sdk:url>
+				<sdk:host-os>linux</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Fri Jun  2 13:22:15 2017.-->
+				<sdk:size>53010814</sdk:size>
+				<sdk:checksum type="sha1">d01a1aeca03747245f1f5936b3cb01759c66d086</sdk:checksum>
+				<sdk:url>build-tools_r26-macosx.zip</sdk:url>
+				<sdk:host-os>macosx</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Fri Jun  2 13:22:13 2017.-->
+				<sdk:size>54681641</sdk:size>
+				<sdk:checksum type="sha1">896ebd31117c09db220f7a3116cc0e5121c78b9d</sdk:checksum>
+				<sdk:url>build-tools_r26-windows.zip</sdk:url>
+				<sdk:host-os>windows</sdk:host-os>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+	</sdk:build-tool>
+	<sdk:build-tool>
+		<!--Generated from bid:4004883, branch:git_oc-preview2-sdk-->
+		<sdk:revision>
+			<sdk:major>26</sdk:major>
+			<sdk:minor>0</sdk:minor>
+			<sdk:micro>0</sdk:micro>
+			<sdk:preview>2</sdk:preview>
+		</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Fri May 12 23:05:09 2017.-->
+				<sdk:size>53847560</sdk:size>
+				<sdk:checksum type="sha1">629bbd8d2e415bf64871fb0b4c0540fd6d0347a0</sdk:checksum>
+				<sdk:url>build-tools_r26-rc2-linux.zip</sdk:url>
+				<sdk:host-os>linux</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Fri May 12 23:05:07 2017.-->
+				<sdk:size>53003874</sdk:size>
+				<sdk:checksum type="sha1">cb1eb738a1f7003025af267a9b8cc2d259533c70</sdk:checksum>
+				<sdk:url>build-tools_r26-rc2-macosx.zip</sdk:url>
+				<sdk:host-os>macosx</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Fri May 12 23:05:05 2017.-->
+				<sdk:size>54678375</sdk:size>
+				<sdk:checksum type="sha1">ddaba77db0557a98f6330fbd579ad0bd12cbb152</sdk:checksum>
+				<sdk:url>build-tools_r26-rc2-windows.zip</sdk:url>
+				<sdk:host-os>windows</sdk:host-os>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-preview-license"/>
+	</sdk:build-tool>
+	<sdk:build-tool>
+		<!--Generated from bid:3821161, branch:git_oc-preview-release-->
+		<sdk:revision>
+			<sdk:major>26</sdk:major>
+			<sdk:minor>0</sdk:minor>
+			<sdk:micro>0</sdk:micro>
+			<sdk:preview>1</sdk:preview>
+		</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Tue Mar 21 10:10:45 2017.-->
+				<sdk:size>53648603</sdk:size>
+				<sdk:checksum type="sha1">8cd6388dc96db2d7a49d06159cf990d3bbc78d04</sdk:checksum>
+				<sdk:url>build-tools_r26-rc1-linux.zip</sdk:url>
+				<sdk:host-os>linux</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Tue Mar 21 10:10:34 2017.-->
+				<sdk:size>52821129</sdk:size>
+				<sdk:checksum type="sha1">5c5a1de7d5f4f000d36ae349229fe0be846d6137</sdk:checksum>
+				<sdk:url>build-tools_r26-rc1-macosx.zip</sdk:url>
+				<sdk:host-os>macosx</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Tue Mar 21 10:10:25 2017.-->
+				<sdk:size>54379108</sdk:size>
+				<sdk:checksum type="sha1">43c2ddad3b67a5c33712ae14331a60673e69be91</sdk:checksum>
+				<sdk:url>build-tools_r26-rc1-windows.zip</sdk:url>
+				<sdk:host-os>windows</sdk:host-os>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-preview-license"/>
+	</sdk:build-tool>
+	<sdk:build-tool>
+		<!--Generated from bid:3907386, branch:git_nyc-mr1-sdk-dev-->
+		<sdk:revision>
+			<sdk:major>25</sdk:major>
+			<sdk:minor>0</sdk:minor>
+			<sdk:micro>3</sdk:micro>
+		</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Thu Apr 13 13:27:23 2017.-->
+				<sdk:size>50757258</sdk:size>
+				<sdk:checksum type="sha1">db95f3a0ae376534d4d69f4cdb6fad20649f3509</sdk:checksum>
+				<sdk:url>build-tools_r25.0.3-linux.zip</sdk:url>
+				<sdk:host-os>linux</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Thu Apr 13 13:27:21 2017.-->
+				<sdk:size>50545085</sdk:size>
+				<sdk:checksum type="sha1">160d2fefb5ce68e443427fc30a793a703b63e26e</sdk:checksum>
+				<sdk:url>build-tools_r25.0.3-macosx.zip</sdk:url>
+				<sdk:host-os>macosx</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Thu Apr 13 13:27:19 2017.-->
+				<sdk:size>51337442</sdk:size>
+				<sdk:checksum type="sha1">1edcb109ae5133aebfed573cf0bc84e0c353c28d</sdk:checksum>
+				<sdk:url>build-tools_r25.0.3-windows.zip</sdk:url>
+				<sdk:host-os>windows</sdk:host-os>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+	</sdk:build-tool>
+	<sdk:build-tool>
+		<!--Generated from bid:3544217, branch:git_nyc-mr1-sdk-dev-->
+		<sdk:revision>
+			<sdk:major>25</sdk:major>
+			<sdk:minor>0</sdk:minor>
+			<sdk:micro>2</sdk:micro>
+		</sdk:revision>
+		<sdk:archives>
+			<sdk:archive>
+				<!--Built on: Mon Dec  5 10:11:59 2016.-->
+				<sdk:size>49880329</sdk:size>
+				<sdk:checksum type="sha1">ff953c0177e317618fda40516f3e9d95fd43c7ae</sdk:checksum>
+				<sdk:url>build-tools_r25.0.2-linux.zip</sdk:url>
+				<sdk:host-os>linux</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Mon Dec  5 10:11:57 2016.-->
+				<sdk:size>49667185</sdk:size>
+				<sdk:checksum type="sha1">12a5204bb3b6e39437535469fde7ddf42da46b16</sdk:checksum>
+				<sdk:url>build-tools_r25.0.2-macosx.zip</sdk:url>
+				<sdk:host-os>macosx</sdk:host-os>
+			</sdk:archive>
+			<sdk:archive>
+				<!--Built on: Mon Dec  5 10:11:55 2016.-->
+				<sdk:size>50458908</sdk:size>
+				<sdk:checksum type="sha1">2fee3c0704d6ecc480570450d8b8069b2c4a2dd4</sdk:checksum>
+				<sdk:url>build-tools_r25.0.2-windows.zip</sdk:url>
+				<sdk:host-os>windows</sdk:host-os>
+			</sdk:archive>
+		</sdk:archives>
+		<sdk:uses-license ref="android-sdk-license"/>
+	</sdk:build-tool>
+	<sdk:build-tool>
 		<!--Generated from bid:3485210, branch:git_nyc-mr1-sdk-dev-->
 		<sdk:revision>
 			<sdk:major>25</sdk:major>
@@ -2043,64 +2243,64 @@ June 2014.</sdk:license>
 		<sdk:uses-license ref="android-sdk-license"/>
 	</sdk:build-tool>
 	<sdk:platform-tool>
-		<!--Generated from bid:3485210, branch:git_nyc-mr1-sdk-dev-->
+		<!--Generated from bid:4062713a, branch:git_oc-preview3-sdk-->
 		<sdk:revision>
-			<sdk:major>25</sdk:major>
+			<sdk:major>26</sdk:major>
 			<sdk:minor>0</sdk:minor>
-			<sdk:micro>1</sdk:micro>
+			<sdk:micro>0</sdk:micro>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Mon Nov 14 23:49:26 2016.-->
-				<sdk:size>3916151</sdk:size>
-				<sdk:checksum type="sha1">8e461a2c76717824d1d8e91af68216c9f230a373</sdk:checksum>
-				<sdk:url>platform-tools_r25.0.1-linux.zip</sdk:url>
-				<sdk:host-os>linux</sdk:host-os>
+				<!--Built on: Fri Jun  2 13:22:20 2017.-->
+				<sdk:size>7771750</sdk:size>
+				<sdk:checksum type="sha1">e75b6137dc444f777eb02f44a6d9819b3aabff82</sdk:checksum>
+				<sdk:url>platform-tools_r26.0.0-darwin.zip</sdk:url>
+				<sdk:host-os>macosx</sdk:host-os>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Mon Nov 14 23:49:25 2016.-->
-				<sdk:size>3732924</sdk:size>
-				<sdk:checksum type="sha1">96abc8638bf9f65435bc0ab641cc4a3ff753eed5</sdk:checksum>
-				<sdk:url>platform-tools_r25.0.1-macosx.zip</sdk:url>
-				<sdk:host-os>macosx</sdk:host-os>
+				<!--Built on: Fri Jun  2 13:22:19 2017.-->
+				<sdk:size>7859155</sdk:size>
+				<sdk:checksum type="sha1">00de8a6631405b617c10f68cd11ff2e1cd528e23</sdk:checksum>
+				<sdk:url>platform-tools_r26.0.0-linux.zip</sdk:url>
+				<sdk:host-os>linux</sdk:host-os>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Mon Nov 14 23:49:25 2016.-->
-				<sdk:size>3573485</sdk:size>
-				<sdk:checksum type="sha1">75249224c12528329a151dfbc591509168ef6efd</sdk:checksum>
-				<sdk:url>platform-tools_r25.0.1-windows.zip</sdk:url>
+				<!--Built on: Fri Jun  2 13:22:20 2017.-->
+				<sdk:size>7511554</sdk:size>
+				<sdk:checksum type="sha1">a4128ebc3d1b6372d981810920e3fa01637f891a</sdk:checksum>
+				<sdk:url>platform-tools_r26.0.0-windows.zip</sdk:url>
 				<sdk:host-os>windows</sdk:host-os>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
 	</sdk:platform-tool>
 	<sdk:tool>
-		<!--Generated from bid:3470232, branch:aosp-emu-2.2-release-->
+		<!--Generated from bid:3567187, branch:aosp-emu-2.2-release-->
 		<sdk:revision>
 			<sdk:major>25</sdk:major>
 			<sdk:minor>2</sdk:minor>
-			<sdk:micro>3</sdk:micro>
+			<sdk:micro>5</sdk:micro>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Fri Nov 11 08:51:34 2016.-->
-				<sdk:size>277861433</sdk:size>
-				<sdk:checksum type="sha1">aafe7f28ac51549784efc2f3bdfc620be8a08213</sdk:checksum>
-				<sdk:url>tools_r25.2.3-linux.zip</sdk:url>
+				<!--Built on: Mon Dec 12 17:20:14 2016.-->
+				<sdk:size>277894900</sdk:size>
+				<sdk:checksum type="sha1">72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1</sdk:checksum>
+				<sdk:url>tools_r25.2.5-linux.zip</sdk:url>
 				<sdk:host-os>linux</sdk:host-os>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Fri Nov 11 08:51:29 2016.-->
-				<sdk:size>200496727</sdk:size>
-				<sdk:checksum type="sha1">0e88c0bdb8f8ee85cce248580173e033a1bbc9cb</sdk:checksum>
-				<sdk:url>tools_r25.2.3-macosx.zip</sdk:url>
+				<!--Built on: Mon Dec 12 17:20:09 2016.-->
+				<sdk:size>200529982</sdk:size>
+				<sdk:checksum type="sha1">d2168d963ac5b616e3d3ddaf21511d084baf3659</sdk:checksum>
+				<sdk:url>tools_r25.2.5-macosx.zip</sdk:url>
 				<sdk:host-os>macosx</sdk:host-os>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Fri Nov 11 08:51:26 2016.-->
-				<sdk:size>306745639</sdk:size>
-				<sdk:checksum type="sha1">b965decb234ed793eb9574bad8791c50ca574173</sdk:checksum>
-				<sdk:url>tools_r25.2.3-windows.zip</sdk:url>
+				<!--Built on: Mon Dec 12 17:20:05 2016.-->
+				<sdk:size>306785944</sdk:size>
+				<sdk:checksum type="sha1">a7f7ebeae1c8d8f62d3a8466e9c81baee7cc31ca</sdk:checksum>
+				<sdk:url>tools_r25.2.5-windows.zip</sdk:url>
 				<sdk:host-os>windows</sdk:host-os>
 			</sdk:archive>
 		</sdk:archives>
diff --git a/pkgs/development/mobile/androidenv/sources.nix b/pkgs/development/mobile/androidenv/sources.nix
index 5bb7409c2c4..e4fe3cf0ff5 100644
--- a/pkgs/development/mobile/androidenv/sources.nix
+++ b/pkgs/development/mobile/androidenv/sources.nix
@@ -137,4 +137,15 @@ in
     };
   };
 
+  source_25 = buildSource {
+    name = "android-source-25";
+    src = fetchurl {
+      url = https://dl.google.com/android/repository/sources-25_r01.zip;
+      sha1 = "bbc72efd1a9bad87cc507e308f0d29aad438c52c";
+    };
+    meta = {
+      description = "Source code for Android API 25";
+    };
+  };
+
 }
diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml
index 807d4976296..8ea0cfb5b80 100644
--- a/pkgs/development/mobile/androidenv/sys-img.xml
+++ b/pkgs/development/mobile/androidenv/sys-img.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<!--Generated on 2016-11-23 16:51:35.431708 with ADRT.-->
+	<!--Generated on 2017-06-07 21:04:43.770481 with ADRT.-->
 	<sdk:license id="android-sdk-license" type="text">Terms and Conditions
 
 This is the Android Software Development Kit License Agreement
@@ -831,24 +831,6 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS ISâ
 		<sdk:tag-id>default</sdk:tag-id>
 	</sdk:system-image>
 	<sdk:system-image>
-		<!--Generated from bid:3479480, branch:git_nyc-preview-release-->
-		<sdk:api-level>25</sdk:api-level>
-		<sdk:description>Google APIs Intel x86 Atom System Image</sdk:description>
-		<sdk:revision>3</sdk:revision>
-		<sdk:archives>
-			<sdk:archive>
-				<!--Built on: Mon Nov 14 16:41:48 2016.-->
-				<sdk:size>703131759</sdk:size>
-				<sdk:checksum type="sha1">7dd19cfee4e43a1f60e0f5f058404d92d9544b33</sdk:checksum>
-				<sdk:url>x86-25_r03.zip</sdk:url>
-			</sdk:archive>
-		</sdk:archives>
-		<sdk:uses-license ref="android-sdk-preview-license"/>
-		<sdk:abi>x86</sdk:abi>
-		<sdk:tag-id>google_apis</sdk:tag-id>
-		<sdk:tag-display>Google APIs</sdk:tag-display>
-	</sdk:system-image>
-	<sdk:system-image>
 		<!--Generated from bid:3079185, branch:git_lmp-emu-release-->
 		<sdk:api-level>21</sdk:api-level>
 		<sdk:description>Intel x86 Atom_64 System Image</sdk:description>
@@ -916,22 +898,4 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS ISâ
 		<sdk:abi>x86_64</sdk:abi>
 		<sdk:tag-id>default</sdk:tag-id>
 	</sdk:system-image>
-	<sdk:system-image>
-		<!--Generated from bid:3479480, branch:git_nyc-preview-release-->
-		<sdk:api-level>25</sdk:api-level>
-		<sdk:description>Google APIs Intel x86 Atom_64 System Image</sdk:description>
-		<sdk:revision>3</sdk:revision>
-		<sdk:archives>
-			<sdk:archive>
-				<!--Built on: Mon Nov 14 16:42:52 2016.-->
-				<sdk:size>912938750</sdk:size>
-				<sdk:checksum type="sha1">4593ee04811df21c339f3374fc5917843db06f8d</sdk:checksum>
-				<sdk:url>x86_64-25_r03.zip</sdk:url>
-			</sdk:archive>
-		</sdk:archives>
-		<sdk:uses-license ref="android-sdk-preview-license"/>
-		<sdk:abi>x86_64</sdk:abi>
-		<sdk:tag-id>google_apis</sdk:tag-id>
-		<sdk:tag-display>Google APIs</sdk:tag-display>
-	</sdk:system-image>
 </sdk:sdk-sys-img>
diff --git a/pkgs/development/node-packages/node-packages-v4.nix b/pkgs/development/node-packages/node-packages-v4.nix
index 50104eaa26e..bbc0f2b8ad0 100644
--- a/pkgs/development/node-packages/node-packages-v4.nix
+++ b/pkgs/development/node-packages/node-packages-v4.nix
@@ -67,13 +67,13 @@ let
         sha1 = "633c2c83e3da42a502f52466022480f4208261de";
       };
     };
-    "minimatch-3.0.3" = {
+    "minimatch-3.0.4" = {
       name = "minimatch";
       packageName = "minimatch";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";
-        sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774";
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
       };
     };
     "once-1.4.0" = {
@@ -103,22 +103,22 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "brace-expansion-1.1.7" = {
+    "brace-expansion-1.1.8" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
-      version = "1.1.7";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz";
-        sha1 = "3effc3c50e000531fb720eaff80f0ae8ef23cf59";
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
+        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
       };
     };
-    "balanced-match-0.4.2" = {
+    "balanced-match-1.0.0" = {
       name = "balanced-match";
       packageName = "balanced-match";
-      version = "0.4.2";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
-        sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
     "concat-map-0.0.1" = {
@@ -454,13 +454,13 @@ let
         sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde";
       };
     };
-    "time-stamp-1.0.1" = {
+    "time-stamp-1.1.0" = {
       name = "time-stamp";
       packageName = "time-stamp";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz";
-        sha1 = "9f4bd23559c9365966f3302dbba2b07c6b99b151";
+        url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz";
+        sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3";
       };
     };
     "glogg-1.0.0" = {
@@ -634,13 +634,13 @@ let
         sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
       };
     };
-    "readable-stream-2.2.9" = {
+    "readable-stream-2.2.11" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.2.9";
+      version = "2.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz";
-        sha1 = "cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz";
+        sha1 = "0796b31f8d7688007ff0b93a8088d34aa17c0f72";
       };
     };
     "xtend-4.0.1" = {
@@ -652,15 +652,6 @@ let
         sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
       };
     };
-    "buffer-shims-1.0.0" = {
-      name = "buffer-shims";
-      packageName = "buffer-shims";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
-        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
-      };
-    };
     "isarray-1.0.0" = {
       name = "isarray";
       packageName = "isarray";
@@ -679,13 +670,22 @@ let
         sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
       };
     };
-    "string_decoder-1.0.0" = {
+    "safe-buffer-5.0.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz";
+        sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
+      };
+    };
+    "string_decoder-1.0.2" = {
       name = "string_decoder";
       packageName = "string_decoder";
-      version = "1.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz";
-        sha1 = "f06f41157b664d86069f84bdbdc9b0d8ab281667";
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz";
+        sha1 = "b29e1f4e1125fa97a10382b8a533737b7491e179";
       };
     };
     "util-deprecate-1.0.2" = {
@@ -904,13 +904,13 @@ let
         sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
       };
     };
-    "kind-of-3.2.0" = {
+    "kind-of-3.2.2" = {
       name = "kind-of";
       packageName = "kind-of";
-      version = "3.2.0";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.0.tgz";
-        sha1 = "b58abe4d5c044ad33726a8c1525b48cf891bff07";
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
       };
     };
     "normalize-path-2.1.1" = {
@@ -1012,13 +1012,13 @@ let
         sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
       };
     };
-    "randomatic-1.1.6" = {
+    "randomatic-1.1.7" = {
       name = "randomatic";
       packageName = "randomatic";
-      version = "1.1.6";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz";
-        sha1 = "110dcabff397e9dcff7c0789ccc0a49adf1ec5bb";
+        url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz";
+        sha1 = "c7abe9cc8b87c0baa876b19fde83fd464797e38c";
       };
     };
     "repeat-string-1.6.1" = {
@@ -1030,13 +1030,22 @@ let
         sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
       };
     };
-    "is-posix-bracket-0.1.1" = {
-      name = "is-posix-bracket";
-      packageName = "is-posix-bracket";
-      version = "0.1.1";
+    "is-number-3.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
-        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+        url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    };
+    "kind-of-4.0.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
       };
     };
     "is-buffer-1.1.5" = {
@@ -1048,13 +1057,22 @@ let
         sha1 = "1f3b26ef613b214b88cbca23cc6c01d87961eecc";
       };
     };
-    "remove-trailing-separator-1.0.1" = {
+    "is-posix-bracket-0.1.1" = {
+      name = "is-posix-bracket";
+      packageName = "is-posix-bracket";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
+        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+      };
+    };
+    "remove-trailing-separator-1.0.2" = {
       name = "remove-trailing-separator";
       packageName = "remove-trailing-separator";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz";
-        sha1 = "615ebb96af559552d4bf4057c8436d486ab63cc4";
+        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz";
+        sha1 = "69b062d978727ad14dc6b56ba4ab772fd8d70511";
       };
     };
     "for-own-0.1.5" = {
@@ -1093,13 +1111,13 @@ let
         sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
       };
     };
-    "is-dotfile-1.0.2" = {
+    "is-dotfile-1.0.3" = {
       name = "is-dotfile";
       packageName = "is-dotfile";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz";
-        sha1 = "2c132383f39199f8edc268ca01b9b007d205cc4d";
+        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz";
+        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
       };
     };
     "glob-parent-2.0.0" = {
@@ -1642,13 +1660,13 @@ let
         sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171";
       };
     };
-    "glob-7.1.1" = {
+    "glob-7.1.2" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.1";
+      version = "7.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";
-        sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha1 = "c19c9df9a028702d678612384a6552404c636d15";
       };
     };
     "graceful-fs-4.1.11" = {
@@ -1660,13 +1678,13 @@ let
         sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
       };
     };
-    "npmlog-4.0.2" = {
+    "npmlog-4.1.0" = {
       name = "npmlog";
       packageName = "npmlog";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz";
-        sha1 = "d03950e0e78ce1527ba26d2a7592e9348ac3e75f";
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz";
+        sha1 = "dc59bee85f64f00ed424efb2af0783df25d1c0b5";
       };
     };
     "osenv-0.1.4" = {
@@ -1768,13 +1786,13 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
-    "aproba-1.1.1" = {
+    "aproba-1.1.2" = {
       name = "aproba";
       packageName = "aproba";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz";
-        sha1 = "95d3600f07710aa0e9298c726ad5ecf2eacbabab";
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz";
+        sha1 = "45c6629094de4e96f693ef7eab74ae079c240fc1";
       };
     };
     "has-unicode-2.0.1" = {
@@ -1813,13 +1831,13 @@ let
         sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
       };
     };
-    "wide-align-1.1.0" = {
+    "wide-align-1.1.2" = {
       name = "wide-align";
       packageName = "wide-align";
-      version = "1.1.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz";
-        sha1 = "40edde802a71fea1f070da3e62dcda2e7add96ad";
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz";
+        sha1 = "571e0f1b0604636ebc0dfc21b0339bbe31341710";
       };
     };
     "code-point-at-1.1.0" = {
@@ -2002,13 +2020,13 @@ let
         sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
       };
     };
-    "safe-buffer-5.0.1" = {
+    "safe-buffer-5.1.0" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz";
-        sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz";
+        sha1 = "fe4c8460397f9eaaaa58e73be46273408a45e223";
       };
     };
     "stringstream-0.0.5" = {
@@ -2164,13 +2182,13 @@ let
         sha1 = "a3b87e40298d8c380552d8cc7628a0bb95a22918";
       };
     };
-    "sshpk-1.13.0" = {
+    "sshpk-1.13.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.13.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz";
-        sha1 = "ff2a3e4fd04497555fed97b39a0fd82fafb3a33c";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
+        sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
       };
     };
     "assert-plus-1.0.0" = {
@@ -2254,15 +2272,6 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "jodid25519-1.0.2" = {
-      name = "jodid25519";
-      packageName = "jodid25519";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
-        sha1 = "06d4912255093419477d425633606e0e90782967";
-      };
-    };
     "ecc-jsbn-0.1.1" = {
       name = "ecc-jsbn";
       packageName = "ecc-jsbn";
@@ -2326,22 +2335,22 @@ let
         sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
       };
     };
-    "debug-2.6.6" = {
+    "debug-2.6.8" = {
       name = "debug";
       packageName = "debug";
-      version = "2.6.6";
+      version = "2.6.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.6.tgz";
-        sha1 = "a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a";
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz";
+        sha1 = "e731531ca2ede27d188222427da17821d68ff4fc";
       };
     };
-    "express-4.15.2" = {
+    "express-4.15.3" = {
       name = "express";
       packageName = "express";
-      version = "4.15.2";
+      version = "4.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.15.2.tgz";
-        sha1 = "af107fc148504457f2dca9a6f2571d7129b97b35";
+        url = "https://registry.npmjs.org/express/-/express-4.15.3.tgz";
+        sha1 = "bab65d0f03aa80c358408972fc700f916944b662";
       };
     };
     "rc-1.2.1" = {
@@ -2353,13 +2362,13 @@ let
         sha1 = "2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95";
       };
     };
-    "serve-favicon-2.4.2" = {
+    "serve-favicon-2.4.3" = {
       name = "serve-favicon";
       packageName = "serve-favicon";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.4.2.tgz";
-        sha1 = "aed1d8de67d5b83192cf31fdf53d2ea29464363e";
+        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.4.3.tgz";
+        sha1 = "5986b17b0502642b641c21f818b1acce32025d23";
       };
     };
     "strong-data-uri-1.0.4" = {
@@ -2569,13 +2578,13 @@ let
         sha1 = "17eb2807987f76952e9c0485fc311d06a826a2e0";
       };
     };
-    "big-integer-1.6.22" = {
+    "big-integer-1.6.23" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.22";
+      version = "1.6.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.22.tgz";
-        sha1 = "487c95fce886022ea48ff5f19e388932df46dd2e";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.23.tgz";
+        sha1 = "e85d508220c74e3f43a4ce72eed51f3da4db94d1";
       };
     };
     "camelcase-keys-2.1.0" = {
@@ -2893,13 +2902,13 @@ let
         sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
       };
     };
-    "ms-0.7.3" = {
+    "ms-2.0.0" = {
       name = "ms";
       packageName = "ms";
-      version = "0.7.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz";
-        sha1 = "708155a5e44e33f5fd0fc53e81d0d40a91be1fff";
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
     "accepts-1.3.3" = {
@@ -2956,13 +2965,13 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "debug-2.6.1" = {
+    "debug-2.6.7" = {
       name = "debug";
       packageName = "debug";
-      version = "2.6.1";
+      version = "2.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz";
-        sha1 = "79855090ba2c4e3115cc7d8769491d58f0491351";
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz";
+        sha1 = "92bad1f6d05bbb6bba22cca88bcd0ec894c2861e";
       };
     };
     "depd-1.1.0" = {
@@ -3001,13 +3010,13 @@ let
         sha1 = "6f631aef336d6c46362b51764044ce216be3c051";
       };
     };
-    "finalhandler-1.0.2" = {
+    "finalhandler-1.0.3" = {
       name = "finalhandler";
       packageName = "finalhandler";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.2.tgz";
-        sha1 = "d0e36f9dbc557f2de14423df6261889e9d60c93a";
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz";
+        sha1 = "ef47e77950e999780e86022a560e3217e0d0cc89";
       };
     };
     "fresh-0.5.0" = {
@@ -3082,22 +3091,22 @@ let
         sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
       };
     };
-    "send-0.15.1" = {
+    "send-0.15.3" = {
       name = "send";
       packageName = "send";
-      version = "0.15.1";
+      version = "0.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.15.1.tgz";
-        sha1 = "8a02354c26e6f5cca700065f5f0cdeba90ec7b5f";
+        url = "https://registry.npmjs.org/send/-/send-0.15.3.tgz";
+        sha1 = "5013f9f99023df50d1bd9892c19e3defd1d53309";
       };
     };
-    "serve-static-1.12.1" = {
+    "serve-static-1.12.3" = {
       name = "serve-static";
       packageName = "serve-static";
-      version = "1.12.1";
+      version = "1.12.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.12.1.tgz";
-        sha1 = "7443a965e3ced647aceb5639fa06bf4d1bbe0039";
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz";
+        sha1 = "9f4ba19e2f3030c547f8af99107838ec38d5b1e2";
       };
     };
     "setprototypeof-1.0.3" = {
@@ -3154,24 +3163,6 @@ let
         sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
       };
     };
-    "ms-0.7.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
-        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
-      };
-    };
-    "debug-2.6.4" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.4.tgz";
-        sha1 = "7586a9b3c39741c0282ae33445c4e8ac74734fe0";
-      };
-    };
     "unpipe-1.0.0" = {
       name = "unpipe";
       packageName = "unpipe";
@@ -3244,13 +3235,13 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
-    "deep-extend-0.4.1" = {
+    "deep-extend-0.4.2" = {
       name = "deep-extend";
       packageName = "deep-extend";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz";
-        sha1 = "efe4113d08085f4e6f9687759810f807469e2253";
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz";
+        sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
       };
     };
     "strip-json-comments-2.0.1" = {
@@ -3262,15 +3253,6 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
-    "ms-1.0.0" = {
-      name = "ms";
-      packageName = "ms";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-1.0.0.tgz";
-        sha1 = "59adcd22edc543f7b5381862d31387b1f4bc9473";
-      };
-    };
     "truncate-1.0.5" = {
       name = "truncate";
       packageName = "truncate";
@@ -3289,13 +3271,13 @@ let
         sha1 = "e4ff34e6c95fdfb5aecc08de6596f43605a7db45";
       };
     };
-    "node-pre-gyp-0.6.34" = {
+    "node-pre-gyp-0.6.36" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
-      version = "0.6.34";
+      version = "0.6.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz";
-        sha1 = "94ad1c798a11d7fc67381b50d47f8cc18d9799f7";
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz";
+        sha1 = "db604112cb74e0d477554e9b505b17abddfab786";
       };
     };
     "nopt-4.0.1" = {
@@ -3442,15 +3424,6 @@ let
         sha1 = "5de60415bda071bb37127854c864f41b23254539";
       };
     };
-    "asap-2.0.5" = {
-      name = "asap";
-      packageName = "asap";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz";
-        sha1 = "522765b50c3510490e52d7dcfe085ef9ba96958f";
-      };
-    };
     "bluebird-3.5.0" = {
       name = "bluebird";
       packageName = "bluebird";
@@ -3460,6 +3433,15 @@ let
         sha1 = "791420d7f551eea2897453a8a77653f96606d67c";
       };
     };
+    "cacache-9.2.8" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "9.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-9.2.8.tgz";
+        sha1 = "2e38b51161a3904e3b9fb35c0869b751f7d0bcf4";
+      };
+    };
     "call-limit-1.1.0" = {
       name = "call-limit";
       packageName = "call-limit";
@@ -3505,6 +3487,15 @@ let
         sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
       };
     };
+    "detect-indent-5.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz";
+        sha1 = "3871cc0a6a002e8c3e5b3cf7f336264675f06b9d";
+      };
+    };
     "dezalgo-1.0.3" = {
       name = "dezalgo";
       packageName = "dezalgo";
@@ -3541,13 +3532,13 @@ let
         sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
       };
     };
-    "fstream-npm-1.2.0" = {
+    "fstream-npm-1.2.1" = {
       name = "fstream-npm";
       packageName = "fstream-npm";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.0.tgz";
-        sha1 = "d2c3c89101346982d64e57091c38487bda916fce";
+        url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz";
+        sha1 = "08c4a452f789dcbac4c89a4563c902b2c862fd5b";
       };
     };
     "iferr-0.1.5" = {
@@ -3559,13 +3550,13 @@ let
         sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
       };
     };
-    "init-package-json-1.9.6" = {
+    "init-package-json-1.10.1" = {
       name = "init-package-json";
       packageName = "init-package-json";
-      version = "1.9.6";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.9.6.tgz";
-        sha1 = "789fc2b74466a4952b9ea77c0575bc78ebd60a61";
+        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.1.tgz";
+        sha1 = "cd873a167796befb99612b28762a0b6393fd8f6a";
       };
     };
     "lazy-property-1.0.0" = {
@@ -3631,6 +3622,15 @@ let
         sha1 = "3cd4574a00b67bae373a94b748772640507b7aac";
       };
     };
+    "lru-cache-4.0.2" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz";
+        sha1 = "1d17679c069cda5d040991a09dbc2c0db377e55e";
+      };
+    };
     "mississippi-1.3.0" = {
       name = "mississippi";
       packageName = "mississippi";
@@ -3649,22 +3649,13 @@ let
         sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
       };
     };
-    "node-gyp-3.6.1" = {
+    "node-gyp-3.6.2" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "3.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.1.tgz";
-        sha1 = "19561067ff185464aded478212681f47fd578cbc";
-      };
-    };
-    "normalize-git-url-3.0.2" = {
-      name = "normalize-git-url";
-      packageName = "normalize-git-url";
-      version = "3.0.2";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.2.tgz";
-        sha1 = "8e5f14be0bdaedb73e07200310aa416c27350fc4";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
+        sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
       };
     };
     "npm-cache-filename-1.0.2" = {
@@ -3685,31 +3676,31 @@ let
         sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7";
       };
     };
-    "npm-package-arg-4.2.1" = {
+    "npm-package-arg-5.1.2" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
-      version = "4.2.1";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz";
-        sha1 = "593303fdea85f7c422775f17f9eb7670f680e3ec";
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz";
+        sha1 = "fb18d17bb61e60900d6312619919bd753755ab37";
       };
     };
-    "npm-registry-client-8.1.1" = {
+    "npm-registry-client-8.3.0" = {
       name = "npm-registry-client";
       packageName = "npm-registry-client";
-      version = "8.1.1";
+      version = "8.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.1.1.tgz";
-        sha1 = "831476455423ca0a265c6ffdb6100fcc042b36cf";
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.3.0.tgz";
+        sha1 = "a86d5b1f97945de8df73c471d33602d5cd15130f";
       };
     };
-    "npm-user-validate-0.1.5" = {
+    "npm-user-validate-1.0.0" = {
       name = "npm-user-validate";
       packageName = "npm-user-validate";
-      version = "0.1.5";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.5.tgz";
-        sha1 = "52465d50c2d20294a57125b996baedbf56c5004b";
+        url = "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz";
+        sha1 = "8ceca0f5cea04d4e93519ef72d0557a75122e951";
       };
     };
     "opener-1.4.3" = {
@@ -3721,6 +3712,15 @@ let
         sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
       };
     };
+    "pacote-2.7.36" = {
+      name = "pacote";
+      packageName = "pacote";
+      version = "2.7.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pacote/-/pacote-2.7.36.tgz";
+        sha1 = "837734ad2e545123b8b8fe5caa5076c92b5c7b5c";
+      };
+    };
     "path-is-inside-1.0.2" = {
       name = "path-is-inside";
       packageName = "path-is-inside";
@@ -3730,6 +3730,15 @@ let
         sha1 = "365417dede44430d1c11af61027facf074bdfc53";
       };
     };
+    "promise-inflight-1.0.1" = {
+      name = "promise-inflight";
+      packageName = "promise-inflight";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    };
     "read-1.0.7" = {
       name = "read";
       packageName = "read";
@@ -3766,22 +3775,13 @@ let
         sha1 = "f93a64e641529df68a08c64de46389e8a3f88845";
       };
     };
-    "read-package-tree-5.1.5" = {
+    "read-package-tree-5.1.6" = {
       name = "read-package-tree";
       packageName = "read-package-tree";
-      version = "5.1.5";
+      version = "5.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.5.tgz";
-        sha1 = "ace7e6381c7684f970aaa98fc7c5d2b666addab6";
-      };
-    };
-    "realize-package-specifier-3.0.3" = {
-      name = "realize-package-specifier";
-      packageName = "realize-package-specifier";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.3.tgz";
-        sha1 = "d0def882952b8de3f67eba5e91199661271f41f4";
+        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz";
+        sha1 = "4f03e83d0486856fb60d97c94882841c2a7b1b7a";
       };
     };
     "retry-0.10.1" = {
@@ -3829,6 +3829,15 @@ let
         sha1 = "c7794c7e077880052ff71a8d4a2dbb4a9a638ac7";
       };
     };
+    "ssri-4.1.6" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "4.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz";
+        sha1 = "0cb49b6ac84457e7bdd466cb730c3cb623e9a25b";
+      };
+    };
     "text-table-0.2.0" = {
       name = "text-table";
       packageName = "text-table";
@@ -3874,13 +3883,13 @@ let
         sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e";
       };
     };
-    "write-file-atomic-1.3.4" = {
+    "write-file-atomic-2.1.0" = {
       name = "write-file-atomic";
       packageName = "write-file-atomic";
-      version = "1.3.4";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz";
-        sha1 = "f807a4f0b1d9e913ae7a48112e6cc3af1991b45f";
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz";
+        sha1 = "1769f4b551eedce419f0505deae2e26763542d37";
       };
     };
     "debuglog-1.0.1" = {
@@ -3946,13 +3955,13 @@ let
         sha1 = "9fafa37d286be5d92cbaebdee030dc9b5f406747";
       };
     };
-    "jsonparse-1.3.0" = {
+    "jsonparse-1.3.1" = {
       name = "jsonparse";
       packageName = "jsonparse";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.0.tgz";
-        sha1 = "85fc245b1d9259acc6941960b905adf64e7de0e8";
+        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
+        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
       };
     };
     "through-2.3.8" = {
@@ -3982,6 +3991,15 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
+    "asap-2.0.5" = {
+      name = "asap";
+      packageName = "asap";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz";
+        sha1 = "522765b50c3510490e52d7dcfe085ef9ba96958f";
+      };
+    };
     "promzard-0.3.0" = {
       name = "promzard";
       packageName = "promzard";
@@ -4000,6 +4018,24 @@ let
         sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26";
       };
     };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "yallist-2.1.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    };
     "concat-stream-1.6.0" = {
       name = "concat-stream";
       packageName = "concat-stream";
@@ -4135,22 +4171,148 @@ let
         sha1 = "e848396f057d223f24386924618e25694161ec47";
       };
     };
-    "mute-stream-0.0.7" = {
-      name = "mute-stream";
-      packageName = "mute-stream";
-      version = "0.0.7";
+    "make-fetch-happen-2.4.12" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "2.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz";
-        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.4.12.tgz";
+        sha1 = "5e16f97b3e1fc30017da82ba4b4a5529e773f399";
       };
     };
-    "util-extend-1.0.3" = {
-      name = "util-extend";
-      packageName = "util-extend";
+    "npm-pick-manifest-1.0.3" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
       version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz";
-        sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.3.tgz";
+        sha1 = "a56fed120b2d8adaec5334ddd07cf23b2389e8de";
+      };
+    };
+    "promise-retry-1.1.1" = {
+      name = "promise-retry";
+      packageName = "promise-retry";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz";
+        sha1 = "6739e968e3051da20ce6497fb2b50f6911df3d6d";
+      };
+    };
+    "protoduck-4.0.0" = {
+      name = "protoduck";
+      packageName = "protoduck";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protoduck/-/protoduck-4.0.0.tgz";
+        sha1 = "fe4874d8c7913366cfd9ead12453a22cd3657f8e";
+      };
+    };
+    "tar-fs-1.15.3" = {
+      name = "tar-fs";
+      packageName = "tar-fs";
+      version = "1.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.3.tgz";
+        sha1 = "eccf935e941493d8151028e636e51ce4c3ca7f20";
+      };
+    };
+    "tar-stream-1.5.4" = {
+      name = "tar-stream";
+      packageName = "tar-stream";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz";
+        sha1 = "36549cf04ed1aee9b2a30c0143252238daf94016";
+      };
+    };
+    "agentkeepalive-3.2.0" = {
+      name = "agentkeepalive";
+      packageName = "agentkeepalive";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.2.0.tgz";
+        sha1 = "dcc9b272541d2fd2e9cf79fb0fdb192a6c5d60cd";
+      };
+    };
+    "http-cache-semantics-3.7.3" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "3.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.7.3.tgz";
+        sha1 = "2f35c532ecd29f1e5413b9af833b724a3c6f7f72";
+      };
+    };
+    "http-proxy-agent-1.0.0" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz";
+        sha1 = "cc1ce38e453bf984a0f7702d2dd59c73d081284a";
+      };
+    };
+    "https-proxy-agent-1.0.0" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz";
+        sha1 = "35f7da6c48ce4ddbfa264891ac593ee5ff8671e6";
+      };
+    };
+    "node-fetch-npm-2.0.1" = {
+      name = "node-fetch-npm";
+      packageName = "node-fetch-npm";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.1.tgz";
+        sha1 = "4dd3355ce526c01bc5ab29ccdf48352dc8a79465";
+      };
+    };
+    "socks-proxy-agent-2.1.1" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz";
+        sha1 = "86ebb07193258637870e13b7bd99f26c663df3d3";
+      };
+    };
+    "humanize-ms-1.2.1" = {
+      name = "humanize-ms";
+      packageName = "humanize-ms";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz";
+        sha1 = "c46e3159a293f6b896da29316d8b6fe8bb79bbed";
+      };
+    };
+    "agent-base-2.1.1" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz";
+        sha1 = "d6de10d5af6132d5bd692427d46fc538539094c7";
+      };
+    };
+    "semver-5.0.3" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
+        sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
+      };
+    };
+    "encoding-0.1.12" = {
+      name = "encoding";
+      packageName = "encoding";
+      version = "0.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
       };
     };
     "json-parse-helpfulerror-1.0.3" = {
@@ -4162,6 +4324,15 @@ let
         sha1 = "13f14ce02eed4e981297b64eb9e3b932e2dd13dc";
       };
     };
+    "iconv-lite-0.4.18" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz";
+        sha1 = "23d8656b16aae6742ac29732ea8f0336a4789cf2";
+      };
+    };
     "jju-1.3.0" = {
       name = "jju";
       packageName = "jju";
@@ -4171,6 +4342,78 @@ let
         sha1 = "dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa";
       };
     };
+    "socks-1.1.10" = {
+      name = "socks";
+      packageName = "socks";
+      version = "1.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz";
+        sha1 = "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a";
+      };
+    };
+    "ip-1.1.5" = {
+      name = "ip";
+      packageName = "ip";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    };
+    "smart-buffer-1.1.15" = {
+      name = "smart-buffer";
+      packageName = "smart-buffer";
+      version = "1.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz";
+        sha1 = "7f114b5b65fab3e2a35aa775bb12f0d1c649bf16";
+      };
+    };
+    "err-code-1.1.2" = {
+      name = "err-code";
+      packageName = "err-code";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz";
+        sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960";
+      };
+    };
+    "genfun-4.0.1" = {
+      name = "genfun";
+      packageName = "genfun";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz";
+        sha1 = "ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1";
+      };
+    };
+    "bl-1.2.1" = {
+      name = "bl";
+      packageName = "bl";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz";
+        sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
+      };
+    };
+    "mute-stream-0.0.7" = {
+      name = "mute-stream";
+      packageName = "mute-stream";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz";
+        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+      };
+    };
+    "util-extend-1.0.3" = {
+      name = "util-extend";
+      packageName = "util-extend";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz";
+        sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
+      };
+    };
     "from2-1.3.0" = {
       name = "from2";
       packageName = "from2";
@@ -4198,22 +4441,22 @@ let
         sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
       };
     };
-    "boxen-1.0.0" = {
+    "boxen-1.1.0" = {
       name = "boxen";
       packageName = "boxen";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-1.0.0.tgz";
-        sha1 = "b2694baf1f605f708ff0177c12193b22f29aaaab";
+        url = "https://registry.npmjs.org/boxen/-/boxen-1.1.0.tgz";
+        sha1 = "b1b69dd522305e807a99deee777dbd6e5167b102";
       };
     };
-    "configstore-3.0.0" = {
+    "configstore-3.1.0" = {
       name = "configstore";
       packageName = "configstore";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-3.0.0.tgz";
-        sha1 = "e1b8669c1803ccc50b545e92f8e6e79aa80e0196";
+        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.0.tgz";
+        sha1 = "45df907073e26dfa1cf4b2d52f5b60545eaa11d1";
       };
     };
     "is-npm-1.0.0" = {
@@ -4261,13 +4504,13 @@ let
         sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
       };
     };
-    "ansi-align-1.1.0" = {
+    "ansi-align-2.0.0" = {
       name = "ansi-align";
       packageName = "ansi-align";
-      version = "1.1.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz";
-        sha1 = "2f0c1658829739add5ebb15e6b0c6e3423f016ba";
+        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz";
+        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
       };
     };
     "camelcase-4.1.0" = {
@@ -4378,33 +4621,6 @@ let
         sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
       };
     };
-    "lru-cache-4.0.2" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz";
-        sha1 = "1d17679c069cda5d040991a09dbc2c0db377e55e";
-      };
-    };
-    "pseudomap-1.0.2" = {
-      name = "pseudomap";
-      packageName = "pseudomap";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
-        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
-      };
-    };
-    "yallist-2.1.2" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
-        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
-      };
-    };
     "dot-prop-4.1.1" = {
       name = "dot-prop";
       packageName = "dot-prop";
@@ -4414,6 +4630,15 @@ let
         sha1 = "a8493f0b7b5eeec82525b5c7587fa7de7ca859c1";
       };
     };
+    "make-dir-1.0.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz";
+        sha1 = "97a011751e91dd87cfadef58832ebb04936de978";
+      };
+    };
     "unique-string-1.0.0" = {
       name = "unique-string";
       packageName = "unique-string";
@@ -5089,13 +5314,13 @@ let
         sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21";
       };
     };
-    "stack-trace-0.0.9" = {
+    "stack-trace-0.0.10" = {
       name = "stack-trace";
       packageName = "stack-trace";
-      version = "0.0.9";
+      version = "0.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
-        sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
       };
     };
     "jsonfile-2.4.0" = {
@@ -5113,10 +5338,10 @@ in
   coffee-script = nodeEnv.buildNodePackage {
     name = "coffee-script";
     packageName = "coffee-script";
-    version = "1.12.5";
+    version = "1.12.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.5.tgz";
-      sha1 = "809f4585419112bbfe46a073ad7543af18c27346";
+      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.6.tgz";
+      sha1 = "285a3f7115689065064d6bf9ef4572db66695cbf";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -5145,11 +5370,11 @@ in
                 ];
               })
               sources."inherits-2.0.3"
-              (sources."minimatch-3.0.3" // {
+              (sources."minimatch-3.0.4" // {
                 dependencies = [
-                  (sources."brace-expansion-1.1.7" // {
+                  (sources."brace-expansion-1.1.8" // {
                     dependencies = [
-                      sources."balanced-match-0.4.2"
+                      sources."balanced-match-1.0.0"
                       sources."concat-map-0.0.1"
                     ];
                   })
@@ -5217,7 +5442,7 @@ in
           sources."dateformat-2.0.0"
           (sources."fancy-log-1.3.0" // {
             dependencies = [
-              sources."time-stamp-1.0.1"
+              sources."time-stamp-1.1.0"
             ];
           })
           (sources."gulplog-1.0.0" // {
@@ -5279,14 +5504,14 @@ in
           sources."replace-ext-0.0.1"
           (sources."through2-2.0.3" // {
             dependencies = [
-              (sources."readable-stream-2.2.9" // {
+              (sources."readable-stream-2.2.11" // {
                 dependencies = [
-                  sources."buffer-shims-1.0.0"
                   sources."core-util-is-1.0.2"
-                  sources."isarray-1.0.0"
                   sources."inherits-2.0.3"
+                  sources."isarray-1.0.0"
                   sources."process-nextick-args-1.0.7"
-                  sources."string_decoder-1.0.0"
+                  sources."safe-buffer-5.0.1"
+                  sources."string_decoder-1.0.2"
                   sources."util-deprecate-1.0.2"
                 ];
               })
@@ -5337,7 +5562,24 @@ in
                                   sources."isarray-1.0.0"
                                 ];
                               })
-                              sources."randomatic-1.1.6"
+                              (sources."randomatic-1.1.7" // {
+                                dependencies = [
+                                  (sources."is-number-3.0.0" // {
+                                    dependencies = [
+                                      (sources."kind-of-3.2.2" // {
+                                        dependencies = [
+                                          sources."is-buffer-1.1.5"
+                                        ];
+                                      })
+                                    ];
+                                  })
+                                  (sources."kind-of-4.0.0" // {
+                                    dependencies = [
+                                      sources."is-buffer-1.1.5"
+                                    ];
+                                  })
+                                ];
+                              })
                               sources."repeat-string-1.6.1"
                             ];
                           })
@@ -5355,14 +5597,14 @@ in
                   sources."extglob-0.3.2"
                   sources."filename-regex-2.0.1"
                   sources."is-extglob-1.0.0"
-                  (sources."kind-of-3.2.0" // {
+                  (sources."kind-of-3.2.2" // {
                     dependencies = [
                       sources."is-buffer-1.1.5"
                     ];
                   })
                   (sources."normalize-path-2.1.1" // {
                     dependencies = [
-                      sources."remove-trailing-separator-1.0.1"
+                      sources."remove-trailing-separator-1.0.2"
                     ];
                   })
                   (sources."object.omit-2.0.1" // {
@@ -5382,7 +5624,7 @@ in
                           sources."glob-parent-2.0.0"
                         ];
                       })
-                      sources."is-dotfile-1.0.2"
+                      sources."is-dotfile-1.0.3"
                     ];
                   })
                   (sources."regex-cache-0.4.3" // {
@@ -5526,9 +5768,9 @@ in
               })
               (sources."minimatch-2.0.10" // {
                 dependencies = [
-                  (sources."brace-expansion-1.1.7" // {
+                  (sources."brace-expansion-1.1.8" // {
                     dependencies = [
-                      sources."balanced-match-0.4.2"
+                      sources."balanced-match-1.0.0"
                       sources."concat-map-0.0.1"
                     ];
                   })
@@ -5617,10 +5859,10 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "3.6.1";
+    version = "3.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.1.tgz";
-      sha1 = "19561067ff185464aded478212681f47fd578cbc";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
+      sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
     };
     dependencies = [
       (sources."fstream-1.0.11" // {
@@ -5628,7 +5870,7 @@ in
           sources."inherits-2.0.3"
         ];
       })
-      (sources."glob-7.1.1" // {
+      (sources."glob-7.1.2" // {
         dependencies = [
           sources."fs.realpath-1.0.0"
           (sources."inflight-1.0.6" // {
@@ -5646,11 +5888,11 @@ in
         ];
       })
       sources."graceful-fs-4.1.11"
-      (sources."minimatch-3.0.3" // {
+      (sources."minimatch-3.0.4" // {
         dependencies = [
-          (sources."brace-expansion-1.1.7" // {
+          (sources."brace-expansion-1.1.8" // {
             dependencies = [
-              sources."balanced-match-0.4.2"
+              sources."balanced-match-1.0.0"
               sources."concat-map-0.0.1"
             ];
           })
@@ -5666,19 +5908,19 @@ in
           sources."abbrev-1.1.0"
         ];
       })
-      (sources."npmlog-4.0.2" // {
+      (sources."npmlog-4.1.0" // {
         dependencies = [
           (sources."are-we-there-yet-1.1.4" // {
             dependencies = [
               sources."delegates-1.0.0"
-              (sources."readable-stream-2.2.9" // {
+              (sources."readable-stream-2.2.11" // {
                 dependencies = [
-                  sources."buffer-shims-1.0.0"
                   sources."core-util-is-1.0.2"
-                  sources."isarray-1.0.0"
                   sources."inherits-2.0.3"
+                  sources."isarray-1.0.0"
                   sources."process-nextick-args-1.0.7"
-                  sources."string_decoder-1.0.0"
+                  sources."safe-buffer-5.0.1"
+                  sources."string_decoder-1.0.2"
                   sources."util-deprecate-1.0.2"
                 ];
               })
@@ -5687,7 +5929,7 @@ in
           sources."console-control-strings-1.1.0"
           (sources."gauge-2.7.4" // {
             dependencies = [
-              sources."aproba-1.1.1"
+              sources."aproba-1.1.2"
               sources."has-unicode-2.0.1"
               sources."object-assign-4.1.1"
               sources."signal-exit-3.0.2"
@@ -5706,7 +5948,7 @@ in
                   sources."ansi-regex-2.1.1"
                 ];
               })
-              sources."wide-align-1.1.0"
+              sources."wide-align-1.1.2"
             ];
           })
           sources."set-blocking-2.0.0"
@@ -5769,7 +6011,7 @@ in
                   sources."verror-1.3.6"
                 ];
               })
-              (sources."sshpk-1.13.0" // {
+              (sources."sshpk-1.13.1" // {
                 dependencies = [
                   sources."asn1-0.2.3"
                   sources."assert-plus-1.0.0"
@@ -5777,7 +6019,6 @@ in
                   sources."getpass-0.1.7"
                   sources."jsbn-0.1.1"
                   sources."tweetnacl-0.14.5"
-                  sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
                   sources."bcrypt-pbkdf-1.0.1"
                 ];
@@ -5795,7 +6036,7 @@ in
           sources."oauth-sign-0.8.2"
           sources."performance-now-0.2.0"
           sources."qs-6.4.0"
-          sources."safe-buffer-5.0.1"
+          sources."safe-buffer-5.1.0"
           sources."stringstream-0.0.5"
           (sources."tough-cookie-2.3.2" // {
             dependencies = [
@@ -5885,7 +6126,7 @@ in
                 dependencies = [
                   (sources."bplist-parser-0.1.1" // {
                     dependencies = [
-                      sources."big-integer-1.6.22"
+                      sources."big-integer-1.6.23"
                     ];
                   })
                   (sources."meow-3.7.0" // {
@@ -6018,12 +6259,12 @@ in
           })
         ];
       })
-      (sources."debug-2.6.6" // {
+      (sources."debug-2.6.8" // {
         dependencies = [
-          sources."ms-0.7.3"
+          sources."ms-2.0.0"
         ];
       })
-      (sources."express-4.15.2" // {
+      (sources."express-4.15.3" // {
         dependencies = [
           (sources."accepts-1.3.3" // {
             dependencies = [
@@ -6040,22 +6281,17 @@ in
           sources."content-type-1.0.2"
           sources."cookie-0.3.1"
           sources."cookie-signature-1.0.6"
-          (sources."debug-2.6.1" // {
+          (sources."debug-2.6.7" // {
             dependencies = [
-              sources."ms-0.7.2"
+              sources."ms-2.0.0"
             ];
           })
           sources."depd-1.1.0"
           sources."encodeurl-1.0.1"
           sources."escape-html-1.0.3"
           sources."etag-1.8.0"
-          (sources."finalhandler-1.0.2" // {
+          (sources."finalhandler-1.0.3" // {
             dependencies = [
-              (sources."debug-2.6.4" // {
-                dependencies = [
-                  sources."ms-0.7.3"
-                ];
-              })
               sources."unpipe-1.0.0"
             ];
           })
@@ -6077,7 +6313,7 @@ in
           })
           sources."qs-6.4.0"
           sources."range-parser-1.2.0"
-          (sources."send-0.15.1" // {
+          (sources."send-0.15.3" // {
             dependencies = [
               sources."destroy-1.0.4"
               (sources."http-errors-1.6.1" // {
@@ -6086,10 +6322,10 @@ in
                 ];
               })
               sources."mime-1.3.4"
-              sources."ms-0.7.2"
+              sources."ms-2.0.0"
             ];
           })
-          sources."serve-static-1.12.1"
+          sources."serve-static-1.12.3"
           sources."setprototypeof-1.0.3"
           sources."statuses-1.3.1"
           (sources."type-is-1.6.15" // {
@@ -6114,11 +6350,11 @@ in
             ];
           })
           sources."inherits-2.0.3"
-          (sources."minimatch-3.0.3" // {
+          (sources."minimatch-3.0.4" // {
             dependencies = [
-              (sources."brace-expansion-1.1.7" // {
+              (sources."brace-expansion-1.1.8" // {
                 dependencies = [
-                  sources."balanced-match-0.4.2"
+                  sources."balanced-match-1.0.0"
                   sources."concat-map-0.0.1"
                 ];
               })
@@ -6134,19 +6370,20 @@ in
       sources."path-is-absolute-1.0.1"
       (sources."rc-1.2.1" // {
         dependencies = [
-          sources."deep-extend-0.4.1"
+          sources."deep-extend-0.4.2"
           sources."ini-1.3.4"
           sources."minimist-1.2.0"
           sources."strip-json-comments-2.0.1"
         ];
       })
       sources."semver-4.3.6"
-      (sources."serve-favicon-2.4.2" // {
+      (sources."serve-favicon-2.4.3" // {
         dependencies = [
           sources."etag-1.8.0"
           sources."fresh-0.5.0"
-          sources."ms-1.0.0"
+          sources."ms-2.0.0"
           sources."parseurl-1.3.1"
+          sources."safe-buffer-5.0.1"
         ];
       })
       (sources."strong-data-uri-1.0.4" // {
@@ -6157,7 +6394,7 @@ in
       (sources."v8-debug-1.0.1" // {
         dependencies = [
           sources."nan-2.6.2"
-          (sources."node-pre-gyp-0.6.34" // {
+          (sources."node-pre-gyp-0.6.36" // {
             dependencies = [
               (sources."mkdirp-0.5.1" // {
                 dependencies = [
@@ -6175,19 +6412,19 @@ in
                   })
                 ];
               })
-              (sources."npmlog-4.0.2" // {
+              (sources."npmlog-4.1.0" // {
                 dependencies = [
                   (sources."are-we-there-yet-1.1.4" // {
                     dependencies = [
                       sources."delegates-1.0.0"
-                      (sources."readable-stream-2.2.9" // {
+                      (sources."readable-stream-2.2.11" // {
                         dependencies = [
-                          sources."buffer-shims-1.0.0"
                           sources."core-util-is-1.0.2"
-                          sources."isarray-1.0.0"
                           sources."inherits-2.0.3"
+                          sources."isarray-1.0.0"
                           sources."process-nextick-args-1.0.7"
-                          sources."string_decoder-1.0.0"
+                          sources."safe-buffer-5.0.1"
+                          sources."string_decoder-1.0.2"
                           sources."util-deprecate-1.0.2"
                         ];
                       })
@@ -6196,7 +6433,7 @@ in
                   sources."console-control-strings-1.1.0"
                   (sources."gauge-2.7.4" // {
                     dependencies = [
-                      sources."aproba-1.1.1"
+                      sources."aproba-1.1.2"
                       sources."has-unicode-2.0.1"
                       sources."object-assign-4.1.1"
                       sources."signal-exit-3.0.2"
@@ -6215,7 +6452,7 @@ in
                           sources."ansi-regex-2.1.1"
                         ];
                       })
-                      sources."wide-align-1.1.0"
+                      sources."wide-align-1.1.2"
                     ];
                   })
                   sources."set-blocking-2.0.0"
@@ -6272,7 +6509,7 @@ in
                           sources."verror-1.3.6"
                         ];
                       })
-                      (sources."sshpk-1.13.0" // {
+                      (sources."sshpk-1.13.1" // {
                         dependencies = [
                           sources."asn1-0.2.3"
                           sources."assert-plus-1.0.0"
@@ -6280,7 +6517,6 @@ in
                           sources."getpass-0.1.7"
                           sources."jsbn-0.1.1"
                           sources."tweetnacl-0.14.5"
-                          sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
                           sources."bcrypt-pbkdf-1.0.1"
                         ];
@@ -6298,7 +6534,7 @@ in
                   sources."oauth-sign-0.8.2"
                   sources."performance-now-0.2.0"
                   sources."qs-6.4.0"
-                  sources."safe-buffer-5.0.1"
+                  sources."safe-buffer-5.1.0"
                   sources."stringstream-0.0.5"
                   (sources."tough-cookie-2.3.2" // {
                     dependencies = [
@@ -6311,7 +6547,7 @@ in
               })
               (sources."rimraf-2.6.1" // {
                 dependencies = [
-                  (sources."glob-7.1.1" // {
+                  (sources."glob-7.1.2" // {
                     dependencies = [
                       sources."fs.realpath-1.0.0"
                       (sources."inflight-1.0.6" // {
@@ -6320,11 +6556,11 @@ in
                         ];
                       })
                       sources."inherits-2.0.3"
-                      (sources."minimatch-3.0.3" // {
+                      (sources."minimatch-3.0.4" // {
                         dependencies = [
-                          (sources."brace-expansion-1.1.7" // {
+                          (sources."brace-expansion-1.1.8" // {
                             dependencies = [
-                              sources."balanced-match-0.4.2"
+                              sources."balanced-match-1.0.0"
                               sources."concat-map-0.0.1"
                             ];
                           })
@@ -6362,11 +6598,11 @@ in
                   (sources."fstream-ignore-1.0.5" // {
                     dependencies = [
                       sources."inherits-2.0.3"
-                      (sources."minimatch-3.0.3" // {
+                      (sources."minimatch-3.0.4" // {
                         dependencies = [
-                          (sources."brace-expansion-1.1.7" // {
+                          (sources."brace-expansion-1.1.8" // {
                             dependencies = [
-                              sources."balanced-match-0.4.2"
+                              sources."balanced-match-1.0.0"
                               sources."concat-map-0.0.1"
                             ];
                           })
@@ -6379,14 +6615,14 @@ in
                       sources."wrappy-1.0.2"
                     ];
                   })
-                  (sources."readable-stream-2.2.9" // {
+                  (sources."readable-stream-2.2.11" // {
                     dependencies = [
-                      sources."buffer-shims-1.0.0"
                       sources."core-util-is-1.0.2"
-                      sources."isarray-1.0.0"
                       sources."inherits-2.0.3"
+                      sources."isarray-1.0.0"
                       sources."process-nextick-args-1.0.7"
-                      sources."string_decoder-1.0.0"
+                      sources."safe-buffer-5.0.1"
+                      sources."string_decoder-1.0.2"
                       sources."util-deprecate-1.0.2"
                     ];
                   })
@@ -6400,7 +6636,7 @@ in
       (sources."v8-profiler-5.7.0" // {
         dependencies = [
           sources."nan-2.6.2"
-          (sources."node-pre-gyp-0.6.34" // {
+          (sources."node-pre-gyp-0.6.36" // {
             dependencies = [
               (sources."mkdirp-0.5.1" // {
                 dependencies = [
@@ -6418,19 +6654,19 @@ in
                   })
                 ];
               })
-              (sources."npmlog-4.0.2" // {
+              (sources."npmlog-4.1.0" // {
                 dependencies = [
                   (sources."are-we-there-yet-1.1.4" // {
                     dependencies = [
                       sources."delegates-1.0.0"
-                      (sources."readable-stream-2.2.9" // {
+                      (sources."readable-stream-2.2.11" // {
                         dependencies = [
-                          sources."buffer-shims-1.0.0"
                           sources."core-util-is-1.0.2"
-                          sources."isarray-1.0.0"
                           sources."inherits-2.0.3"
+                          sources."isarray-1.0.0"
                           sources."process-nextick-args-1.0.7"
-                          sources."string_decoder-1.0.0"
+                          sources."safe-buffer-5.0.1"
+                          sources."string_decoder-1.0.2"
                           sources."util-deprecate-1.0.2"
                         ];
                       })
@@ -6439,7 +6675,7 @@ in
                   sources."console-control-strings-1.1.0"
                   (sources."gauge-2.7.4" // {
                     dependencies = [
-                      sources."aproba-1.1.1"
+                      sources."aproba-1.1.2"
                       sources."has-unicode-2.0.1"
                       sources."object-assign-4.1.1"
                       sources."signal-exit-3.0.2"
@@ -6458,7 +6694,7 @@ in
                           sources."ansi-regex-2.1.1"
                         ];
                       })
-                      sources."wide-align-1.1.0"
+                      sources."wide-align-1.1.2"
                     ];
                   })
                   sources."set-blocking-2.0.0"
@@ -6515,7 +6751,7 @@ in
                           sources."verror-1.3.6"
                         ];
                       })
-                      (sources."sshpk-1.13.0" // {
+                      (sources."sshpk-1.13.1" // {
                         dependencies = [
                           sources."asn1-0.2.3"
                           sources."assert-plus-1.0.0"
@@ -6523,7 +6759,6 @@ in
                           sources."getpass-0.1.7"
                           sources."jsbn-0.1.1"
                           sources."tweetnacl-0.14.5"
-                          sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
                           sources."bcrypt-pbkdf-1.0.1"
                         ];
@@ -6541,7 +6776,7 @@ in
                   sources."oauth-sign-0.8.2"
                   sources."performance-now-0.2.0"
                   sources."qs-6.4.0"
-                  sources."safe-buffer-5.0.1"
+                  sources."safe-buffer-5.1.0"
                   sources."stringstream-0.0.5"
                   (sources."tough-cookie-2.3.2" // {
                     dependencies = [
@@ -6554,7 +6789,7 @@ in
               })
               (sources."rimraf-2.6.1" // {
                 dependencies = [
-                  (sources."glob-7.1.1" // {
+                  (sources."glob-7.1.2" // {
                     dependencies = [
                       sources."fs.realpath-1.0.0"
                       (sources."inflight-1.0.6" // {
@@ -6563,11 +6798,11 @@ in
                         ];
                       })
                       sources."inherits-2.0.3"
-                      (sources."minimatch-3.0.3" // {
+                      (sources."minimatch-3.0.4" // {
                         dependencies = [
-                          (sources."brace-expansion-1.1.7" // {
+                          (sources."brace-expansion-1.1.8" // {
                             dependencies = [
-                              sources."balanced-match-0.4.2"
+                              sources."balanced-match-1.0.0"
                               sources."concat-map-0.0.1"
                             ];
                           })
@@ -6605,11 +6840,11 @@ in
                   (sources."fstream-ignore-1.0.5" // {
                     dependencies = [
                       sources."inherits-2.0.3"
-                      (sources."minimatch-3.0.3" // {
+                      (sources."minimatch-3.0.4" // {
                         dependencies = [
-                          (sources."brace-expansion-1.1.7" // {
+                          (sources."brace-expansion-1.1.8" // {
                             dependencies = [
-                              sources."balanced-match-0.4.2"
+                              sources."balanced-match-1.0.0"
                               sources."concat-map-0.0.1"
                             ];
                           })
@@ -6622,14 +6857,14 @@ in
                       sources."wrappy-1.0.2"
                     ];
                   })
-                  (sources."readable-stream-2.2.9" // {
+                  (sources."readable-stream-2.2.11" // {
                     dependencies = [
-                      sources."buffer-shims-1.0.0"
                       sources."core-util-is-1.0.2"
-                      sources."isarray-1.0.0"
                       sources."inherits-2.0.3"
+                      sources."isarray-1.0.0"
                       sources."process-nextick-args-1.0.7"
-                      sources."string_decoder-1.0.0"
+                      sources."safe-buffer-5.0.1"
+                      sources."string_decoder-1.0.2"
                       sources."util-deprecate-1.0.2"
                     ];
                   })
@@ -6704,10 +6939,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.34";
+    version = "0.6.36";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz";
-      sha1 = "94ad1c798a11d7fc67381b50d47f8cc18d9799f7";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz";
+      sha1 = "db604112cb74e0d477554e9b505b17abddfab786";
     };
     dependencies = [
       (sources."mkdirp-0.5.1" // {
@@ -6726,19 +6961,19 @@ in
           })
         ];
       })
-      (sources."npmlog-4.0.2" // {
+      (sources."npmlog-4.1.0" // {
         dependencies = [
           (sources."are-we-there-yet-1.1.4" // {
             dependencies = [
               sources."delegates-1.0.0"
-              (sources."readable-stream-2.2.9" // {
+              (sources."readable-stream-2.2.11" // {
                 dependencies = [
-                  sources."buffer-shims-1.0.0"
                   sources."core-util-is-1.0.2"
-                  sources."isarray-1.0.0"
                   sources."inherits-2.0.3"
+                  sources."isarray-1.0.0"
                   sources."process-nextick-args-1.0.7"
-                  sources."string_decoder-1.0.0"
+                  sources."safe-buffer-5.0.1"
+                  sources."string_decoder-1.0.2"
                   sources."util-deprecate-1.0.2"
                 ];
               })
@@ -6747,7 +6982,7 @@ in
           sources."console-control-strings-1.1.0"
           (sources."gauge-2.7.4" // {
             dependencies = [
-              sources."aproba-1.1.1"
+              sources."aproba-1.1.2"
               sources."has-unicode-2.0.1"
               sources."object-assign-4.1.1"
               sources."signal-exit-3.0.2"
@@ -6766,7 +7001,7 @@ in
                   sources."ansi-regex-2.1.1"
                 ];
               })
-              sources."wide-align-1.1.0"
+              sources."wide-align-1.1.2"
             ];
           })
           sources."set-blocking-2.0.0"
@@ -6774,7 +7009,7 @@ in
       })
       (sources."rc-1.2.1" // {
         dependencies = [
-          sources."deep-extend-0.4.1"
+          sources."deep-extend-0.4.2"
           sources."ini-1.3.4"
           sources."minimist-1.2.0"
           sources."strip-json-comments-2.0.1"
@@ -6831,7 +7066,7 @@ in
                   sources."verror-1.3.6"
                 ];
               })
-              (sources."sshpk-1.13.0" // {
+              (sources."sshpk-1.13.1" // {
                 dependencies = [
                   sources."asn1-0.2.3"
                   sources."assert-plus-1.0.0"
@@ -6839,7 +7074,6 @@ in
                   sources."getpass-0.1.7"
                   sources."jsbn-0.1.1"
                   sources."tweetnacl-0.14.5"
-                  sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
                   sources."bcrypt-pbkdf-1.0.1"
                 ];
@@ -6857,7 +7091,7 @@ in
           sources."oauth-sign-0.8.2"
           sources."performance-now-0.2.0"
           sources."qs-6.4.0"
-          sources."safe-buffer-5.0.1"
+          sources."safe-buffer-5.1.0"
           sources."stringstream-0.0.5"
           (sources."tough-cookie-2.3.2" // {
             dependencies = [
@@ -6870,7 +7104,7 @@ in
       })
       (sources."rimraf-2.6.1" // {
         dependencies = [
-          (sources."glob-7.1.1" // {
+          (sources."glob-7.1.2" // {
             dependencies = [
               sources."fs.realpath-1.0.0"
               (sources."inflight-1.0.6" // {
@@ -6879,11 +7113,11 @@ in
                 ];
               })
               sources."inherits-2.0.3"
-              (sources."minimatch-3.0.3" // {
+              (sources."minimatch-3.0.4" // {
                 dependencies = [
-                  (sources."brace-expansion-1.1.7" // {
+                  (sources."brace-expansion-1.1.8" // {
                     dependencies = [
-                      sources."balanced-match-0.4.2"
+                      sources."balanced-match-1.0.0"
                       sources."concat-map-0.0.1"
                     ];
                   })
@@ -6913,9 +7147,9 @@ in
       })
       (sources."tar-pack-3.4.0" // {
         dependencies = [
-          (sources."debug-2.6.6" // {
+          (sources."debug-2.6.8" // {
             dependencies = [
-              sources."ms-0.7.3"
+              sources."ms-2.0.0"
             ];
           })
           (sources."fstream-1.0.11" // {
@@ -6927,11 +7161,11 @@ in
           (sources."fstream-ignore-1.0.5" // {
             dependencies = [
               sources."inherits-2.0.3"
-              (sources."minimatch-3.0.3" // {
+              (sources."minimatch-3.0.4" // {
                 dependencies = [
-                  (sources."brace-expansion-1.1.7" // {
+                  (sources."brace-expansion-1.1.8" // {
                     dependencies = [
-                      sources."balanced-match-0.4.2"
+                      sources."balanced-match-1.0.0"
                       sources."concat-map-0.0.1"
                     ];
                   })
@@ -6944,14 +7178,14 @@ in
               sources."wrappy-1.0.2"
             ];
           })
-          (sources."readable-stream-2.2.9" // {
+          (sources."readable-stream-2.2.11" // {
             dependencies = [
-              sources."buffer-shims-1.0.0"
               sources."core-util-is-1.0.2"
-              sources."isarray-1.0.0"
               sources."inherits-2.0.3"
+              sources."isarray-1.0.0"
               sources."process-nextick-args-1.0.7"
-              sources."string_decoder-1.0.0"
+              sources."safe-buffer-5.0.1"
+              sources."string_decoder-1.0.2"
               sources."util-deprecate-1.0.2"
             ];
           })
@@ -6970,15 +7204,15 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "4.5.0";
+    version = "5.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-4.5.0.tgz";
-      sha1 = "dc6a31f28807e6db980ed5083315667dcc8d0475";
+      url = "https://registry.npmjs.org/npm/-/npm-5.0.3.tgz";
+      sha1 = "abd1c397ede6edd8f93453e7ad2b7a1887861856";
     };
     dependencies = [
       (sources."JSONStream-1.3.1" // {
         dependencies = [
-          sources."jsonparse-1.3.0"
+          sources."jsonparse-1.3.1"
           sources."through-2.3.8"
         ];
       })
@@ -6986,10 +7220,14 @@ in
       sources."ansi-regex-2.1.1"
       sources."ansicolors-0.3.2"
       sources."ansistyles-0.1.3"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."archy-1.0.0"
-      sources."asap-2.0.5"
       sources."bluebird-3.5.0"
+      (sources."cacache-9.2.8" // {
+        dependencies = [
+          sources."y18n-3.2.1"
+        ];
+      })
       sources."call-limit-1.1.0"
       sources."chownr-1.0.1"
       sources."cmd-shim-2.0.2"
@@ -7011,20 +7249,25 @@ in
           sources."proto-list-1.2.4"
         ];
       })
-      sources."dezalgo-1.0.3"
+      sources."detect-indent-5.0.0"
+      (sources."dezalgo-1.0.3" // {
+        dependencies = [
+          sources."asap-2.0.5"
+        ];
+      })
       sources."editor-1.0.0"
       sources."fs-vacuum-1.2.10"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fstream-1.0.11"
-      (sources."fstream-npm-1.2.0" // {
+      (sources."fstream-npm-1.2.1" // {
         dependencies = [
           (sources."fstream-ignore-1.0.5" // {
             dependencies = [
-              (sources."minimatch-3.0.3" // {
+              (sources."minimatch-3.0.4" // {
                 dependencies = [
-                  (sources."brace-expansion-1.1.7" // {
+                  (sources."brace-expansion-1.1.8" // {
                     dependencies = [
-                      sources."balanced-match-0.4.2"
+                      sources."balanced-match-1.0.0"
                       sources."concat-map-0.0.1"
                     ];
                   })
@@ -7034,14 +7277,14 @@ in
           })
         ];
       })
-      (sources."glob-7.1.1" // {
+      (sources."glob-7.1.2" // {
         dependencies = [
           sources."fs.realpath-1.0.0"
-          (sources."minimatch-3.0.3" // {
+          (sources."minimatch-3.0.4" // {
             dependencies = [
-              (sources."brace-expansion-1.1.7" // {
+              (sources."brace-expansion-1.1.8" // {
                 dependencies = [
-                  sources."balanced-match-0.4.2"
+                  sources."balanced-match-1.0.0"
                   sources."concat-map-0.0.1"
                 ];
               })
@@ -7057,7 +7300,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.4"
-      (sources."init-package-json-1.9.6" // {
+      (sources."init-package-json-1.10.1" // {
         dependencies = [
           sources."promzard-0.3.0"
         ];
@@ -7074,6 +7317,12 @@ in
       sources."lodash.union-4.6.0"
       sources."lodash.uniq-4.5.0"
       sources."lodash.without-4.4.0"
+      (sources."lru-cache-4.0.2" // {
+        dependencies = [
+          sources."pseudomap-1.0.2"
+          sources."yallist-2.1.2"
+        ];
+      })
       (sources."mississippi-1.3.0" // {
         dependencies = [
           (sources."concat-stream-1.6.0" // {
@@ -7124,13 +7373,13 @@ in
           sources."run-queue-1.0.3"
         ];
       })
-      (sources."node-gyp-3.6.1" // {
+      (sources."node-gyp-3.6.2" // {
         dependencies = [
-          (sources."minimatch-3.0.3" // {
+          (sources."minimatch-3.0.4" // {
             dependencies = [
-              (sources."brace-expansion-1.1.7" // {
+              (sources."brace-expansion-1.1.8" // {
                 dependencies = [
-                  sources."balanced-match-0.4.2"
+                  sources."balanced-match-1.0.0"
                   sources."concat-map-0.0.1"
                 ];
               })
@@ -7140,7 +7389,6 @@ in
         ];
       })
       sources."nopt-4.0.1"
-      sources."normalize-git-url-3.0.2"
       (sources."normalize-package-data-2.3.8" // {
         dependencies = [
           (sources."is-builtin-module-1.0.0" // {
@@ -7152,8 +7400,8 @@ in
       })
       sources."npm-cache-filename-1.0.2"
       sources."npm-install-checks-3.0.0"
-      sources."npm-package-arg-4.2.1"
-      (sources."npm-registry-client-8.1.1" // {
+      sources."npm-package-arg-5.1.2"
+      (sources."npm-registry-client-8.3.0" // {
         dependencies = [
           (sources."concat-stream-1.6.0" // {
             dependencies = [
@@ -7162,8 +7410,8 @@ in
           })
         ];
       })
-      sources."npm-user-validate-0.1.5"
-      (sources."npmlog-4.0.2" // {
+      sources."npm-user-validate-1.0.0"
+      (sources."npmlog-4.1.0" // {
         dependencies = [
           (sources."are-we-there-yet-1.1.4" // {
             dependencies = [
@@ -7185,7 +7433,7 @@ in
                   })
                 ];
               })
-              sources."wide-align-1.1.0"
+              sources."wide-align-1.1.2"
             ];
           })
           sources."set-blocking-2.0.0"
@@ -7199,7 +7447,123 @@ in
           sources."os-tmpdir-1.0.2"
         ];
       })
+      (sources."pacote-2.7.36" // {
+        dependencies = [
+          (sources."make-fetch-happen-2.4.12" // {
+            dependencies = [
+              (sources."agentkeepalive-3.2.0" // {
+                dependencies = [
+                  (sources."humanize-ms-1.2.1" // {
+                    dependencies = [
+                      sources."ms-2.0.0"
+                    ];
+                  })
+                ];
+              })
+              sources."http-cache-semantics-3.7.3"
+              (sources."http-proxy-agent-1.0.0" // {
+                dependencies = [
+                  (sources."agent-base-2.1.1" // {
+                    dependencies = [
+                      sources."semver-5.0.3"
+                    ];
+                  })
+                  sources."extend-3.0.1"
+                  (sources."debug-2.6.8" // {
+                    dependencies = [
+                      sources."ms-2.0.0"
+                    ];
+                  })
+                ];
+              })
+              (sources."https-proxy-agent-1.0.0" // {
+                dependencies = [
+                  (sources."agent-base-2.1.1" // {
+                    dependencies = [
+                      sources."semver-5.0.3"
+                    ];
+                  })
+                  (sources."debug-2.6.8" // {
+                    dependencies = [
+                      sources."ms-2.0.0"
+                    ];
+                  })
+                  sources."extend-3.0.1"
+                ];
+              })
+              (sources."node-fetch-npm-2.0.1" // {
+                dependencies = [
+                  (sources."encoding-0.1.12" // {
+                    dependencies = [
+                      sources."iconv-lite-0.4.18"
+                    ];
+                  })
+                  (sources."json-parse-helpfulerror-1.0.3" // {
+                    dependencies = [
+                      sources."jju-1.3.0"
+                    ];
+                  })
+                ];
+              })
+              (sources."socks-proxy-agent-2.1.1" // {
+                dependencies = [
+                  (sources."agent-base-2.1.1" // {
+                    dependencies = [
+                      sources."semver-5.0.3"
+                    ];
+                  })
+                  sources."extend-3.0.1"
+                  (sources."socks-1.1.10" // {
+                    dependencies = [
+                      sources."ip-1.1.5"
+                      sources."smart-buffer-1.1.15"
+                    ];
+                  })
+                ];
+              })
+            ];
+          })
+          (sources."minimatch-3.0.4" // {
+            dependencies = [
+              (sources."brace-expansion-1.1.8" // {
+                dependencies = [
+                  sources."balanced-match-1.0.0"
+                  sources."concat-map-0.0.1"
+                ];
+              })
+            ];
+          })
+          sources."npm-pick-manifest-1.0.3"
+          (sources."promise-retry-1.1.1" // {
+            dependencies = [
+              sources."err-code-1.1.2"
+            ];
+          })
+          (sources."protoduck-4.0.0" // {
+            dependencies = [
+              sources."genfun-4.0.1"
+            ];
+          })
+          (sources."tar-fs-1.15.3" // {
+            dependencies = [
+              (sources."pump-1.0.2" // {
+                dependencies = [
+                  sources."end-of-stream-1.4.0"
+                ];
+              })
+            ];
+          })
+          (sources."tar-stream-1.5.4" // {
+            dependencies = [
+              sources."bl-1.2.1"
+              sources."end-of-stream-1.4.0"
+              sources."xtend-4.0.1"
+            ];
+          })
+        ];
+      })
       sources."path-is-inside-1.0.2"
+      sources."promise-inflight-1.0.1"
       (sources."read-1.0.7" // {
         dependencies = [
           sources."mute-stream-0.0.7"
@@ -7220,18 +7584,17 @@ in
           })
         ];
       })
-      sources."read-package-tree-5.1.5"
-      (sources."readable-stream-2.2.9" // {
+      sources."read-package-tree-5.1.6"
+      (sources."readable-stream-2.2.11" // {
         dependencies = [
-          sources."buffer-shims-1.0.0"
           sources."core-util-is-1.0.2"
           sources."isarray-1.0.0"
           sources."process-nextick-args-1.0.7"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
           sources."util-deprecate-1.0.2"
         ];
       })
-      sources."realize-package-specifier-3.0.3"
       (sources."request-2.81.0" // {
         dependencies = [
           sources."aws-sign2-0.6.0"
@@ -7283,7 +7646,7 @@ in
                   sources."verror-1.3.6"
                 ];
               })
-              (sources."sshpk-1.13.0" // {
+              (sources."sshpk-1.13.1" // {
                 dependencies = [
                   sources."asn1-0.2.3"
                   sources."assert-plus-1.0.0"
@@ -7291,7 +7654,6 @@ in
                   sources."getpass-0.1.7"
                   sources."jsbn-0.1.1"
                   sources."tweetnacl-0.14.5"
-                  sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
                   sources."bcrypt-pbkdf-1.0.1"
                 ];
@@ -7309,7 +7671,6 @@ in
           sources."oauth-sign-0.8.2"
           sources."performance-now-0.2.0"
           sources."qs-6.4.0"
-          sources."safe-buffer-5.0.1"
           sources."stringstream-0.0.5"
           (sources."tough-cookie-2.3.2" // {
             dependencies = [
@@ -7321,6 +7682,7 @@ in
       })
       sources."retry-0.10.1"
       sources."rimraf-2.6.1"
+      sources."safe-buffer-5.1.0"
       sources."semver-5.3.0"
       sources."sha-2.0.1"
       sources."slide-1.1.6"
@@ -7345,6 +7707,7 @@ in
           })
         ];
       })
+      sources."ssri-4.1.6"
       sources."strip-ansi-3.0.1"
       (sources."tar-2.2.1" // {
         dependencies = [
@@ -7362,22 +7725,9 @@ in
       sources."unpipe-1.0.0"
       (sources."update-notifier-2.1.0" // {
         dependencies = [
-          (sources."boxen-1.0.0" // {
+          (sources."boxen-1.1.0" // {
             dependencies = [
-              (sources."ansi-align-1.1.0" // {
-                dependencies = [
-                  (sources."string-width-1.0.2" // {
-                    dependencies = [
-                      sources."code-point-at-1.1.0"
-                      (sources."is-fullwidth-code-point-1.0.0" // {
-                        dependencies = [
-                          sources."number-is-nan-1.0.1"
-                        ];
-                      })
-                    ];
-                  })
-                ];
-              })
+              sources."ansi-align-2.0.0"
               sources."camelcase-4.1.0"
               sources."cli-boxes-1.0.0"
               (sources."string-width-2.0.0" // {
@@ -7389,16 +7739,7 @@ in
                 dependencies = [
                   (sources."execa-0.4.0" // {
                     dependencies = [
-                      (sources."cross-spawn-async-2.2.5" // {
-                        dependencies = [
-                          (sources."lru-cache-4.0.2" // {
-                            dependencies = [
-                              sources."pseudomap-1.0.2"
-                              sources."yallist-2.1.2"
-                            ];
-                          })
-                        ];
-                      })
+                      sources."cross-spawn-async-2.2.5"
                       sources."is-stream-1.1.0"
                       sources."npm-run-path-1.0.0"
                       sources."object-assign-4.1.1"
@@ -7432,13 +7773,18 @@ in
               sources."supports-color-2.0.0"
             ];
           })
-          (sources."configstore-3.0.0" // {
+          (sources."configstore-3.1.0" // {
             dependencies = [
               (sources."dot-prop-4.1.1" // {
                 dependencies = [
                   sources."is-obj-1.0.1"
                 ];
               })
+              (sources."make-dir-1.0.0" // {
+                dependencies = [
+                  sources."pify-2.3.0"
+                ];
+              })
               (sources."unique-string-1.0.0" // {
                 dependencies = [
                   sources."crypto-random-string-1.0.0"
@@ -7464,7 +7810,6 @@ in
                       sources."is-retry-allowed-1.1.0"
                       sources."is-stream-1.1.0"
                       sources."lowercase-keys-1.0.0"
-                      sources."safe-buffer-5.0.1"
                       sources."timed-out-4.0.1"
                       sources."unzip-response-2.0.1"
                       (sources."url-parse-lax-1.0.0" // {
@@ -7478,19 +7823,18 @@ in
                     dependencies = [
                       (sources."rc-1.2.1" // {
                         dependencies = [
-                          sources."deep-extend-0.4.1"
+                          sources."deep-extend-0.4.2"
                           sources."minimist-1.2.0"
                           sources."strip-json-comments-2.0.1"
                         ];
                       })
-                      sources."safe-buffer-5.0.1"
                     ];
                   })
                   (sources."registry-url-3.1.0" // {
                     dependencies = [
                       (sources."rc-1.2.1" // {
                         dependencies = [
-                          sources."deep-extend-0.4.1"
+                          sources."deep-extend-0.4.2"
                           sources."minimist-1.2.0"
                           sources."strip-json-comments-2.0.1"
                         ];
@@ -7518,7 +7862,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-1.3.4"
+      sources."write-file-atomic-2.1.0"
       sources."debuglog-1.0.1"
       sources."imurmurhash-0.1.4"
       sources."lodash._baseindexof-3.1.0"
@@ -7550,10 +7894,10 @@ in
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
-    version = "5.0.13";
+    version = "5.0.14";
     src = fetchurl {
-      url = "https://registry.npmjs.org/titanium/-/titanium-5.0.13.tgz";
-      sha1 = "a7bfb383643fd93126cf6ac454dcc81e48be6d6d";
+      url = "https://registry.npmjs.org/titanium/-/titanium-5.0.14.tgz";
+      sha1 = "140bd332624acae65113a3ffec10b8cbb940ad0b";
     };
     dependencies = [
       sources."adm-zip-0.4.7"
@@ -7614,7 +7958,7 @@ in
                         dependencies = [
                           (sources."align-text-0.1.4" // {
                             dependencies = [
-                              (sources."kind-of-3.2.0" // {
+                              (sources."kind-of-3.2.2" // {
                                 dependencies = [
                                   sources."is-buffer-1.1.5"
                                 ];
@@ -7630,7 +7974,7 @@ in
                         dependencies = [
                           (sources."align-text-0.1.4" // {
                             dependencies = [
-                              (sources."kind-of-3.2.0" // {
+                              (sources."kind-of-3.2.2" // {
                                 dependencies = [
                                   sources."is-buffer-1.1.5"
                                 ];
@@ -7732,7 +8076,7 @@ in
                   sources."verror-1.3.6"
                 ];
               })
-              (sources."sshpk-1.13.0" // {
+              (sources."sshpk-1.13.1" // {
                 dependencies = [
                   sources."asn1-0.2.3"
                   sources."assert-plus-1.0.0"
@@ -7740,7 +8084,6 @@ in
                   sources."getpass-0.1.7"
                   sources."jsbn-0.1.1"
                   sources."tweetnacl-0.14.5"
-                  sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
                   sources."bcrypt-pbkdf-1.0.1"
                 ];
@@ -7783,7 +8126,7 @@ in
           sources."eyes-0.1.8"
           sources."isstream-0.1.2"
           sources."pkginfo-0.3.1"
-          sources."stack-trace-0.0.9"
+          sources."stack-trace-0.0.10"
         ];
       })
       (sources."fs-extra-2.1.2" // {
diff --git a/pkgs/development/node-packages/node-packages-v6.json b/pkgs/development/node-packages/node-packages-v6.json
index 96859962f0f..08b3445e3d4 100644
--- a/pkgs/development/node-packages/node-packages-v6.json
+++ b/pkgs/development/node-packages/node-packages-v6.json
@@ -13,10 +13,12 @@
 , "elasticdump"
 , "emoj"
 , "eslint"
+, "eslint_d"
 , "emojione"
 , "fetch-bower"
 , "forever"
 , "git-run"
+, "git-standup"
 , "grunt-cli"
 , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
 , "gulp"
@@ -28,6 +30,7 @@
 , "jshint"
 , "json"
 , "jsontool"
+, "json-server"
 , "js-yaml"
 , "karma"
 , { "kibana-authentication-proxy": "git://github.com/fangli/kibana-authentication-proxy.git" }
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index 05a9f45e520..5387a2acd05 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -4,6 +4,51 @@
 
 let
   sources = {
+    "async-2.4.1" = {
+      name = "async";
+      packageName = "async";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.4.1.tgz";
+        sha1 = "62a56b279c98a11d0987096a01cc3eeb8eb7bbd7";
+      };
+    };
+    "babel-core-6.25.0" = {
+      name = "babel-core";
+      packageName = "babel-core";
+      version = "6.25.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz";
+        sha1 = "7dd42b0463c742e9d5296deb3ec67a9322dad729";
+      };
+    };
+    "babel-traverse-6.25.0" = {
+      name = "babel-traverse";
+      packageName = "babel-traverse";
+      version = "6.25.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz";
+        sha1 = "2257497e2fcd19b89edc13c4c91381f9512496f1";
+      };
+    };
+    "babel-types-6.25.0" = {
+      name = "babel-types";
+      packageName = "babel-types";
+      version = "6.25.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz";
+        sha1 = "70afb248d5660e5d18f811d91c8303b54134a18e";
+      };
+    };
+    "babylon-6.17.3" = {
+      name = "babylon";
+      packageName = "babylon";
+      version = "6.17.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babylon/-/babylon-6.17.3.tgz";
+        sha1 = "1327d709950b558f204e5352587fd0290f8d8e48";
+      };
+    };
     "colors-0.6.0-1" = {
       name = "colors";
       packageName = "colors";
@@ -13,6 +58,24 @@ let
         sha1 = "6dbb68ceb8bc60f2b313dcc5ce1599f06d19e67a";
       };
     };
+    "commander-0.6.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+      };
+    };
+    "deasync-0.1.10" = {
+      name = "deasync";
+      packageName = "deasync";
+      version = "0.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.10.tgz";
+        sha1 = "4e4a6836fbe0477bd5f908308bd2a96557d5d7fe";
+      };
+    };
     "ejs-2.3.4" = {
       name = "ejs";
       packageName = "ejs";
@@ -22,6 +85,42 @@ let
         sha1 = "3c76caa09664b3583b0037af9dc136e79ec68b98";
       };
     };
+    "global-paths-0.1.2" = {
+      name = "global-paths";
+      packageName = "global-paths";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-paths/-/global-paths-0.1.2.tgz";
+        sha1 = "8869ecb2a8c80995be8a459f27ae5db7a0b03299";
+      };
+    };
+    "jsonlint-1.5.1" = {
+      name = "jsonlint";
+      packageName = "jsonlint";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonlint/-/jsonlint-1.5.1.tgz";
+        sha1 = "3cf436dcc9f3477ef3d7fa55a5bdf6d893f1c6c6";
+      };
+    };
+    "moment-2.17.1" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.17.1.tgz";
+        sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
+      };
+    };
+    "node.extend-1.0.10" = {
+      name = "node.extend";
+      packageName = "node.extend";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node.extend/-/node.extend-1.0.10.tgz";
+        sha1 = "3269bddf81c54535f408abc784c32b0d2bd55f6f";
+      };
+    };
     "pkginfo-0.2.2" = {
       name = "pkginfo";
       packageName = "pkginfo";
@@ -31,13 +130,22 @@ let
         sha1 = "97e1100dbbb275ff6fab583a256a7eea85120c8e";
       };
     };
-    "commander-0.6.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "0.6.1";
+    "resolve-1.3.3" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz";
+        sha1 = "655907c3469a8680dc2de3a275a8fdd69691f0e5";
+      };
+    };
+    "source-map-0.1.9" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.9.tgz";
+        sha1 = "250224e4e9ef7e91f4cad76cae714b90f6218599";
       };
     };
     "wrench-1.3.9" = {
@@ -49,6 +157,15 @@ let
         sha1 = "6f13ec35145317eb292ca5f6531391b244111411";
       };
     };
+    "xml2tss-0.0.5" = {
+      name = "xml2tss";
+      packageName = "xml2tss";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2tss/-/xml2tss-0.0.5.tgz";
+        sha1 = "d76a310d6b8a7ba9e4825bb3d43f5427e9fe8f6e";
+      };
+    };
     "xmldom-0.1.19" = {
       name = "xmldom";
       packageName = "xmldom";
@@ -58,301 +175,445 @@ let
         sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
       };
     };
-    "jsonlint-1.5.1" = {
-      name = "jsonlint";
-      packageName = "jsonlint";
-      version = "1.5.1";
+    "lodash-4.17.4" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonlint/-/jsonlint-1.5.1.tgz";
-        sha1 = "3cf436dcc9f3477ef3d7fa55a5bdf6d893f1c6c6";
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz";
+        sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae";
       };
     };
-    "uglify-js-2.6.1" = {
-      name = "uglify-js";
-      packageName = "uglify-js";
-      version = "2.6.1";
+    "babel-code-frame-6.22.0" = {
+      name = "babel-code-frame";
+      packageName = "babel-code-frame";
+      version = "6.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.1.tgz";
-        sha1 = "edbbe1888ba3525ded3a7bf836b30b3405d3161b";
+        url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz";
+        sha1 = "027620bee567a88c32561574e7fd0801d33118e4";
       };
     };
-    "resolve-1.3.3" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.3.3";
+    "babel-generator-6.25.0" = {
+      name = "babel-generator";
+      packageName = "babel-generator";
+      version = "6.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz";
-        sha1 = "655907c3469a8680dc2de3a275a8fdd69691f0e5";
+        url = "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz";
+        sha1 = "33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc";
       };
     };
-    "global-paths-0.1.2" = {
-      name = "global-paths";
-      packageName = "global-paths";
-      version = "0.1.2";
+    "babel-helpers-6.24.1" = {
+      name = "babel-helpers";
+      packageName = "babel-helpers";
+      version = "6.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/global-paths/-/global-paths-0.1.2.tgz";
-        sha1 = "8869ecb2a8c80995be8a459f27ae5db7a0b03299";
+        url = "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz";
+        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
       };
     };
-    "source-map-0.1.9" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.1.9";
+    "babel-messages-6.23.0" = {
+      name = "babel-messages";
+      packageName = "babel-messages";
+      version = "6.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.9.tgz";
-        sha1 = "250224e4e9ef7e91f4cad76cae714b90f6218599";
+        url = "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
       };
     };
-    "xml2tss-0.0.5" = {
-      name = "xml2tss";
-      packageName = "xml2tss";
-      version = "0.0.5";
+    "babel-template-6.25.0" = {
+      name = "babel-template";
+      packageName = "babel-template";
+      version = "6.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xml2tss/-/xml2tss-0.0.5.tgz";
-        sha1 = "d76a310d6b8a7ba9e4825bb3d43f5427e9fe8f6e";
+        url = "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz";
+        sha1 = "665241166b7c2aa4c619d71e192969552b10c071";
       };
     };
-    "moment-2.17.1" = {
-      name = "moment";
-      packageName = "moment";
-      version = "2.17.1";
+    "babel-runtime-6.23.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.17.1.tgz";
-        sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz";
+        sha1 = "0a9489f144de70efb3ce4300accdb329e2fc543b";
       };
     };
-    "node.extend-1.0.10" = {
-      name = "node.extend";
-      packageName = "node.extend";
-      version = "1.0.10";
+    "babel-register-6.24.1" = {
+      name = "babel-register";
+      packageName = "babel-register";
+      version = "6.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node.extend/-/node.extend-1.0.10.tgz";
-        sha1 = "3269bddf81c54535f408abc784c32b0d2bd55f6f";
+        url = "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz";
+        sha1 = "7e10e13a2f71065bdfad5a1787ba45bca6ded75f";
       };
     };
-    "nomnom-1.8.1" = {
-      name = "nomnom";
-      packageName = "nomnom";
-      version = "1.8.1";
+    "convert-source-map-1.5.0" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz";
-        sha1 = "2151f722472ba79e50a76fc125bb8c8f2e4dc2a7";
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz";
+        sha1 = "9acd70851c6d5dfdd93d9282e5edf94a03ff46b5";
       };
     };
-    "JSV-4.0.2" = {
-      name = "JSV";
-      packageName = "JSV";
-      version = "4.0.2";
+    "debug-2.6.8" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz";
-        sha1 = "d077f6825571f82132f9dffaed587b4029feff57";
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz";
+        sha1 = "e731531ca2ede27d188222427da17821d68ff4fc";
       };
     };
-    "underscore-1.6.0" = {
-      name = "underscore";
-      packageName = "underscore";
-      version = "1.6.0";
+    "json5-0.5.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
-        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+        url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
       };
     };
-    "chalk-0.4.0" = {
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "private-0.1.7" = {
+      name = "private";
+      packageName = "private";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/private/-/private-0.1.7.tgz";
+        sha1 = "68ce5e8a1ef0a23bb570cc28537b5332aba63ef1";
+      };
+    };
+    "slash-1.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    };
+    "source-map-0.5.6" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
+        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+      };
+    };
+    "chalk-1.1.3" = {
       name = "chalk";
       packageName = "chalk";
-      version = "0.4.0";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
-        sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
       };
     };
-    "has-color-0.1.7" = {
-      name = "has-color";
-      packageName = "has-color";
-      version = "0.1.7";
+    "esutils-2.0.2" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
-        sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
       };
     };
-    "ansi-styles-1.0.0" = {
+    "js-tokens-3.0.1" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz";
+        sha1 = "08e9f132484a2c45a30907e9dc4d5567b7f114d7";
+      };
+    };
+    "ansi-styles-2.2.1" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
-      version = "1.0.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
-        sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
       };
     };
-    "strip-ansi-0.1.1" = {
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "strip-ansi-3.0.1" = {
       name = "strip-ansi";
       packageName = "strip-ansi";
-      version = "0.1.1";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
-        sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
       };
     };
-    "async-0.2.10" = {
-      name = "async";
-      packageName = "async";
-      version = "0.2.10";
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
-        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
       };
     };
-    "source-map-0.5.6" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.6";
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
-        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
       };
     };
-    "uglify-to-browserify-1.0.2" = {
-      name = "uglify-to-browserify";
-      packageName = "uglify-to-browserify";
+    "detect-indent-4.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    };
+    "jsesc-1.3.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    };
+    "trim-right-1.0.1" = {
+      name = "trim-right";
+      packageName = "trim-right";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    };
+    "repeating-2.0.1" = {
+      name = "repeating";
+      packageName = "repeating";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    };
+    "is-finite-1.0.2" = {
+      name = "is-finite";
+      packageName = "is-finite";
       version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
       };
     };
-    "yargs-3.10.0" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "3.10.0";
+    "number-is-nan-1.0.1" = {
+      name = "number-is-nan";
+      packageName = "number-is-nan";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
-        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
       };
     };
-    "camelcase-1.2.1" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "1.2.1";
+    "core-js-2.4.1" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
-        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz";
+        sha1 = "4de911e667b0eae9124e34254b53aea6fc618d3e";
       };
     };
-    "cliui-2.1.0" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "2.1.0";
+    "regenerator-runtime-0.10.5" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.10.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
-        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
+        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
       };
     };
-    "decamelize-1.2.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "1.2.0";
+    "home-or-tmp-2.0.0" = {
+      name = "home-or-tmp";
+      packageName = "home-or-tmp";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+        url = "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
       };
     };
-    "window-size-0.1.0" = {
-      name = "window-size";
-      packageName = "window-size";
-      version = "0.1.0";
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
-        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "center-align-0.1.3" = {
-      name = "center-align";
-      packageName = "center-align";
-      version = "0.1.3";
+    "source-map-support-0.4.15" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.4.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
-        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz";
+        sha1 = "03202df65c06d2bd8c7ec2362a193056fef8d3b1";
       };
     };
-    "right-align-0.1.3" = {
-      name = "right-align";
-      packageName = "right-align";
-      version = "0.1.3";
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
-        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
       };
     };
-    "wordwrap-0.0.2" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "0.0.2";
+    "os-tmpdir-1.0.2" = {
+      name = "os-tmpdir";
+      packageName = "os-tmpdir";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
       };
     };
-    "align-text-0.1.4" = {
-      name = "align-text";
-      packageName = "align-text";
-      version = "0.1.4";
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
-        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "lazy-cache-1.0.4" = {
-      name = "lazy-cache";
-      packageName = "lazy-cache";
-      version = "1.0.4";
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
-        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
-    "kind-of-3.2.0" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "3.2.0";
+    "brace-expansion-1.1.8" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.0.tgz";
-        sha1 = "b58abe4d5c044ad33726a8c1525b48cf891bff07";
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
+        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
       };
     };
-    "longest-1.0.1" = {
-      name = "longest";
-      packageName = "longest";
-      version = "1.0.1";
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
-        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
-    "repeat-string-1.6.1" = {
-      name = "repeat-string";
-      packageName = "repeat-string";
-      version = "1.6.1";
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
-        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "is-buffer-1.1.5" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "1.1.5";
+    "globals-9.18.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "9.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz";
-        sha1 = "1f3b26ef613b214b88cbca23cc6c01d87961eecc";
+        url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";
+        sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
       };
     };
-    "path-parse-1.0.5" = {
-      name = "path-parse";
-      packageName = "path-parse";
-      version = "1.0.5";
+    "invariant-2.2.2" = {
+      name = "invariant";
+      packageName = "invariant";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
-        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
+        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz";
+        sha1 = "9e1f56ac0acdb6bf303306f338be3b204ae60360";
+      };
+    };
+    "loose-envify-1.3.1" = {
+      name = "loose-envify";
+      packageName = "loose-envify";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz";
+        sha1 = "d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848";
+      };
+    };
+    "to-fast-properties-1.0.3" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
+        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+      };
+    };
+    "bindings-1.2.1" = {
+      name = "bindings";
+      packageName = "bindings";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+        sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
+      };
+    };
+    "nan-2.6.2" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz";
+        sha1 = "e4ff34e6c95fdfb5aecc08de6596f43605a7db45";
       };
     };
     "array-unique-0.2.1" = {
@@ -445,6 +706,87 @@ let
         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
       };
     };
+    "nomnom-1.8.1" = {
+      name = "nomnom";
+      packageName = "nomnom";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz";
+        sha1 = "2151f722472ba79e50a76fc125bb8c8f2e4dc2a7";
+      };
+    };
+    "JSV-4.0.2" = {
+      name = "JSV";
+      packageName = "JSV";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz";
+        sha1 = "d077f6825571f82132f9dffaed587b4029feff57";
+      };
+    };
+    "underscore-1.6.0" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+      };
+    };
+    "chalk-0.4.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
+        sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
+      };
+    };
+    "has-color-0.1.7" = {
+      name = "has-color";
+      packageName = "has-color";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
+        sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
+      };
+    };
+    "ansi-styles-1.0.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
+        sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
+      };
+    };
+    "strip-ansi-0.1.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
+        sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
+      };
+    };
+    "is-0.3.0" = {
+      name = "is";
+      packageName = "is";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is/-/is-0.3.0.tgz";
+        sha1 = "a8f71dfc8a6e28371627f26c929098c6f4d5d5d7";
+      };
+    };
+    "path-parse-1.0.5" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
+        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
+      };
+    };
     "amdefine-1.0.1" = {
       name = "amdefine";
       packageName = "amdefine";
@@ -472,15 +814,6 @@ let
         sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
       };
     };
-    "is-0.3.0" = {
-      name = "is";
-      packageName = "is";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is/-/is-0.3.0.tgz";
-        sha1 = "a8f71dfc8a6e28371627f26c929098c6f4d5d5d7";
-      };
-    };
     "adal-node-0.1.21" = {
       name = "adal-node";
       packageName = "adal-node";
@@ -535,31 +868,31 @@ let
         sha1 = "152105f938603c94ec476c4cbd46b4ba058262bd";
       };
     };
-    "azure-arm-compute-0.20.0" = {
+    "azure-arm-compute-3.0.0-preview" = {
       name = "azure-arm-compute";
       packageName = "azure-arm-compute";
-      version = "0.20.0";
+      version = "3.0.0-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-compute/-/azure-arm-compute-0.20.0.tgz";
-        sha1 = "f6d81c1e6093f4abae2d153a7b856963f5085e32";
+        url = "https://registry.npmjs.org/azure-arm-compute/-/azure-arm-compute-3.0.0-preview.tgz";
+        sha1 = "f5f07792afcdff29ce0b7e16705342b6986f571b";
       };
     };
-    "azure-arm-datalake-analytics-1.0.1-preview" = {
+    "azure-arm-datalake-analytics-1.0.2-preview" = {
       name = "azure-arm-datalake-analytics";
       packageName = "azure-arm-datalake-analytics";
-      version = "1.0.1-preview";
+      version = "1.0.2-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-datalake-analytics/-/azure-arm-datalake-analytics-1.0.1-preview.tgz";
-        sha1 = "75461904000427e12ce11d634d74c052c86de994";
+        url = "https://registry.npmjs.org/azure-arm-datalake-analytics/-/azure-arm-datalake-analytics-1.0.2-preview.tgz";
+        sha1 = "b34f868e98a972ec80e4408d209dc06c000dfb63";
       };
     };
-    "azure-arm-datalake-store-1.0.1-preview" = {
+    "azure-arm-datalake-store-1.0.2-preview" = {
       name = "azure-arm-datalake-store";
       packageName = "azure-arm-datalake-store";
-      version = "1.0.1-preview";
+      version = "1.0.2-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-datalake-store/-/azure-arm-datalake-store-1.0.1-preview.tgz";
-        sha1 = "bd07cbeb5eb355a00b7bed69e198a1a968115dd5";
+        url = "https://registry.npmjs.org/azure-arm-datalake-store/-/azure-arm-datalake-store-1.0.2-preview.tgz";
+        sha1 = "c8b7c113016c92703a84dc28d29ba518e8c64763";
       };
     };
     "azure-arm-hdinsight-0.2.2" = {
@@ -589,13 +922,13 @@ let
         sha1 = "4e38f8d72cd532e8ad3982d26f43f73f8fb2149f";
       };
     };
-    "azure-arm-iothub-0.1.4" = {
+    "azure-arm-iothub-1.0.1-preview" = {
       name = "azure-arm-iothub";
       packageName = "azure-arm-iothub";
-      version = "0.1.4";
+      version = "1.0.1-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-iothub/-/azure-arm-iothub-0.1.4.tgz";
-        sha1 = "58a0ba627216257a05d77f6aeeff8d0b45f9463d";
+        url = "https://registry.npmjs.org/azure-arm-iothub/-/azure-arm-iothub-1.0.1-preview.tgz";
+        sha1 = "f63a6dad0355633d9347fb403f417fb195fe3b91";
       };
     };
     "azure-arm-servermanagement-0.1.2" = {
@@ -607,13 +940,13 @@ let
         sha1 = "937f87a8aeceb641a8210a9ba837323f0206eb47";
       };
     };
-    "azure-arm-network-0.18.0" = {
+    "azure-arm-network-1.1.0-preview" = {
       name = "azure-arm-network";
       packageName = "azure-arm-network";
-      version = "0.18.0";
+      version = "1.1.0-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-0.18.0.tgz";
-        sha1 = "0ebfe1adbdfdc535d6c95e3713a5c54b5144932f";
+        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-1.1.0-preview.tgz";
+        sha1 = "e6ca3e27a0169ff49849f0378bc6c531b08a2b8b";
       };
     };
     "azure-arm-powerbiembedded-0.1.0" = {
@@ -625,13 +958,13 @@ let
         sha1 = "f0050ed833e2b3b12daba83d6f9e3d96852ee970";
       };
     };
-    "azure-arm-trafficmanager-0.12.0" = {
+    "azure-arm-trafficmanager-1.1.0-preview" = {
       name = "azure-arm-trafficmanager";
       packageName = "azure-arm-trafficmanager";
-      version = "0.12.0";
+      version = "1.1.0-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-trafficmanager/-/azure-arm-trafficmanager-0.12.0.tgz";
-        sha1 = "609e585c0253960a91deaf773dae1ce184ce414b";
+        url = "https://registry.npmjs.org/azure-arm-trafficmanager/-/azure-arm-trafficmanager-1.1.0-preview.tgz";
+        sha1 = "b46cfcf7f1690e4739864dcdb5c8de322e82ec50";
       };
     };
     "azure-arm-dns-0.11.1" = {
@@ -670,13 +1003,13 @@ let
         sha1 = "76604b8d2ad7b881f6ff53a37e37365481ca8c40";
       };
     };
-    "azure-graph-1.1.1" = {
+    "azure-graph-2.1.0-preview" = {
       name = "azure-graph";
       packageName = "azure-graph";
-      version = "1.1.1";
+      version = "2.1.0-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-graph/-/azure-graph-1.1.1.tgz";
-        sha1 = "5277e750d223aec0fd2559e49149777fe1371708";
+        url = "https://registry.npmjs.org/azure-graph/-/azure-graph-2.1.0-preview.tgz";
+        sha1 = "2005abb76d9193cbfb90f25ee92823cde87d4f5f";
       };
     };
     "azure-gallery-2.0.0-pre.18" = {
@@ -895,13 +1228,13 @@ let
         sha1 = "61fb16cdc1274b3c9acaaffe9fc69df8720a2b64";
       };
     };
-    "easy-table-0.0.1" = {
+    "easy-table-1.1.0" = {
       name = "easy-table";
       packageName = "easy-table";
-      version = "0.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/easy-table/-/easy-table-0.0.1.tgz";
-        sha1 = "dbd809177a1dd7afc06b4849d1ca7eff13e299eb";
+        url = "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz";
+        sha1 = "86f9ab4c102f0371b7297b92a651d5824bc8cb73";
       };
     };
     "event-stream-3.1.5" = {
@@ -985,13 +1318,13 @@ let
         sha1 = "7d86bd56679f58ce6a84704a657dd392bba81a79";
       };
     };
-    "kuduscript-1.0.13" = {
+    "kuduscript-1.0.15" = {
       name = "kuduscript";
       packageName = "kuduscript";
-      version = "1.0.13";
+      version = "1.0.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kuduscript/-/kuduscript-1.0.13.tgz";
-        sha1 = "c74349b2092608bb0f3dc827c516ef2fddb8238e";
+        url = "https://registry.npmjs.org/kuduscript/-/kuduscript-1.0.15.tgz";
+        sha1 = "2721f05aa6876534cd30d6ded9418651cadfaa21";
       };
     };
     "moment-2.18.1" = {
@@ -1183,6 +1516,15 @@ let
         sha1 = "3c9349d196207fd1bdff9d4bc43ef72510e3a12e";
       };
     };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
     "xml2js-0.1.14" = {
       name = "xml2js";
       packageName = "xml2js";
@@ -1264,13 +1606,13 @@ let
         sha1 = "a0552ce0220742cd52e153774a32905c30e756e5";
       };
     };
-    "safe-buffer-5.0.1" = {
+    "safe-buffer-5.1.0" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz";
-        sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz";
+        sha1 = "fe4c8460397f9eaaaa58e73be46273408a45e223";
       };
     };
     "buffer-equal-constant-time-1.0.1" = {
@@ -1345,6 +1687,87 @@ let
         sha1 = "735ffaa39a1cff8ffb9598f0223abdb03a9fb2ea";
       };
     };
+    "ms-rest-2.2.0" = {
+      name = "ms-rest";
+      packageName = "ms-rest";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-2.2.0.tgz";
+        sha1 = "5f2507522f1585e26666815588dbacbcec7fb79f";
+      };
+    };
+    "ms-rest-azure-2.1.2" = {
+      name = "ms-rest-azure";
+      packageName = "ms-rest-azure";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-2.1.2.tgz";
+        sha1 = "9774b1d4141c8a3a250ae5da36fc2654542be738";
+      };
+    };
+    "@types/node-7.0.31" = {
+      name = "@types/node";
+      packageName = "@types/node";
+      version = "7.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.0.31.tgz";
+        sha1 = "80ea4d175599b2a00149c29a10a4eb2dff592e86";
+      };
+    };
+    "@types/request-0.0.42" = {
+      name = "@types/request";
+      packageName = "@types/request";
+      version = "0.0.42";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/request/-/request-0.0.42.tgz";
+        sha1 = "e47a53bf0b130464854fb693297746a0c0479c31";
+      };
+    };
+    "@types/uuid-2.0.30" = {
+      name = "@types/uuid";
+      packageName = "@types/uuid";
+      version = "2.0.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-2.0.30.tgz";
+        sha1 = "4dca12da43ae530f89f46d6d203935d2199652d5";
+      };
+    };
+    "is-buffer-1.1.5" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz";
+        sha1 = "1f3b26ef613b214b88cbca23cc6c01d87961eecc";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
+    "@types/form-data-0.0.33" = {
+      name = "@types/form-data";
+      packageName = "@types/form-data";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz";
+        sha1 = "c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8";
+      };
+    };
+    "async-0.2.7" = {
+      name = "async";
+      packageName = "async";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.2.7.tgz";
+        sha1 = "44c5ee151aece6c4bf5364cfc7c28fe4e58f18df";
+      };
+    };
     "moment-2.6.0" = {
       name = "moment";
       packageName = "moment";
@@ -1417,13 +1840,13 @@ let
         sha1 = "5c0c5685107160e72fe7489bddea0b44c2bc67bd";
       };
     };
-    "hash-base-3.0.3" = {
+    "hash-base-3.0.4" = {
       name = "hash-base";
       packageName = "hash-base";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.3.tgz";
-        sha1 = "87ec48734bfe354275535150b14821566b083807";
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
       };
     };
     "inherits-2.0.3" = {
@@ -1480,13 +1903,13 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
-    "stack-trace-0.0.9" = {
+    "stack-trace-0.0.10" = {
       name = "stack-trace";
       packageName = "stack-trace";
-      version = "0.0.9";
+      version = "0.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
-        sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
       };
     };
     "keypress-0.1.0" = {
@@ -1498,6 +1921,33 @@ let
         sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
       };
     };
+    "wcwidth-1.0.1" = {
+      name = "wcwidth";
+      packageName = "wcwidth";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz";
+        sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
+      };
+    };
+    "defaults-1.0.3" = {
+      name = "defaults";
+      packageName = "defaults";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
+        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
+      };
+    };
+    "clone-1.0.2" = {
+      name = "clone";
+      packageName = "clone";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz";
+        sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
+      };
+    };
     "from-0.1.7" = {
       name = "from";
       packageName = "from";
@@ -1561,15 +2011,6 @@ let
         sha1 = "0e3c4f24a3f052b231b12d5049085a0a099be782";
       };
     };
-    "async-0.2.7" = {
-      name = "async";
-      packageName = "async";
-      version = "0.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-0.2.7.tgz";
-        sha1 = "44c5ee151aece6c4bf5364cfc7c28fe4e58f18df";
-      };
-    };
     "debug-0.7.4" = {
       name = "debug";
       packageName = "debug";
@@ -1624,6 +2065,15 @@ let
         sha1 = "64b6abf4cd01adcaefd5009393b1d8e8bec19db0";
       };
     };
+    "async-0.2.10" = {
+      name = "async";
+      packageName = "async";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      };
+    };
     "deep-equal-1.0.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
@@ -1642,15 +2092,6 @@ let
         sha1 = "1d2b854158ec8169113c6cb7f6b6801e99e211d5";
       };
     };
-    "mkdirp-0.5.1" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-      };
-    };
     "ncp-0.4.2" = {
       name = "ncp";
       packageName = "ncp";
@@ -1669,22 +2110,13 @@ let
         sha1 = "c2338ec643df7a1b7fe5c54fa86f57428a55f33d";
       };
     };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-      };
-    };
-    "glob-7.1.1" = {
+    "glob-7.1.2" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.1";
+      version = "7.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";
-        sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha1 = "c19c9df9a028702d678612384a6552404c636d15";
       };
     };
     "fs.realpath-1.0.0" = {
@@ -1705,15 +2137,6 @@ let
         sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
       };
     };
-    "minimatch-3.0.3" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";
-        sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774";
-      };
-    };
     "once-1.4.0" = {
       name = "once";
       packageName = "once";
@@ -1723,15 +2146,6 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
-    "path-is-absolute-1.0.1" = {
-      name = "path-is-absolute";
-      packageName = "path-is-absolute";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
-      };
-    };
     "wrappy-1.0.2" = {
       name = "wrappy";
       packageName = "wrappy";
@@ -1741,33 +2155,6 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "brace-expansion-1.1.7" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz";
-        sha1 = "3effc3c50e000531fb720eaff80f0ae8ef23cf59";
-      };
-    };
-    "balanced-match-0.4.2" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "0.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
-        sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
-      };
-    };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      };
-    };
     "colors-0.6.2" = {
       name = "colors";
       packageName = "colors";
@@ -1993,33 +2380,6 @@ let
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
-    "async-2.4.0" = {
-      name = "async";
-      packageName = "async";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.4.0.tgz";
-        sha1 = "4990200f18ea5b837c2cc4f8c031a6985c385611";
-      };
-    };
-    "lodash-4.17.4" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz";
-        sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae";
-      };
-    };
-    "chalk-1.1.3" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
-      };
-    };
     "commander-2.9.0" = {
       name = "commander";
       packageName = "commander";
@@ -2047,60 +2407,6 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "ansi-styles-2.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
-      };
-    };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-      };
-    };
-    "has-ansi-2.0.0" = {
-      name = "has-ansi";
-      packageName = "has-ansi";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-      };
-    };
-    "strip-ansi-3.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
-      };
-    };
-    "supports-color-2.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
-      };
-    };
-    "ansi-regex-2.1.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
-      };
-    };
     "graceful-readlink-1.0.1" = {
       name = "graceful-readlink";
       packageName = "graceful-readlink";
@@ -2218,13 +2524,13 @@ let
         sha1 = "a3b87e40298d8c380552d8cc7628a0bb95a22918";
       };
     };
-    "sshpk-1.13.0" = {
+    "sshpk-1.13.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.13.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz";
-        sha1 = "ff2a3e4fd04497555fed97b39a0fd82fafb3a33c";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
+        sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
       };
     };
     "assert-plus-1.0.0" = {
@@ -2308,15 +2614,6 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "jodid25519-1.0.2" = {
-      name = "jodid25519";
-      packageName = "jodid25519";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
-        sha1 = "06d4912255093419477d425633606e0e90782967";
-      };
-    };
     "ecc-jsbn-0.1.1" = {
       name = "ecc-jsbn";
       packageName = "ecc-jsbn";
@@ -2434,31 +2731,31 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
-    "readable-stream-2.2.9" = {
+    "readable-stream-2.2.11" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.2.9";
+      version = "2.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz";
-        sha1 = "cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz";
+        sha1 = "0796b31f8d7688007ff0b93a8088d34aa17c0f72";
       };
     };
-    "buffer-shims-1.0.0" = {
-      name = "buffer-shims";
-      packageName = "buffer-shims";
-      version = "1.0.0";
+    "safe-buffer-5.0.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
-        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz";
+        sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
       };
     };
-    "string_decoder-1.0.0" = {
+    "string_decoder-1.0.2" = {
       name = "string_decoder";
       packageName = "string_decoder";
-      version = "1.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz";
-        sha1 = "f06f41157b664d86069f84bdbdc9b0d8ab281667";
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz";
+        sha1 = "b29e1f4e1125fa97a10382b8a533737b7491e179";
       };
     };
     "http-basic-2.5.1" = {
@@ -2488,15 +2785,6 @@ let
         sha1 = "522765b50c3510490e52d7dcfe085ef9ba96958f";
       };
     };
-    "os-homedir-1.0.2" = {
-      name = "os-homedir";
-      packageName = "os-homedir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
-        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
-      };
-    };
     "async-1.0.0" = {
       name = "async";
       packageName = "async";
@@ -2632,13 +2920,13 @@ let
         sha1 = "04e6926f662895354f3dd015203633b857297e2c";
       };
     };
-    "deep-extend-0.4.1" = {
+    "deep-extend-0.4.2" = {
       name = "deep-extend";
       packageName = "deep-extend";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz";
-        sha1 = "efe4113d08085f4e6f9687759810f807469e2253";
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz";
+        sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
       };
     };
     "ext-name-3.0.0" = {
@@ -2677,13 +2965,13 @@ let
         sha1 = "2f9da98d57a50cfda4571ce4339000500f4e6b8a";
       };
     };
-    "ext-list-2.2.0" = {
+    "ext-list-2.2.2" = {
       name = "ext-list";
       packageName = "ext-list";
-      version = "2.2.0";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ext-list/-/ext-list-2.2.0.tgz";
-        sha1 = "a3e6fdeab978bca7a320c7e786f537083fc30055";
+        url = "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz";
+        sha1 = "0b98e64ed82f5acf0f2931babf69212ef52ddd37";
       };
     };
     "meow-3.7.0" = {
@@ -2704,130 +2992,13 @@ let
         sha1 = "9cb6f4f4e9e48155a6aa0671edd336ff1479a188";
       };
     };
-    "got-2.9.2" = {
-      name = "got";
-      packageName = "got";
-      version = "2.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-2.9.2.tgz";
-        sha1 = "2e1ee58ea1e8d201e25ae580b96e63c15fefd4ee";
-      };
-    };
-    "duplexify-3.5.0" = {
-      name = "duplexify";
-      packageName = "duplexify";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz";
-        sha1 = "1aa773002e1578457e9d9d4a50b0ccaaebcbd604";
-      };
-    };
-    "infinity-agent-2.0.3" = {
-      name = "infinity-agent";
-      packageName = "infinity-agent";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz";
-        sha1 = "45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216";
-      };
-    };
-    "is-stream-1.1.0" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
-        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
-      };
-    };
-    "lowercase-keys-1.0.0" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
-        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
-      };
-    };
-    "nested-error-stacks-1.0.2" = {
-      name = "nested-error-stacks";
-      packageName = "nested-error-stacks";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz";
-        sha1 = "19f619591519f096769a5ba9a86e6eeec823c3cf";
-      };
-    };
-    "object-assign-2.1.1" = {
-      name = "object-assign";
-      packageName = "object-assign";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz";
-        sha1 = "43c36e5d569ff8e4816c4efa8be02d26967c18aa";
-      };
-    };
-    "prepend-http-1.0.4" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
-        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
-      };
-    };
-    "read-all-stream-2.2.0" = {
-      name = "read-all-stream";
-      packageName = "read-all-stream";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-all-stream/-/read-all-stream-2.2.0.tgz";
-        sha1 = "6b83370546c55ab6ade2bf75e83c66e45989bbf0";
-      };
-    };
-    "statuses-1.3.1" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz";
-        sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
-      };
-    };
-    "timed-out-2.0.0" = {
-      name = "timed-out";
-      packageName = "timed-out";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz";
-        sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
-      };
-    };
-    "end-of-stream-1.0.0" = {
-      name = "end-of-stream";
-      packageName = "end-of-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
-        sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
-      };
-    };
-    "stream-shift-1.0.0" = {
-      name = "stream-shift";
-      packageName = "stream-shift";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
-        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
-      };
-    };
-    "once-1.3.3" = {
-      name = "once";
-      packageName = "once";
-      version = "1.3.3";
+    "mime-db-1.28.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.28.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.3.3.tgz";
-        sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.28.0.tgz";
+        sha1 = "fedd349be06d2865b7fc57d837c6de4f17d7ac3c";
       };
     };
     "camelcase-keys-2.1.0" = {
@@ -2839,6 +3010,15 @@ let
         sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
       };
     };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
     "loud-rejection-1.6.0" = {
       name = "loud-rejection";
       packageName = "loud-rejection";
@@ -3136,33 +3316,6 @@ let
         sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
       };
     };
-    "repeating-2.0.1" = {
-      name = "repeating";
-      packageName = "repeating";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
-        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
-      };
-    };
-    "is-finite-1.0.2" = {
-      name = "is-finite";
-      packageName = "is-finite";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
-        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
-      };
-    };
-    "number-is-nan-1.0.1" = {
-      name = "number-is-nan";
-      packageName = "number-is-nan";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
-        sha1 = "097b602b53422a522c1afb8790318336941a011d";
-      };
-    };
     "get-stdin-4.0.1" = {
       name = "get-stdin";
       packageName = "get-stdin";
@@ -3226,33 +3379,6 @@ let
         sha1 = "dd01bac9d06d30e6f219aecb8253ee9ebdc308f1";
       };
     };
-    "debug-2.6.6" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.6.tgz";
-        sha1 = "a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a";
-      };
-    };
-    "ms-0.7.3" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz";
-        sha1 = "708155a5e44e33f5fd0fc53e81d0d40a91be1fff";
-      };
-    };
-    "os-tmpdir-1.0.2" = {
-      name = "os-tmpdir";
-      packageName = "os-tmpdir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
-        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
-      };
-    };
     "rimraf-2.2.8" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -3541,13 +3667,13 @@ let
         sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
       };
     };
-    "stream-http-2.7.0" = {
+    "stream-http-2.7.2" = {
       name = "stream-http";
       packageName = "stream-http";
-      version = "2.7.0";
+      version = "2.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.7.0.tgz";
-        sha1 = "cec1f4e3b494bc4a81b451808970f8b20b4ed5f6";
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz";
+        sha1 = "40a050ec8dc3b53b33d9909415c02c0bf1abfbad";
       };
     };
     "subarg-1.0.0" = {
@@ -3622,13 +3748,13 @@ let
         sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
       };
     };
-    "jsonparse-1.3.0" = {
+    "jsonparse-1.3.1" = {
       name = "jsonparse";
       packageName = "jsonparse";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.0.tgz";
-        sha1 = "85fc245b1d9259acc6941960b905adf64e7de0e8";
+        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
+        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
       };
     };
     "through-2.3.8" = {
@@ -3757,22 +3883,22 @@ let
         sha1 = "888c723596cdf7612f6498233eebd7a35301737d";
       };
     };
-    "create-hash-1.1.2" = {
+    "create-hash-1.1.3" = {
       name = "create-hash";
       packageName = "create-hash";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz";
-        sha1 = "51210062d7bb7479f6c65bb41a92208b1d61abad";
+        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz";
+        sha1 = "606042ac8b9262750f483caddab0f5819172d8fd";
       };
     };
-    "create-hmac-1.1.4" = {
+    "create-hmac-1.1.6" = {
       name = "create-hmac";
       packageName = "create-hmac";
-      version = "1.1.4";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz";
-        sha1 = "d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170";
+        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz";
+        sha1 = "acb9e221a4e17bdb076e90657c42b93e3726cf06";
       };
     };
     "diffie-hellman-5.0.2" = {
@@ -3784,13 +3910,13 @@ let
         sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
       };
     };
-    "pbkdf2-3.0.9" = {
+    "pbkdf2-3.0.12" = {
       name = "pbkdf2";
       packageName = "pbkdf2";
-      version = "3.0.9";
+      version = "3.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz";
-        sha1 = "f2c4b25a600058b3c3773c086c37dbbee1ffe693";
+        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz";
+        sha1 = "be36785c5067ea48d806ff923288c5f750b6b8a2";
       };
     };
     "public-encrypt-4.0.0" = {
@@ -3802,13 +3928,13 @@ let
         sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
       };
     };
-    "randombytes-2.0.3" = {
+    "randombytes-2.0.5" = {
       name = "randombytes";
       packageName = "randombytes";
-      version = "2.0.3";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz";
-        sha1 = "674c99760901c3c4112771a31e521dc349cc09ec";
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz";
+        sha1 = "dc009a246b8d09a177b4b7a0ae77bc570f4b1b79";
       };
     };
     "browserify-aes-1.0.6" = {
@@ -3955,13 +4081,13 @@ let
         sha1 = "48ba240b45a9280e94748990ba597d216617fd40";
       };
     };
-    "ripemd160-1.0.1" = {
+    "ripemd160-2.0.1" = {
       name = "ripemd160";
       packageName = "ripemd160";
-      version = "1.0.1";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz";
-        sha1 = "93a4bbd4942bc574b69a8fa57c71de10ecca7d6e";
+        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz";
+        sha1 = "0f4584295c53a3628af7e6d79aca21ce57d1c6e7";
       };
     };
     "sha.js-2.4.8" = {
@@ -3973,6 +4099,15 @@ let
         sha1 = "37068c2c476b6baf402d14a49c67f597921f634f";
       };
     };
+    "hash-base-2.0.2" = {
+      name = "hash-base";
+      packageName = "hash-base";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz";
+        sha1 = "66ea1d856db4e8a5470cadf6fce23ae5244ef2e1";
+      };
+    };
     "miller-rabin-4.0.0" = {
       name = "miller-rabin";
       packageName = "miller-rabin";
@@ -4009,13 +4144,13 @@ let
         sha1 = "7bd41784d32493987aeb239b6b4e1c57a873b917";
       };
     };
-    "acorn-4.0.11" = {
+    "acorn-4.0.13" = {
       name = "acorn";
       packageName = "acorn";
-      version = "4.0.11";
+      version = "4.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz";
-        sha1 = "edcda3bd937e7556410d42ed5860f67399c794c0";
+        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz";
+        sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
       };
     };
     "stream-splicer-2.0.0" = {
@@ -4243,13 +4378,13 @@ let
         sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
       };
     };
-    "mime-1.3.4" = {
+    "mime-1.3.6" = {
       name = "mime";
       packageName = "mime";
-      version = "1.3.4";
+      version = "1.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz";
+        sha1 = "591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0";
       };
     };
     "peerflix-0.34.0" = {
@@ -4909,6 +5044,24 @@ let
         sha1 = "de1905c636af874a8fba862d9aabddd1f920461c";
       };
     };
+    "end-of-stream-1.0.0" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
+        sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
+      };
+    };
+    "once-1.3.3" = {
+      name = "once";
+      packageName = "once";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.3.3.tgz";
+        sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
+      };
+    };
     "deep-extend-0.2.11" = {
       name = "deep-extend";
       packageName = "deep-extend";
@@ -5044,13 +5197,13 @@ let
         sha1 = "50346e42a43b35daf2a86f414afb153629a854be";
       };
     };
-    "random-access-file-1.7.2" = {
+    "random-access-file-1.8.1" = {
       name = "random-access-file";
       packageName = "random-access-file";
-      version = "1.7.2";
+      version = "1.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-file/-/random-access-file-1.7.2.tgz";
-        sha1 = "053e2e8ec7670370a8e8b10da962e45753f22dbc";
+        url = "https://registry.npmjs.org/random-access-file/-/random-access-file-1.8.1.tgz";
+        sha1 = "b1a54a0f924fbd4d45731a5771aea36be2166532";
       };
     };
     "run-parallel-1.1.6" = {
@@ -5737,13 +5890,13 @@ let
         sha1 = "2214ee04ae1c2ec012a52c7c185313e341a6fb38";
       };
     };
-    "cordova-lib-7.0.0" = {
+    "cordova-lib-7.0.1" = {
       name = "cordova-lib";
       packageName = "cordova-lib";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-lib/-/cordova-lib-7.0.0.tgz";
-        sha1 = "aa3f0a9be0e2cf4de797f394eff4ad31ac067d0f";
+        url = "https://registry.npmjs.org/cordova-lib/-/cordova-lib-7.0.1.tgz";
+        sha1 = "31cbb90daeb66a67a7d3091636ce729a22a4f7ff";
       };
     };
     "editor-1.0.0" = {
@@ -5944,13 +6097,13 @@ let
         sha1 = "364200d5f13646ca8bcd44490271335614792300";
       };
     };
-    "big-integer-1.6.22" = {
+    "big-integer-1.6.23" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.22";
+      version = "1.6.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.22.tgz";
-        sha1 = "487c95fce886022ea48ff5f19e388932df46dd2e";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.23.tgz";
+        sha1 = "e85d508220c74e3f43a4ce72eed51f3da4db94d1";
       };
     };
     "sax-0.3.5" = {
@@ -5989,13 +6142,13 @@ let
         sha1 = "7c30825b9450b9e6185ba27533eaf6e2067d4b42";
       };
     };
-    "cordova-create-1.1.0" = {
+    "cordova-create-1.1.1" = {
       name = "cordova-create";
       packageName = "cordova-create";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-create/-/cordova-create-1.1.0.tgz";
-        sha1 = "9ac3f9d418db3c09c75859324b05561d4d635e70";
+        url = "https://registry.npmjs.org/cordova-create/-/cordova-create-1.1.1.tgz";
+        sha1 = "55282493ab396d9303f72febbaf2f978fa764cd2";
       };
     };
     "cordova-fetch-1.1.0" = {
@@ -6034,6 +6187,15 @@ let
         sha1 = "fade86a92799a813e9b42511cdf3dfa6cc8dbefe";
       };
     };
+    "glob-7.1.1" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";
+        sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8";
+      };
+    };
     "init-package-json-1.10.1" = {
       name = "init-package-json";
       packageName = "init-package-json";
@@ -6187,13 +6349,13 @@ let
         sha1 = "270e06b67b2ae94bcfee6592ed39eb42303d186f";
       };
     };
-    "dependency-ls-1.1.0" = {
+    "dependency-ls-1.1.1" = {
       name = "dependency-ls";
       packageName = "dependency-ls";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dependency-ls/-/dependency-ls-1.1.0.tgz";
-        sha1 = "94cfe674620f5e9f2924d0501f9c6e710fc90f55";
+        url = "https://registry.npmjs.org/dependency-ls/-/dependency-ls-1.1.1.tgz";
+        sha1 = "0481b07f023d74ce311192e5c690d13e18600054";
       };
     };
     "is-url-1.2.2" = {
@@ -6205,13 +6367,13 @@ let
         sha1 = "498905a593bf47cc2d9e7f738372bbf7696c7f26";
       };
     };
-    "shelljs-0.7.7" = {
+    "shelljs-0.7.8" = {
       name = "shelljs";
       packageName = "shelljs";
-      version = "0.7.7";
+      version = "0.7.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz";
-        sha1 = "b2f5c77ef97148f4b4f6e22682e10bba8667cff1";
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz";
+        sha1 = "decbcf874b0d1e5fb72e14b164a9683048e9acb3";
       };
     };
     "q-1.4.1" = {
@@ -6277,13 +6439,13 @@ let
         sha1 = "cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3";
       };
     };
-    "express-4.15.2" = {
+    "express-4.15.3" = {
       name = "express";
       packageName = "express";
-      version = "4.15.2";
+      version = "4.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.15.2.tgz";
-        sha1 = "af107fc148504457f2dca9a6f2571d7129b97b35";
+        url = "https://registry.npmjs.org/express/-/express-4.15.3.tgz";
+        sha1 = "bab65d0f03aa80c358408972fc700f916944b662";
       };
     };
     "accepts-1.3.3" = {
@@ -6403,13 +6565,13 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "debug-2.6.1" = {
+    "debug-2.6.7" = {
       name = "debug";
       packageName = "debug";
-      version = "2.6.1";
+      version = "2.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz";
-        sha1 = "79855090ba2c4e3115cc7d8769491d58f0491351";
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz";
+        sha1 = "92bad1f6d05bbb6bba22cca88bcd0ec894c2861e";
       };
     };
     "depd-1.1.0" = {
@@ -6448,13 +6610,13 @@ let
         sha1 = "6f631aef336d6c46362b51764044ce216be3c051";
       };
     };
-    "finalhandler-1.0.2" = {
+    "finalhandler-1.0.3" = {
       name = "finalhandler";
       packageName = "finalhandler";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.2.tgz";
-        sha1 = "d0e36f9dbc557f2de14423df6261889e9d60c93a";
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz";
+        sha1 = "ef47e77950e999780e86022a560e3217e0d0cc89";
       };
     };
     "fresh-0.5.0" = {
@@ -6529,22 +6691,22 @@ let
         sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
       };
     };
-    "send-0.15.1" = {
+    "send-0.15.3" = {
       name = "send";
       packageName = "send";
-      version = "0.15.1";
+      version = "0.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.15.1.tgz";
-        sha1 = "8a02354c26e6f5cca700065f5f0cdeba90ec7b5f";
+        url = "https://registry.npmjs.org/send/-/send-0.15.3.tgz";
+        sha1 = "5013f9f99023df50d1bd9892c19e3defd1d53309";
       };
     };
-    "serve-static-1.12.1" = {
+    "serve-static-1.12.3" = {
       name = "serve-static";
       packageName = "serve-static";
-      version = "1.12.1";
+      version = "1.12.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.12.1.tgz";
-        sha1 = "7443a965e3ced647aceb5639fa06bf4d1bbe0039";
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz";
+        sha1 = "9f4ba19e2f3030c547f8af99107838ec38d5b1e2";
       };
     };
     "setprototypeof-1.0.3" = {
@@ -6556,6 +6718,15 @@ let
         sha1 = "66567e37043eeb4f04d91bd658c0cbefb55b8e04";
       };
     };
+    "statuses-1.3.1" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz";
+        sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
+      };
+    };
     "type-is-1.6.15" = {
       name = "type-is";
       packageName = "type-is";
@@ -6574,24 +6745,6 @@ let
         sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
       };
     };
-    "ms-0.7.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
-        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
-      };
-    };
-    "debug-2.6.4" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.4.tgz";
-        sha1 = "7586a9b3c39741c0282ae33445c4e8ac74734fe0";
-      };
-    };
     "unpipe-1.0.0" = {
       name = "unpipe";
       packageName = "unpipe";
@@ -6637,6 +6790,15 @@ let
         sha1 = "5f8b8ed98aca545656bf572997387f904a722257";
       };
     };
+    "mime-1.3.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -6655,13 +6817,13 @@ let
         sha1 = "fc5c6b0765673d92a2d4ac8b4dc0aa88702e2bd4";
       };
     };
-    "npm-package-arg-5.0.1" = {
+    "npm-package-arg-5.1.2" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
-      version = "5.0.1";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.0.1.tgz";
-        sha1 = "09a816e3f45a549e3ddaf33e9bae5e7b31077872";
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz";
+        sha1 = "fb18d17bb61e60900d6312619919bd753755ab37";
       };
     };
     "promzard-0.3.0" = {
@@ -6943,13 +7105,13 @@ let
         sha1 = "1d17679c069cda5d040991a09dbc2c0db377e55e";
       };
     };
-    "node-gyp-3.6.1" = {
+    "node-gyp-3.6.2" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "3.6.1";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.1.tgz";
-        sha1 = "19561067ff185464aded478212681f47fd578cbc";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
+        sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
       };
     };
     "nopt-3.0.6" = {
@@ -7141,33 +7303,6 @@ let
         sha1 = "b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b";
       };
     };
-    "wcwidth-1.0.1" = {
-      name = "wcwidth";
-      packageName = "wcwidth";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz";
-        sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
-      };
-    };
-    "defaults-1.0.3" = {
-      name = "defaults";
-      packageName = "defaults";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
-        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
-      };
-    };
-    "clone-1.0.2" = {
-      name = "clone";
-      packageName = "clone";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz";
-        sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
-      };
-    };
     "proto-list-1.2.4" = {
       name = "proto-list";
       packageName = "proto-list";
@@ -7312,6 +7447,15 @@ let
         sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
       };
     };
+    "buffer-shims-1.0.0" = {
+      name = "buffer-shims";
+      packageName = "buffer-shims";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
+        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+      };
+    };
     "builtins-0.0.7" = {
       name = "builtins";
       packageName = "builtins";
@@ -7645,6 +7789,24 @@ let
         sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
       };
     };
+    "duplexify-3.5.0" = {
+      name = "duplexify";
+      packageName = "duplexify";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz";
+        sha1 = "1aa773002e1578457e9d9d4a50b0ccaaebcbd604";
+      };
+    };
+    "infinity-agent-2.0.3" = {
+      name = "infinity-agent";
+      packageName = "infinity-agent";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz";
+        sha1 = "45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216";
+      };
+    };
     "is-redirect-1.0.0" = {
       name = "is-redirect";
       packageName = "is-redirect";
@@ -7654,6 +7816,24 @@ let
         sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
       };
     };
+    "lowercase-keys-1.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+      };
+    };
+    "nested-error-stacks-1.0.2" = {
+      name = "nested-error-stacks";
+      packageName = "nested-error-stacks";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz";
+        sha1 = "19f619591519f096769a5ba9a86e6eeec823c3cf";
+      };
+    };
     "object-assign-3.0.0" = {
       name = "object-assign";
       packageName = "object-assign";
@@ -7663,6 +7843,15 @@ let
         sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2";
       };
     };
+    "prepend-http-1.0.4" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    };
     "read-all-stream-3.1.0" = {
       name = "read-all-stream";
       packageName = "read-all-stream";
@@ -7672,6 +7861,24 @@ let
         sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
       };
     };
+    "timed-out-2.0.0" = {
+      name = "timed-out";
+      packageName = "timed-out";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz";
+        sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
+      };
+    };
+    "stream-shift-1.0.0" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    };
     "rc-1.2.1" = {
       name = "rc";
       packageName = "rc";
@@ -8105,24 +8312,6 @@ let
         sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
       };
     };
-    "bindings-1.2.1" = {
-      name = "bindings";
-      packageName = "bindings";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
-        sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
-      };
-    };
-    "nan-2.6.2" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz";
-        sha1 = "e4ff34e6c95fdfb5aecc08de6596f43605a7db45";
-      };
-    };
     "jsonparse-0.0.6" = {
       name = "jsonparse";
       packageName = "jsonparse";
@@ -8132,13 +8321,13 @@ let
         sha1 = "ab599f19324d4ae178fa21a930192ab11ab61a4e";
       };
     };
-    "debug-1.0.4" = {
+    "debug-1.0.5" = {
       name = "debug";
       packageName = "debug";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+        url = "https://registry.npmjs.org/debug/-/debug-1.0.5.tgz";
+        sha1 = "f7241217430f99dec4c2b473eab92228e874c2ac";
       };
     };
     "lodash-2.4.2" = {
@@ -8177,15 +8366,6 @@ let
         sha1 = "8c7ac44b87baab55cd50c828dc38778eac052ea5";
       };
     };
-    "ms-0.6.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
-        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
-      };
-    };
     "better-curry-1.6.0" = {
       name = "better-curry";
       packageName = "better-curry";
@@ -8558,13 +8738,13 @@ let
         sha1 = "4d4e55f171356121b2c5f6559f944705ab28db15";
       };
     };
-    "tar-stream-1.5.2" = {
+    "tar-stream-1.5.4" = {
       name = "tar-stream";
       packageName = "tar-stream";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz";
-        sha1 = "fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf";
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz";
+        sha1 = "36549cf04ed1aee9b2a30c0143252238daf94016";
       };
     };
     "through2-0.6.5" = {
@@ -8639,13 +8819,13 @@ let
         sha1 = "9500635e257945d6feede185f5d7a24773455b17";
       };
     };
-    "pull-stream-3.5.0" = {
+    "pull-stream-3.6.0" = {
       name = "pull-stream";
       packageName = "pull-stream";
-      version = "3.5.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.5.0.tgz";
-        sha1 = "1ee5b6f76fd3b3a49a5afb6ded5c0320acb3cfc7";
+        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.0.tgz";
+        sha1 = "59d033a6815d4e3097d47c3d2b1893a9e58a2351";
       };
     };
     "typewiselite-1.0.0" = {
@@ -8765,13 +8945,13 @@ let
         sha1 = "a4ecee01e330155e9124bbbcf4761f21b38f51f5";
       };
     };
-    "pull-pushable-2.0.1" = {
+    "pull-pushable-2.1.1" = {
       name = "pull-pushable";
       packageName = "pull-pushable";
-      version = "2.0.1";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.0.1.tgz";
-        sha1 = "02bdca51a39cf585f483fbecde2fc9378076f212";
+        url = "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.1.1.tgz";
+        sha1 = "86666abbe3f5402f1f7ead03eefd69b785eca5b8";
       };
     };
     "pull-window-2.1.4" = {
@@ -8873,13 +9053,13 @@ let
         sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
       };
     };
-    "awscred-1.2.0" = {
-      name = "awscred";
-      packageName = "awscred";
-      version = "1.2.0";
+    "aws-sdk-2.70.0" = {
+      name = "aws-sdk";
+      packageName = "aws-sdk";
+      version = "2.70.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/awscred/-/awscred-1.2.0.tgz";
-        sha1 = "9ba714a0d2feb625b848f15c62746c07aebdc3b5";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.70.0.tgz";
+        sha1 = "4163d94ac9e6a82f6a073ab74f8ae3c28a0a7534";
       };
     };
     "request-2.81.0" = {
@@ -8891,6 +9071,42 @@ let
         sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
       };
     };
+    "crypto-browserify-1.0.9" = {
+      name = "crypto-browserify";
+      packageName = "crypto-browserify";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz";
+        sha1 = "cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0";
+      };
+    };
+    "jmespath-0.15.0" = {
+      name = "jmespath";
+      packageName = "jmespath";
+      version = "0.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz";
+        sha1 = "a3f222a9aae9f966f5d27c796510e28091764217";
+      };
+    };
+    "sax-1.2.1" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
+        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
+      };
+    };
+    "url-0.10.3" = {
+      name = "url";
+      packageName = "url";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url/-/url-0.10.3.tgz";
+        sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
+      };
+    };
     "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -8972,6 +9188,15 @@ let
         sha1 = "b82fffcf2828624afc1ec26530a66d6d1781a9cc";
       };
     };
+    "conf-1.1.2" = {
+      name = "conf";
+      packageName = "conf";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conf/-/conf-1.1.2.tgz";
+        sha1 = "a164003022dd1643cd5abd9653071bd3b0a19f50";
+      };
+    };
     "got-6.7.1" = {
       name = "got";
       packageName = "got";
@@ -9008,6 +9233,15 @@ let
         sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
       };
     };
+    "skin-tone-1.0.0" = {
+      name = "skin-tone";
+      packageName = "skin-tone";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/skin-tone/-/skin-tone-1.0.0.tgz";
+        sha1 = "d4ba3e8e5e92760e4d1d3b603d772805c6cb256f";
+      };
+    };
     "execa-0.5.1" = {
       name = "execa";
       packageName = "execa";
@@ -9062,6 +9296,15 @@ let
         sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
       };
     };
+    "lru-cache-4.1.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz";
+        sha1 = "622e32e82488b49279114a4f9ecf45e7cd6bba55";
+      };
+    };
     "path-key-2.0.1" = {
       name = "path-key";
       packageName = "path-key";
@@ -9071,6 +9314,87 @@ let
         sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
       };
     };
+    "dot-prop-4.1.1" = {
+      name = "dot-prop";
+      packageName = "dot-prop";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-4.1.1.tgz";
+        sha1 = "a8493f0b7b5eeec82525b5c7587fa7de7ca859c1";
+      };
+    };
+    "env-paths-1.0.0" = {
+      name = "env-paths";
+      packageName = "env-paths";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz";
+        sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
+      };
+    };
+    "make-dir-1.0.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz";
+        sha1 = "97a011751e91dd87cfadef58832ebb04936de978";
+      };
+    };
+    "pkg-up-2.0.0" = {
+      name = "pkg-up";
+      packageName = "pkg-up";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+      };
+    };
+    "find-up-2.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    };
+    "locate-path-2.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    };
+    "p-locate-2.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    };
+    "path-exists-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
+    "p-limit-1.1.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz";
+        sha1 = "b07ff2d9a5d88bec806035895a2bab66a27988bc";
+      };
+    };
     "create-error-class-3.0.2" = {
       name = "create-error-class";
       packageName = "create-error-class";
@@ -9143,13 +9467,13 @@ let
         sha1 = "e667783d92e89dbd342818b5230b9d62a672ad18";
       };
     };
-    "babel-code-frame-6.22.0" = {
-      name = "babel-code-frame";
-      packageName = "babel-code-frame";
-      version = "6.22.0";
+    "unicode-emoji-modifier-base-1.0.0" = {
+      name = "unicode-emoji-modifier-base";
+      packageName = "unicode-emoji-modifier-base";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz";
-        sha1 = "027620bee567a88c32561574e7fd0801d33118e4";
+        url = "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz";
+        sha1 = "dbbd5b54ba30f287e2a8d5a249da6c0cef369459";
       };
     };
     "doctrine-2.0.0" = {
@@ -9161,22 +9485,22 @@ let
         sha1 = "c73d8d2909d22291e1a007a395804da8b665fe63";
       };
     };
-    "escope-3.6.0" = {
-      name = "escope";
-      packageName = "escope";
-      version = "3.6.0";
+    "eslint-scope-3.7.1" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz";
-        sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz";
+        sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8";
       };
     };
-    "espree-3.4.2" = {
+    "espree-3.4.3" = {
       name = "espree";
       packageName = "espree";
-      version = "3.4.2";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-3.4.2.tgz";
-        sha1 = "38dbdedbedc95b8961a1fbf04734a8f6a9c8c592";
+        url = "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz";
+        sha1 = "2910b5ccd49ce893c2ffffaab4fd8b3a31b82374";
       };
     };
     "esquery-1.0.0" = {
@@ -9197,15 +9521,6 @@ let
         sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
       };
     };
-    "esutils-2.0.2" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
-        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
-      };
-    };
     "file-entry-cache-2.0.0" = {
       name = "file-entry-cache";
       packageName = "file-entry-cache";
@@ -9215,31 +9530,22 @@ let
         sha1 = "c392990c3e684783d838b8c84a45d8a048458361";
       };
     };
-    "globals-9.17.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "9.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz";
-        sha1 = "0c0ca696d9b9bb694d2e5470bd37777caad50286";
-      };
-    };
-    "ignore-3.3.0" = {
+    "ignore-3.3.3" = {
       name = "ignore";
       packageName = "ignore";
-      version = "3.3.0";
+      version = "3.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.0.tgz";
-        sha1 = "3812d22cbe9125f2c2b4915755a1b8abd745a001";
+        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz";
+        sha1 = "432352e57accd87ab3110e82d3fea0e47812156d";
       };
     };
-    "inquirer-0.12.0" = {
+    "inquirer-3.1.0" = {
       name = "inquirer";
       packageName = "inquirer";
-      version = "0.12.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz";
-        sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-3.1.0.tgz";
+        sha1 = "e05400d48b94937c2d3caa7038663ba9189aab01";
       };
     };
     "is-resolvable-1.0.0" = {
@@ -9251,13 +9557,13 @@ let
         sha1 = "8df57c61ea2e3c501408d100fb013cf8d6e0cc62";
       };
     };
-    "js-yaml-3.8.3" = {
+    "js-yaml-3.8.4" = {
       name = "js-yaml";
       packageName = "js-yaml";
-      version = "3.8.3";
+      version = "3.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.3.tgz";
-        sha1 = "33a05ec481c850c8875929166fe1beb61c728766";
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.4.tgz";
+        sha1 = "520b4564f86573ba96662af85a8cafa7b4b5a6f6";
       };
     };
     "levn-0.3.0" = {
@@ -9287,13 +9593,22 @@ let
         sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
       };
     };
-    "pluralize-1.2.1" = {
+    "pluralize-4.0.0" = {
       name = "pluralize";
       packageName = "pluralize";
-      version = "1.2.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz";
-        sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+        url = "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz";
+        sha1 = "59b708c1c0190a2f692f1c7618c446b052fd1762";
+      };
+    };
+    "progress-2.0.0" = {
+      name = "progress";
+      packageName = "progress";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz";
+        sha1 = "8a1be366bf8fc23db2bd23f10c6fe920b4389d1f";
       };
     };
     "require-uncached-1.0.3" = {
@@ -9305,49 +9620,13 @@ let
         sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
       };
     };
-    "strip-bom-3.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
-      };
-    };
-    "table-3.8.3" = {
+    "table-4.0.1" = {
       name = "table";
       packageName = "table";
-      version = "3.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-3.8.3.tgz";
-        sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
-      };
-    };
-    "js-tokens-3.0.1" = {
-      name = "js-tokens";
-      packageName = "js-tokens";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz";
-        sha1 = "08e9f132484a2c45a30907e9dc4d5567b7f114d7";
-      };
-    };
-    "es6-map-0.1.5" = {
-      name = "es6-map";
-      packageName = "es6-map";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz";
-        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
-      };
-    };
-    "es6-weak-map-2.0.2" = {
-      name = "es6-weak-map";
-      packageName = "es6-weak-map";
-      version = "2.0.2";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz";
-        sha1 = "5e3ab32251ffd1538a1f8e5ffa1357772f92d96f";
+        url = "https://registry.npmjs.org/table/-/table-4.0.1.tgz";
+        sha1 = "a8116c133fac2c61f4a420ab6cdf5c4d61f0e435";
       };
     };
     "esrecurse-4.1.0" = {
@@ -9359,60 +9638,6 @@ let
         sha1 = "4713b6536adf7f2ac4f327d559e7756bff648220";
       };
     };
-    "d-1.0.0" = {
-      name = "d";
-      packageName = "d";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/d/-/d-1.0.0.tgz";
-        sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f";
-      };
-    };
-    "es5-ext-0.10.15" = {
-      name = "es5-ext";
-      packageName = "es5-ext";
-      version = "0.10.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz";
-        sha1 = "c330a5934c1ee21284a7c081a86e5fd937c91ea6";
-      };
-    };
-    "es6-iterator-2.0.1" = {
-      name = "es6-iterator";
-      packageName = "es6-iterator";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz";
-        sha1 = "8e319c9f0453bf575d374940a655920e59ca5512";
-      };
-    };
-    "es6-set-0.1.5" = {
-      name = "es6-set";
-      packageName = "es6-set";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz";
-        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
-      };
-    };
-    "es6-symbol-3.1.1" = {
-      name = "es6-symbol";
-      packageName = "es6-symbol";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
-        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
-      };
-    };
-    "event-emitter-0.3.5" = {
-      name = "event-emitter";
-      packageName = "event-emitter";
-      version = "0.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
-        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
-      };
-    };
     "estraverse-4.1.1" = {
       name = "estraverse";
       packageName = "estraverse";
@@ -9539,6 +9764,24 @@ let
         sha1 = "fc06e5a1683fbda13de667aff717bbc10a48f37f";
       };
     };
+    "ansi-escapes-2.0.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz";
+        sha1 = "5bae52be424878dd9783e8910e3fc2922e83c81b";
+      };
+    };
+    "cli-cursor-2.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    };
     "cli-width-2.1.0" = {
       name = "cli-width";
       packageName = "cli-width";
@@ -9548,13 +9791,121 @@ let
         sha1 = "b234ca209b29ef66fc518d9b98d5847b00edf00a";
       };
     };
-    "string-width-1.0.2" = {
+    "external-editor-2.0.4" = {
+      name = "external-editor";
+      packageName = "external-editor";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz";
+        sha1 = "1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972";
+      };
+    };
+    "figures-2.0.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    };
+    "run-async-2.3.0" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    };
+    "rx-lite-4.0.8" = {
+      name = "rx-lite";
+      packageName = "rx-lite";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz";
+        sha1 = "0b1e11af8bc44836f04a6407e92da42467b79444";
+      };
+    };
+    "rx-lite-aggregates-4.0.8" = {
+      name = "rx-lite-aggregates";
+      packageName = "rx-lite-aggregates";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz";
+        sha1 = "753b87a89a11c95467c4ac1626c4efc4e05c67be";
+      };
+    };
+    "string-width-2.0.0" = {
       name = "string-width";
       packageName = "string-width";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
-        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+        url = "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz";
+        sha1 = "635c5436cc72a6e0c387ceca278d4e2eec52687e";
+      };
+    };
+    "restore-cursor-2.0.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    };
+    "onetime-2.0.1" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    };
+    "iconv-lite-0.4.18" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz";
+        sha1 = "23d8656b16aae6742ac29732ea8f0336a4789cf2";
+      };
+    };
+    "jschardet-1.4.2" = {
+      name = "jschardet";
+      packageName = "jschardet";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jschardet/-/jschardet-1.4.2.tgz";
+        sha1 = "2aa107f142af4121d145659d44f50830961e699a";
+      };
+    };
+    "tmp-0.0.31" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz";
+        sha1 = "8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7";
+      };
+    };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "is-fullwidth-code-point-2.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
       };
     };
     "tryit-1.0.3" = {
@@ -9674,22 +10025,157 @@ let
         sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
       };
     };
-    "string-width-2.0.0" = {
+    "eslint-3.19.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "3.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz";
+        sha1 = "c8fc6201c7f40dd08941b87c085767386a679acc";
+      };
+    };
+    "supports-color-3.2.3" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz";
+        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+      };
+    };
+    "escope-3.6.0" = {
+      name = "escope";
+      packageName = "escope";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz";
+        sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+      };
+    };
+    "inquirer-0.12.0" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz";
+        sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+      };
+    };
+    "pluralize-1.2.1" = {
+      name = "pluralize";
+      packageName = "pluralize";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz";
+        sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+      };
+    };
+    "strip-bom-3.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    };
+    "table-3.8.3" = {
+      name = "table";
+      packageName = "table";
+      version = "3.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/table/-/table-3.8.3.tgz";
+        sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
+      };
+    };
+    "es6-map-0.1.5" = {
+      name = "es6-map";
+      packageName = "es6-map";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz";
+        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+      };
+    };
+    "es6-weak-map-2.0.2" = {
+      name = "es6-weak-map";
+      packageName = "es6-weak-map";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz";
+        sha1 = "5e3ab32251ffd1538a1f8e5ffa1357772f92d96f";
+      };
+    };
+    "d-1.0.0" = {
+      name = "d";
+      packageName = "d";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d/-/d-1.0.0.tgz";
+        sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f";
+      };
+    };
+    "es5-ext-0.10.23" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.23.tgz";
+        sha1 = "7578b51be974207a5487821b56538c224e4e7b38";
+      };
+    };
+    "es6-iterator-2.0.1" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz";
+        sha1 = "8e319c9f0453bf575d374940a655920e59ca5512";
+      };
+    };
+    "es6-set-0.1.5" = {
+      name = "es6-set";
+      packageName = "es6-set";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz";
+        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
+      };
+    };
+    "es6-symbol-3.1.1" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
+        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+      };
+    };
+    "event-emitter-0.3.5" = {
+      name = "event-emitter";
+      packageName = "event-emitter";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+      };
+    };
+    "string-width-1.0.2" = {
       name = "string-width";
       packageName = "string-width";
-      version = "2.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz";
-        sha1 = "635c5436cc72a6e0c387ceca278d4e2eec52687e";
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
       };
     };
-    "is-fullwidth-code-point-2.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "2.0.0";
+    "has-flag-1.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
+        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
       };
     };
     "glob-3.2.11" = {
@@ -9836,13 +10322,13 @@ let
         sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
       };
     };
-    "chokidar-1.6.1" = {
+    "chokidar-1.7.0" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "1.6.1";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz";
-        sha1 = "2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz";
+        sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
       };
     };
     "ps-tree-0.0.3" = {
@@ -9908,13 +10394,13 @@ let
         sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
       };
     };
-    "fsevents-1.1.1" = {
+    "fsevents-1.1.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz";
-        sha1 = "f19fd28f43eeaf761680e519a203c4d0b3d31aff";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz";
+        sha1 = "3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4";
       };
     };
     "micromatch-2.3.11" = {
@@ -9980,6 +10466,15 @@ let
         sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
       };
     };
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    };
     "normalize-path-2.1.1" = {
       name = "normalize-path";
       packageName = "normalize-path";
@@ -10079,13 +10574,40 @@ let
         sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
       };
     };
-    "randomatic-1.1.6" = {
+    "randomatic-1.1.7" = {
       name = "randomatic";
       packageName = "randomatic";
-      version = "1.1.6";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz";
+        sha1 = "c7abe9cc8b87c0baa876b19fde83fd464797e38c";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "is-number-3.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    };
+    "kind-of-4.0.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz";
-        sha1 = "110dcabff397e9dcff7c0789ccc0a49adf1ec5bb";
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
       };
     };
     "is-posix-bracket-0.1.1" = {
@@ -10097,13 +10619,13 @@ let
         sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
       };
     };
-    "remove-trailing-separator-1.0.1" = {
+    "remove-trailing-separator-1.0.2" = {
       name = "remove-trailing-separator";
       packageName = "remove-trailing-separator";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz";
-        sha1 = "615ebb96af559552d4bf4057c8436d486ab63cc4";
+        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz";
+        sha1 = "69b062d978727ad14dc6b56ba4ab772fd8d70511";
       };
     };
     "for-own-0.1.5" = {
@@ -10142,13 +10664,13 @@ let
         sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
       };
     };
-    "is-dotfile-1.0.2" = {
+    "is-dotfile-1.0.3" = {
       name = "is-dotfile";
       packageName = "is-dotfile";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz";
-        sha1 = "2c132383f39199f8edc268ca01b9b007d205cc4d";
+        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz";
+        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
       };
     };
     "is-equal-shallow-0.1.3" = {
@@ -10187,22 +10709,22 @@ let
         sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
       };
     };
-    "node-pre-gyp-0.6.34" = {
+    "node-pre-gyp-0.6.36" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
-      version = "0.6.34";
+      version = "0.6.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz";
-        sha1 = "94ad1c798a11d7fc67381b50d47f8cc18d9799f7";
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz";
+        sha1 = "db604112cb74e0d477554e9b505b17abddfab786";
       };
     };
-    "npmlog-4.0.2" = {
+    "npmlog-4.1.0" = {
       name = "npmlog";
       packageName = "npmlog";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz";
-        sha1 = "d03950e0e78ce1527ba26d2a7592e9348ac3e75f";
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz";
+        sha1 = "dc59bee85f64f00ed424efb2af0783df25d1c0b5";
       };
     };
     "tar-pack-3.4.0" = {
@@ -10241,22 +10763,22 @@ let
         sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
       };
     };
-    "aproba-1.1.1" = {
+    "aproba-1.1.2" = {
       name = "aproba";
       packageName = "aproba";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz";
-        sha1 = "95d3600f07710aa0e9298c726ad5ecf2eacbabab";
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz";
+        sha1 = "45c6629094de4e96f693ef7eab74ae079c240fc1";
       };
     };
-    "wide-align-1.1.0" = {
+    "wide-align-1.1.2" = {
       name = "wide-align";
       packageName = "wide-align";
-      version = "1.1.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz";
-        sha1 = "40edde802a71fea1f070da3e62dcda2e7add96ad";
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz";
+        sha1 = "571e0f1b0604636ebc0dfc21b0339bbe31341710";
       };
     };
     "event-stream-0.5.3" = {
@@ -10358,13 +10880,13 @@ let
         sha1 = "21ffdc429be2b50cb361df990a40a7731288e935";
       };
     };
-    "simple-git-1.70.0" = {
+    "simple-git-1.73.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.70.0";
+      version = "1.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.70.0.tgz";
-        sha1 = "62cfd90bb2628a13ff4fe704c840fcef56244a71";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.73.0.tgz";
+        sha1 = "87683a729b1bee016a3182f95a2ab72317bb0230";
       };
     };
     "tabtab-git+https://github.com/mixu/node-tabtab.git" = {
@@ -10404,13 +10926,13 @@ let
         sha1 = "a4274eeb32fa765da5a7a3b1712617ce3b144149";
       };
     };
-    "coffee-script-1.12.5" = {
+    "coffee-script-1.12.6" = {
       name = "coffee-script";
       packageName = "coffee-script";
-      version = "1.12.5";
+      version = "1.12.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.5.tgz";
-        sha1 = "809f4585419112bbfe46a073ad7543af18c27346";
+        url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.6.tgz";
+        sha1 = "285a3f7115689065064d6bf9ef4572db66695cbf";
       };
     };
     "jade-1.11.0" = {
@@ -10449,13 +10971,13 @@ let
         sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
       };
     };
-    "clean-css-3.4.25" = {
+    "clean-css-3.4.27" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "3.4.25";
+      version = "3.4.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz";
-        sha1 = "9e9a52d5c1e6bc5123e1b2783fa65fe958946ede";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.27.tgz";
+        sha1 = "adef75b31c160ffa5d72f4de67966e2660c1a255";
       };
     };
     "commander-2.6.0" = {
@@ -10494,13 +11016,13 @@ let
         sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
       };
     };
-    "uglify-js-2.8.22" = {
+    "uglify-js-2.8.29" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "2.8.22";
+      version = "2.8.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.22.tgz";
-        sha1 = "d54934778a8da14903fa29a326fb24c0ab51a1a0";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz";
+        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
     "void-elements-2.0.1" = {
@@ -10548,15 +11070,6 @@ let
         sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
       };
     };
-    "is-promise-2.1.0" = {
-      name = "is-promise";
-      packageName = "is-promise";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
-        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
-      };
-    };
     "promise-6.1.0" = {
       name = "promise";
       packageName = "promise";
@@ -10638,6 +11151,96 @@ let
         sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
       };
     };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
     "acorn-1.2.2" = {
       name = "acorn";
       packageName = "acorn";
@@ -10872,13 +11475,13 @@ let
         sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde";
       };
     };
-    "time-stamp-1.0.1" = {
+    "time-stamp-1.1.0" = {
       name = "time-stamp";
       packageName = "time-stamp";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz";
-        sha1 = "9f4bd23559c9365966f3302dbba2b07c6b99b151";
+        url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz";
+        sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3";
       };
     };
     "glogg-1.0.0" = {
@@ -11601,22 +12204,13 @@ let
         sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581";
       };
     };
-    "handlebars-4.0.8" = {
+    "handlebars-4.0.10" = {
       name = "handlebars";
       packageName = "handlebars";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.0.8.tgz";
-        sha1 = "22b875cd3f0e6cbea30314f144e82bc7a72ff420";
-      };
-    };
-    "supports-color-3.2.3" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "3.2.3";
+      version = "4.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz";
-        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz";
+        sha1 = "3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f";
       };
     };
     "estraverse-1.9.3" = {
@@ -11637,15 +12231,6 @@ let
         sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d";
       };
     };
-    "has-flag-1.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
-        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
-      };
-    };
     "when-3.4.6" = {
       name = "when";
       packageName = "when";
@@ -11664,6 +12249,375 @@ let
         sha1 = "22817534f24bfa4950c34d532d48ecbc621b8c14";
       };
     };
+    "body-parser-1.17.2" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz";
+        sha1 = "f8892abc8f9e627d42aedafbca66bf5ab99104ee";
+      };
+    };
+    "connect-pause-0.1.1" = {
+      name = "connect-pause";
+      packageName = "connect-pause";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-pause/-/connect-pause-0.1.1.tgz";
+        sha1 = "b269b2bb82ddb1ac3db5099c0fb582aba99fb37a";
+      };
+    };
+    "errorhandler-1.5.0" = {
+      name = "errorhandler";
+      packageName = "errorhandler";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz";
+        sha1 = "eaba64ca5d542a311ac945f582defc336165d9f4";
+      };
+    };
+    "lodash-id-0.13.0" = {
+      name = "lodash-id";
+      packageName = "lodash-id";
+      version = "0.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash-id/-/lodash-id-0.13.0.tgz";
+        sha1 = "1b2086c24f004f07411bdb09b775072114bcddc6";
+      };
+    };
+    "lowdb-0.15.5" = {
+      name = "lowdb";
+      packageName = "lowdb";
+      version = "0.15.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowdb/-/lowdb-0.15.5.tgz";
+        sha1 = "9ade105df8aa573692d1221622b85414fbf4fa96";
+      };
+    };
+    "method-override-2.3.9" = {
+      name = "method-override";
+      packageName = "method-override";
+      version = "2.3.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.9.tgz";
+        sha1 = "bd151f2ce34cf01a76ca400ab95c012b102d8f71";
+      };
+    };
+    "morgan-1.8.2" = {
+      name = "morgan";
+      packageName = "morgan";
+      version = "1.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/morgan/-/morgan-1.8.2.tgz";
+        sha1 = "784ac7734e4a453a9c6e6e8680a9329275c8b687";
+      };
+    };
+    "pluralize-3.1.0" = {
+      name = "pluralize";
+      packageName = "pluralize";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pluralize/-/pluralize-3.1.0.tgz";
+        sha1 = "84213d0a12356069daa84060c559242633161368";
+      };
+    };
+    "server-destroy-1.0.1" = {
+      name = "server-destroy";
+      packageName = "server-destroy";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz";
+        sha1 = "f13bf928e42b9c3e79383e61cc3998b5d14e6cdd";
+      };
+    };
+    "shortid-2.2.8" = {
+      name = "shortid";
+      packageName = "shortid";
+      version = "2.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shortid/-/shortid-2.2.8.tgz";
+        sha1 = "033b117d6a2e975804f6f0969dbe7d3d0b355131";
+      };
+    };
+    "update-notifier-1.0.3" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz";
+        sha1 = "8f92c515482bd6831b7c93013e70f87552c7cf5a";
+      };
+    };
+    "yargs-6.6.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "6.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz";
+        sha1 = "782ec21ef403345f830a808ca3d513af56065208";
+      };
+    };
+    "bytes-2.4.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz";
+        sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339";
+      };
+    };
+    "iconv-lite-0.4.15" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz";
+        sha1 = "fe265a218ac6a57cfe854927e9d04c19825eddeb";
+      };
+    };
+    "raw-body-2.2.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz";
+        sha1 = "994976cf6a5096a41162840492f0bdc5d6e7fb96";
+      };
+    };
+    "steno-0.4.4" = {
+      name = "steno";
+      packageName = "steno";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz";
+        sha1 = "071105bdfc286e6615c0403c27e9d7b5dcb855cb";
+      };
+    };
+    "boxen-0.6.0" = {
+      name = "boxen";
+      packageName = "boxen";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz";
+        sha1 = "8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6";
+      };
+    };
+    "latest-version-2.0.0" = {
+      name = "latest-version";
+      packageName = "latest-version";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz";
+        sha1 = "56f8d6139620847b8017f8f1f4d78e211324168b";
+      };
+    };
+    "lazy-req-1.1.0" = {
+      name = "lazy-req";
+      packageName = "lazy-req";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz";
+        sha1 = "bdaebead30f8d824039ce0ce149d4daa07ba1fac";
+      };
+    };
+    "ansi-align-1.1.0" = {
+      name = "ansi-align";
+      packageName = "ansi-align";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz";
+        sha1 = "2f0c1658829739add5ebb15e6b0c6e3423f016ba";
+      };
+    };
+    "cli-boxes-1.0.0" = {
+      name = "cli-boxes";
+      packageName = "cli-boxes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz";
+        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
+      };
+    };
+    "filled-array-1.1.0" = {
+      name = "filled-array";
+      packageName = "filled-array";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz";
+        sha1 = "c3c4f6c663b923459a9aa29912d2d031f1507f84";
+      };
+    };
+    "widest-line-1.0.0" = {
+      name = "widest-line";
+      packageName = "widest-line";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz";
+        sha1 = "0c09c85c2a94683d0d7eaf8ee097d564bf0e105c";
+      };
+    };
+    "package-json-2.4.0" = {
+      name = "package-json";
+      packageName = "package-json";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz";
+        sha1 = "0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb";
+      };
+    };
+    "got-5.7.1" = {
+      name = "got";
+      packageName = "got";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-5.7.1.tgz";
+        sha1 = "5f81635a61e4a6589f180569ea4e381680a51f35";
+      };
+    };
+    "registry-auth-token-3.3.1" = {
+      name = "registry-auth-token";
+      packageName = "registry-auth-token";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz";
+        sha1 = "fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006";
+      };
+    };
+    "node-status-codes-1.0.0" = {
+      name = "node-status-codes";
+      packageName = "node-status-codes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz";
+        sha1 = "5ae5541d024645d32a58fcddc9ceecea7ae3ac2f";
+      };
+    };
+    "timed-out-3.1.3" = {
+      name = "timed-out";
+      packageName = "timed-out";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz";
+        sha1 = "95860bfcc5c76c277f8f8326fd0f5b2e20eba217";
+      };
+    };
+    "unzip-response-1.0.2" = {
+      name = "unzip-response";
+      packageName = "unzip-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz";
+        sha1 = "b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe";
+      };
+    };
+    "camelcase-3.0.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz";
+        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+      };
+    };
+    "cliui-3.2.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    };
+    "get-caller-file-1.0.2" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz";
+        sha1 = "f702e63127e7e231c160a80c1554acb70d5047e5";
+      };
+    };
+    "os-locale-1.4.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
+        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+      };
+    };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-1.0.1" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    };
+    "which-module-1.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz";
+        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+      };
+    };
+    "y18n-3.2.1" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
+        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+      };
+    };
+    "yargs-parser-4.2.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz";
+        sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
+      };
+    };
+    "wrap-ansi-2.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    };
+    "lcid-1.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    };
+    "invert-kv-1.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    };
     "bluebird-3.5.0" = {
       name = "bluebird";
       packageName = "bluebird";
@@ -11673,15 +12627,6 @@ let
         sha1 = "791420d7f551eea2897453a8a77653f96606d67c";
       };
     };
-    "body-parser-1.17.1" = {
-      name = "body-parser";
-      packageName = "body-parser";
-      version = "1.17.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.17.1.tgz";
-        sha1 = "75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47";
-      };
-    };
     "combine-lists-1.0.1" = {
       name = "combine-lists";
       packageName = "combine-lists";
@@ -11691,22 +12636,13 @@ let
         sha1 = "458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6";
       };
     };
-    "connect-3.6.1" = {
+    "connect-3.6.2" = {
       name = "connect";
       packageName = "connect";
-      version = "3.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-3.6.1.tgz";
-        sha1 = "b7760693a74f0454face1d9378edb3f885b43227";
-      };
-    };
-    "core-js-2.4.1" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "2.4.1";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz";
-        sha1 = "4de911e667b0eae9124e34254b53aea6fc618d3e";
+        url = "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz";
+        sha1 = "694e8d20681bfe490282c8ab886be98f09f42fe7";
       };
     };
     "di-0.0.1" = {
@@ -11781,15 +12717,6 @@ let
         sha1 = "b8af9caba00949e568e369f1327ea9be9ea2461b";
       };
     };
-    "tmp-0.0.31" = {
-      name = "tmp";
-      packageName = "tmp";
-      version = "0.0.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz";
-        sha1 = "8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7";
-      };
-    };
     "useragent-2.1.13" = {
       name = "useragent";
       packageName = "useragent";
@@ -11799,51 +12726,6 @@ let
         sha1 = "bba43e8aa24d5ceb83c2937473e102e21df74c10";
       };
     };
-    "bytes-2.4.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz";
-        sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339";
-      };
-    };
-    "iconv-lite-0.4.15" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz";
-        sha1 = "fe265a218ac6a57cfe854927e9d04c19825eddeb";
-      };
-    };
-    "raw-body-2.2.0" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz";
-        sha1 = "994976cf6a5096a41162840492f0bdc5d6e7fb96";
-      };
-    };
-    "debug-2.6.3" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.3.tgz";
-        sha1 = "0f7eb8c30965ec08c72accfa0130c8b79984141d";
-      };
-    };
-    "finalhandler-1.0.1" = {
-      name = "finalhandler";
-      packageName = "finalhandler";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.1.tgz";
-        sha1 = "bcd15d1689c0e5ed729b6f7f541a6df984117db8";
-      };
-    };
     "custom-event-1.0.1" = {
       name = "custom-event";
       packageName = "custom-event";
@@ -11988,6 +12870,15 @@ let
         sha1 = "dd532025103ce429697326befd64005fcfe5b4a0";
       };
     };
+    "ms-0.7.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
+        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
+      };
+    };
     "base64id-1.0.0" = {
       name = "base64id";
       packageName = "base64id";
@@ -12420,15 +13311,6 @@ let
         sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
       };
     };
-    "method-override-2.3.8" = {
-      name = "method-override";
-      packageName = "method-override";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.8.tgz";
-        sha1 = "178234bf4bab869f89df9444b06fc6147b44828c";
-      };
-    };
     "morgan-1.6.1" = {
       name = "morgan";
       packageName = "morgan";
@@ -12888,15 +13770,6 @@ let
         sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
       };
     };
-    "convert-source-map-1.5.0" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz";
-        sha1 = "9acd70851c6d5dfdd93d9282e5edf94a03ff46b5";
-      };
-    };
     "express-2.5.11" = {
       name = "express";
       packageName = "express";
@@ -13248,13 +14121,13 @@ let
         sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
       };
     };
-    "serve-favicon-2.4.2" = {
+    "serve-favicon-2.4.3" = {
       name = "serve-favicon";
       packageName = "serve-favicon";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.4.2.tgz";
-        sha1 = "aed1d8de67d5b83192cf31fdf53d2ea29464363e";
+        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.4.3.tgz";
+        sha1 = "5986b17b0502642b641c21f818b1acce32025d23";
       };
     };
     "strong-data-uri-1.0.4" = {
@@ -13365,15 +14238,6 @@ let
         sha1 = "17eb2807987f76952e9c0485fc311d06a826a2e0";
       };
     };
-    "ms-1.0.0" = {
-      name = "ms";
-      packageName = "ms";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-1.0.0.tgz";
-        sha1 = "59adcd22edc543f7b5381862d31387b1f4bc9473";
-      };
-    };
     "truncate-1.0.5" = {
       name = "truncate";
       packageName = "truncate";
@@ -13383,24 +14247,6 @@ let
         sha1 = "c636c6c1f50eed7c927af06c1dbffab53c7abe28";
       };
     };
-    "cliui-3.2.0" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
-        sha1 = "120601537a916d29940f934da3b48d585a39213d";
-      };
-    };
-    "os-locale-1.4.0" = {
-      name = "os-locale";
-      packageName = "os-locale";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
-        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
-      };
-    };
     "window-size-0.1.4" = {
       name = "window-size";
       packageName = "window-size";
@@ -13410,42 +14256,6 @@ let
         sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
       };
     };
-    "y18n-3.2.1" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
-        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
-      };
-    };
-    "wrap-ansi-2.1.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
-        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
-      };
-    };
-    "lcid-1.0.0" = {
-      name = "lcid";
-      packageName = "lcid";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
-        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
-      };
-    };
-    "invert-kv-1.0.0" = {
-      name = "invert-kv";
-      packageName = "invert-kv";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
-        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
-      };
-    };
     "es6-promise-3.3.1" = {
       name = "es6-promise";
       packageName = "es6-promise";
@@ -13752,40 +14562,40 @@ let
         sha1 = "082ddb6c641e85d4bb451f03d52f06eabdb1f018";
       };
     };
-    "node-red-node-feedparser-0.1.7" = {
+    "node-red-node-feedparser-0.1.8" = {
       name = "node-red-node-feedparser";
       packageName = "node-red-node-feedparser";
-      version = "0.1.7";
+      version = "0.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.7.tgz";
-        sha1 = "b0bf8a079d67732bcce019eaf8da1d7936658a7f";
+        url = "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.8.tgz";
+        sha1 = "56cf6f69bc6d23557f8627ee63b74c1caa85c65b";
       };
     };
-    "node-red-node-email-0.1.22" = {
+    "node-red-node-email-0.1.23" = {
       name = "node-red-node-email";
       packageName = "node-red-node-email";
-      version = "0.1.22";
+      version = "0.1.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-0.1.22.tgz";
-        sha1 = "99c610fdba3f498ddab71da9273d6003e4e0280e";
+        url = "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-0.1.23.tgz";
+        sha1 = "ff910b8abb34ac926c1228e082d7667f92bb3737";
       };
     };
-    "node-red-node-twitter-0.1.10" = {
+    "node-red-node-twitter-0.1.11" = {
       name = "node-red-node-twitter";
       packageName = "node-red-node-twitter";
-      version = "0.1.10";
+      version = "0.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.10.tgz";
-        sha1 = "5883f6a8acebc99829c52400420d5ed52f44d221";
+        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.11.tgz";
+        sha1 = "52c074f42a32140132baea108d42cbcd0ef397d2";
       };
     };
-    "node-red-node-rbe-0.1.8" = {
+    "node-red-node-rbe-0.1.10" = {
       name = "node-red-node-rbe";
       packageName = "node-red-node-rbe";
-      version = "0.1.8";
+      version = "0.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.1.8.tgz";
-        sha1 = "96108a5720842387ea5ddd046d7e483c7ab2a5dc";
+        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.1.10.tgz";
+        sha1 = "f05f72ace39b1b6158a48ee19d5c6cc426719a8f";
       };
     };
     "bcrypt-1.0.2" = {
@@ -13968,6 +14778,15 @@ let
         sha1 = "9929acdf628fc2c41098deab82ac580cf149aae4";
       };
     };
+    "domhandler-2.4.1" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz";
+        sha1 = "892e47000a99be55bbf3774ffea0561d8879c259";
+      };
+    };
     "moment-timezone-0.5.13" = {
       name = "moment-timezone";
       packageName = "moment-timezone";
@@ -14148,13 +14967,13 @@ let
         sha1 = "6910bca5da8c95e784b5751b976cf5a10fee36d2";
       };
     };
-    "ordered-read-streams-1.0.0" = {
+    "ordered-read-streams-1.0.1" = {
       name = "ordered-read-streams";
       packageName = "ordered-read-streams";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.0.tgz";
-        sha1 = "d674a86ffcedf83d0ae06afa2918855e96d4033a";
+        url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz";
+        sha1 = "77c0cb37c41525d64166d990ffad7ec6a0e1363e";
       };
     };
     "to-absolute-glob-2.0.1" = {
@@ -14346,13 +15165,13 @@ let
         sha1 = "586db8101db30cb4438eb546737a41aad0cf13d5";
       };
     };
-    "mimelib-0.3.0" = {
+    "mimelib-0.3.1" = {
       name = "mimelib";
       packageName = "mimelib";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mimelib/-/mimelib-0.3.0.tgz";
-        sha1 = "4b16d4b435403daf692bc227890c7165ff3de894";
+        url = "https://registry.npmjs.org/mimelib/-/mimelib-0.3.1.tgz";
+        sha1 = "787add2415d827acb3af6ec4bca1ea9596418853";
       };
     };
     "encoding-0.1.12" = {
@@ -15039,6 +15858,15 @@ let
         sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
       };
     };
+    "cacache-9.2.8" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "9.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-9.2.8.tgz";
+        sha1 = "2e38b51161a3904e3b9fb35c0869b751f7d0bcf4";
+      };
+    };
     "call-limit-1.1.0" = {
       name = "call-limit";
       packageName = "call-limit";
@@ -15048,13 +15876,22 @@ let
         sha1 = "6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea";
       };
     };
-    "fstream-npm-1.2.0" = {
+    "detect-indent-5.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz";
+        sha1 = "3871cc0a6a002e8c3e5b3cf7f336264675f06b9d";
+      };
+    };
+    "fstream-npm-1.2.1" = {
       name = "fstream-npm";
       packageName = "fstream-npm";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.0.tgz";
-        sha1 = "d2c3c89101346982d64e57091c38487bda916fce";
+        url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz";
+        sha1 = "08c4a452f789dcbac4c89a4563c902b2c862fd5b";
       };
     };
     "lazy-property-1.0.0" = {
@@ -15138,13 +15975,22 @@ let
         sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7";
       };
     };
-    "npm-registry-client-8.1.1" = {
+    "npm-registry-client-8.3.0" = {
       name = "npm-registry-client";
       packageName = "npm-registry-client";
-      version = "8.1.1";
+      version = "8.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.1.1.tgz";
-        sha1 = "831476455423ca0a265c6ffdb6100fcc042b36cf";
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.3.0.tgz";
+        sha1 = "a86d5b1f97945de8df73c471d33602d5cd15130f";
+      };
+    };
+    "npm-user-validate-1.0.0" = {
+      name = "npm-user-validate";
+      packageName = "npm-user-validate";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz";
+        sha1 = "8ceca0f5cea04d4e93519ef72d0557a75122e951";
       };
     };
     "opener-1.4.3" = {
@@ -15156,6 +16002,24 @@ let
         sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
       };
     };
+    "pacote-2.7.36" = {
+      name = "pacote";
+      packageName = "pacote";
+      version = "2.7.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pacote/-/pacote-2.7.36.tgz";
+        sha1 = "837734ad2e545123b8b8fe5caa5076c92b5c7b5c";
+      };
+    };
+    "promise-inflight-1.0.1" = {
+      name = "promise-inflight";
+      packageName = "promise-inflight";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    };
     "read-cmd-shim-1.0.1" = {
       name = "read-cmd-shim";
       packageName = "read-cmd-shim";
@@ -15165,13 +16029,13 @@ let
         sha1 = "2d5d157786a37c055d22077c32c53f8329e91c7b";
       };
     };
-    "read-package-tree-5.1.5" = {
+    "read-package-tree-5.1.6" = {
       name = "read-package-tree";
       packageName = "read-package-tree";
-      version = "5.1.5";
+      version = "5.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.5.tgz";
-        sha1 = "ace7e6381c7684f970aaa98fc7c5d2b666addab6";
+        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz";
+        sha1 = "4f03e83d0486856fb60d97c94882841c2a7b1b7a";
       };
     };
     "sorted-union-stream-2.1.3" = {
@@ -15183,6 +16047,15 @@ let
         sha1 = "c7794c7e077880052ff71a8d4a2dbb4a9a638ac7";
       };
     };
+    "ssri-4.1.6" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "4.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz";
+        sha1 = "0cb49b6ac84457e7bdd466cb730c3cb623e9a25b";
+      };
+    };
     "unique-filename-1.1.0" = {
       name = "unique-filename";
       packageName = "unique-filename";
@@ -15201,6 +16074,15 @@ let
         sha1 = "ec0c1e53536b76647a24b77cb83966d9315123d9";
       };
     };
+    "write-file-atomic-2.1.0" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz";
+        sha1 = "1769f4b551eedce419f0505deae2e26763542d37";
+      };
+    };
     "lodash._baseindexof-3.1.0" = {
       name = "lodash._baseindexof";
       packageName = "lodash._baseindexof";
@@ -15300,6 +16182,168 @@ let
         sha1 = "e848396f057d223f24386924618e25694161ec47";
       };
     };
+    "make-fetch-happen-2.4.12" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "2.4.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.4.12.tgz";
+        sha1 = "5e16f97b3e1fc30017da82ba4b4a5529e773f399";
+      };
+    };
+    "npm-pick-manifest-1.0.3" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.3.tgz";
+        sha1 = "a56fed120b2d8adaec5334ddd07cf23b2389e8de";
+      };
+    };
+    "promise-retry-1.1.1" = {
+      name = "promise-retry";
+      packageName = "promise-retry";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz";
+        sha1 = "6739e968e3051da20ce6497fb2b50f6911df3d6d";
+      };
+    };
+    "protoduck-4.0.0" = {
+      name = "protoduck";
+      packageName = "protoduck";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protoduck/-/protoduck-4.0.0.tgz";
+        sha1 = "fe4874d8c7913366cfd9ead12453a22cd3657f8e";
+      };
+    };
+    "tar-fs-1.15.3" = {
+      name = "tar-fs";
+      packageName = "tar-fs";
+      version = "1.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.3.tgz";
+        sha1 = "eccf935e941493d8151028e636e51ce4c3ca7f20";
+      };
+    };
+    "agentkeepalive-3.2.0" = {
+      name = "agentkeepalive";
+      packageName = "agentkeepalive";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.2.0.tgz";
+        sha1 = "dcc9b272541d2fd2e9cf79fb0fdb192a6c5d60cd";
+      };
+    };
+    "http-cache-semantics-3.7.3" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "3.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.7.3.tgz";
+        sha1 = "2f35c532ecd29f1e5413b9af833b724a3c6f7f72";
+      };
+    };
+    "http-proxy-agent-1.0.0" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz";
+        sha1 = "cc1ce38e453bf984a0f7702d2dd59c73d081284a";
+      };
+    };
+    "https-proxy-agent-1.0.0" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz";
+        sha1 = "35f7da6c48ce4ddbfa264891ac593ee5ff8671e6";
+      };
+    };
+    "node-fetch-npm-2.0.1" = {
+      name = "node-fetch-npm";
+      packageName = "node-fetch-npm";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.1.tgz";
+        sha1 = "4dd3355ce526c01bc5ab29ccdf48352dc8a79465";
+      };
+    };
+    "socks-proxy-agent-2.1.1" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz";
+        sha1 = "86ebb07193258637870e13b7bd99f26c663df3d3";
+      };
+    };
+    "humanize-ms-1.2.1" = {
+      name = "humanize-ms";
+      packageName = "humanize-ms";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz";
+        sha1 = "c46e3159a293f6b896da29316d8b6fe8bb79bbed";
+      };
+    };
+    "agent-base-2.1.1" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz";
+        sha1 = "d6de10d5af6132d5bd692427d46fc538539094c7";
+      };
+    };
+    "semver-5.0.3" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
+        sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
+      };
+    };
+    "socks-1.1.10" = {
+      name = "socks";
+      packageName = "socks";
+      version = "1.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz";
+        sha1 = "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a";
+      };
+    };
+    "smart-buffer-1.1.15" = {
+      name = "smart-buffer";
+      packageName = "smart-buffer";
+      version = "1.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz";
+        sha1 = "7f114b5b65fab3e2a35aa775bb12f0d1c649bf16";
+      };
+    };
+    "err-code-1.1.2" = {
+      name = "err-code";
+      packageName = "err-code";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz";
+        sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960";
+      };
+    };
+    "genfun-4.0.1" = {
+      name = "genfun";
+      packageName = "genfun";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz";
+        sha1 = "ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1";
+      };
+    };
     "stream-iterate-1.2.0" = {
       name = "stream-iterate";
       packageName = "stream-iterate";
@@ -15318,22 +16362,22 @@ let
         sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
       };
     };
-    "boxen-1.0.0" = {
+    "boxen-1.1.0" = {
       name = "boxen";
       packageName = "boxen";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-1.0.0.tgz";
-        sha1 = "b2694baf1f605f708ff0177c12193b22f29aaaab";
+        url = "https://registry.npmjs.org/boxen/-/boxen-1.1.0.tgz";
+        sha1 = "b1b69dd522305e807a99deee777dbd6e5167b102";
       };
     };
-    "configstore-3.0.0" = {
+    "configstore-3.1.0" = {
       name = "configstore";
       packageName = "configstore";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-3.0.0.tgz";
-        sha1 = "e1b8669c1803ccc50b545e92f8e6e79aa80e0196";
+        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.0.tgz";
+        sha1 = "45df907073e26dfa1cf4b2d52f5b60545eaa11d1";
       };
     };
     "latest-version-3.1.0" = {
@@ -15363,13 +16407,13 @@ let
         sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
       };
     };
-    "ansi-align-1.1.0" = {
+    "ansi-align-2.0.0" = {
       name = "ansi-align";
       packageName = "ansi-align";
-      version = "1.1.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz";
-        sha1 = "2f0c1658829739add5ebb15e6b0c6e3423f016ba";
+        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz";
+        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
       };
     };
     "camelcase-4.1.0" = {
@@ -15381,15 +16425,6 @@ let
         sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
       };
     };
-    "cli-boxes-1.0.0" = {
-      name = "cli-boxes";
-      packageName = "cli-boxes";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz";
-        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
-      };
-    };
     "term-size-0.1.1" = {
       name = "term-size";
       packageName = "term-size";
@@ -15399,15 +16434,6 @@ let
         sha1 = "87360b96396cab5760963714cda0d0cbeecad9ca";
       };
     };
-    "widest-line-1.0.0" = {
-      name = "widest-line";
-      packageName = "widest-line";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz";
-        sha1 = "0c09c85c2a94683d0d7eaf8ee097d564bf0e105c";
-      };
-    };
     "execa-0.4.0" = {
       name = "execa";
       packageName = "execa";
@@ -15444,15 +16470,6 @@ let
         sha1 = "5d53d578019646c0d68800db4e146e6bdc2ac7af";
       };
     };
-    "dot-prop-4.1.1" = {
-      name = "dot-prop";
-      packageName = "dot-prop";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-4.1.1.tgz";
-        sha1 = "a8493f0b7b5eeec82525b5c7587fa7de7ca859c1";
-      };
-    };
     "unique-string-1.0.0" = {
       name = "unique-string";
       packageName = "unique-string";
@@ -15480,15 +16497,6 @@ let
         sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
       };
     };
-    "registry-auth-token-3.3.1" = {
-      name = "registry-auth-token";
-      packageName = "registry-auth-token";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz";
-        sha1 = "fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006";
-      };
-    };
     "argparse-0.1.15" = {
       name = "argparse";
       packageName = "argparse";
@@ -15723,13 +16731,13 @@ let
         sha1 = "32607657e1bd47ca857ab4e9d98f0a0cff96bcea";
       };
     };
-    "require-dir-0.3.1" = {
+    "require-dir-0.3.2" = {
       name = "require-dir";
       packageName = "require-dir";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/require-dir/-/require-dir-0.3.1.tgz";
-        sha1 = "b5a8e28bae0343bb0d0cc38ab1f531e1931b264a";
+        url = "https://registry.npmjs.org/require-dir/-/require-dir-0.3.2.tgz";
+        sha1 = "c1d5c75e9fbffde9f2e6b33e383db4f594b5a6a9";
       };
     };
     "semver-utils-1.1.1" = {
@@ -15741,13 +16749,13 @@ let
         sha1 = "27d92fec34d27cfa42707d3b40d025ae9855f2df";
       };
     };
-    "snyk-1.30.0" = {
+    "snyk-1.34.4" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.30.0";
+      version = "1.34.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.30.0.tgz";
-        sha1 = "a323809ea477d6aff0e325f5995cb491c0d7ca3d";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.34.4.tgz";
+        sha1 = "9f0d50ab4f0544b125fa21c67dd162de1e7ce91b";
       };
     };
     "spawn-please-0.2.0" = {
@@ -15759,15 +16767,6 @@ let
         sha1 = "bdd85991b80409f9c0dac709bc44a0a318a9760d";
       };
     };
-    "update-notifier-1.0.3" = {
-      name = "update-notifier";
-      packageName = "update-notifier";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz";
-        sha1 = "8f92c515482bd6831b7c93013e70f87552c7cf5a";
-      };
-    };
     "aproba-1.0.4" = {
       name = "aproba";
       packageName = "aproba";
@@ -15786,6 +16785,15 @@ let
         sha1 = "dda558393b3ecbbe24c9e6b8703c71194c63fa36";
       };
     };
+    "npmlog-4.0.2" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz";
+        sha1 = "d03950e0e78ce1527ba26d2a7592e9348ac3e75f";
+      };
+    };
     "request-2.75.0" = {
       name = "request";
       packageName = "request";
@@ -15876,6 +16884,15 @@ let
         sha1 = "e413b6bd4af6050c5e5f445287909e4e98a09b22";
       };
     };
+    "snyk-python-plugin-1.0.0" = {
+      name = "snyk-python-plugin";
+      packageName = "snyk-python-plugin";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.0.0.tgz";
+        sha1 = "d3915fbd933305d9988d86a56a7381e73c4565f7";
+      };
+    };
     "snyk-recursive-readdir-2.0.0" = {
       name = "snyk-recursive-readdir";
       packageName = "snyk-recursive-readdir";
@@ -15948,15 +16965,6 @@ let
         sha1 = "48962b19e169fd1dfc240b3f1e7317627bbc47db";
       };
     };
-    "run-async-2.3.0" = {
-      name = "run-async";
-      packageName = "run-async";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
-        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
-      };
-    };
     "rx-4.1.0" = {
       name = "rx";
       packageName = "rx";
@@ -16047,78 +17055,6 @@ let
         sha1 = "a7d898243ae622f7abb6bb604d740a76c6a5461b";
       };
     };
-    "latest-version-2.0.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz";
-        sha1 = "56f8d6139620847b8017f8f1f4d78e211324168b";
-      };
-    };
-    "filled-array-1.1.0" = {
-      name = "filled-array";
-      packageName = "filled-array";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz";
-        sha1 = "c3c4f6c663b923459a9aa29912d2d031f1507f84";
-      };
-    };
-    "package-json-2.4.0" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz";
-        sha1 = "0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb";
-      };
-    };
-    "got-5.7.1" = {
-      name = "got";
-      packageName = "got";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-5.7.1.tgz";
-        sha1 = "5f81635a61e4a6589f180569ea4e381680a51f35";
-      };
-    };
-    "node-status-codes-1.0.0" = {
-      name = "node-status-codes";
-      packageName = "node-status-codes";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz";
-        sha1 = "5ae5541d024645d32a58fcddc9ceecea7ae3ac2f";
-      };
-    };
-    "timed-out-3.1.3" = {
-      name = "timed-out";
-      packageName = "timed-out";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz";
-        sha1 = "95860bfcc5c76c277f8f8326fd0f5b2e20eba217";
-      };
-    };
-    "unzip-response-1.0.2" = {
-      name = "unzip-response";
-      packageName = "unzip-response";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz";
-        sha1 = "b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe";
-      };
-    };
-    "get-caller-file-1.0.2" = {
-      name = "get-caller-file";
-      packageName = "get-caller-file";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz";
-        sha1 = "f702e63127e7e231c160a80c1554acb70d5047e5";
-      };
-    };
     "lodash.assign-4.2.0" = {
       name = "lodash.assign";
       packageName = "lodash.assign";
@@ -16128,33 +17064,6 @@ let
         sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
       };
     };
-    "require-directory-2.1.1" = {
-      name = "require-directory";
-      packageName = "require-directory";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
-        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
-      };
-    };
-    "require-main-filename-1.0.1" = {
-      name = "require-main-filename";
-      packageName = "require-main-filename";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
-        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
-      };
-    };
-    "which-module-1.0.0" = {
-      name = "which-module";
-      packageName = "which-module";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz";
-        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
-      };
-    };
     "window-size-0.2.0" = {
       name = "window-size";
       packageName = "window-size";
@@ -16173,33 +17082,6 @@ let
         sha1 = "85568de3cf150ff49fa51825f03a8c880ddcc5c4";
       };
     };
-    "camelcase-3.0.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz";
-        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
-      };
-    };
-    "boxen-0.6.0" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz";
-        sha1 = "8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6";
-      };
-    };
-    "lazy-req-1.1.0" = {
-      name = "lazy-req";
-      packageName = "lazy-req";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz";
-        sha1 = "bdaebead30f8d824039ce0ce149d4daa07ba1fac";
-      };
-    };
     "babybird-0.0.1" = {
       name = "babybird";
       packageName = "babybird";
@@ -16446,13 +17328,13 @@ let
         sha1 = "42cb2b9bfb5e8fbdfa395aac74e127fc05074d31";
       };
     };
-    "dtrace-provider-0.8.1" = {
+    "dtrace-provider-0.8.3" = {
       name = "dtrace-provider";
       packageName = "dtrace-provider";
-      version = "0.8.1";
+      version = "0.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.1.tgz";
-        sha1 = "cd4d174a233bea1bcf4a1fbfa5798f44f48cda9f";
+        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.3.tgz";
+        sha1 = "ba1bfc6493285ccfcfc6ab69cd5c61d74c2a43bf";
       };
     };
     "mv-2.1.1" = {
@@ -16555,6 +17437,15 @@ let
         sha1 = "7531e39d4949c281a66b8c5a6e0265e8b05894da";
       };
     };
+    "ms-0.7.3" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz";
+        sha1 = "708155a5e44e33f5fd0fc53e81d0d40a91be1fff";
+      };
+    };
     "msgpack5-3.4.1" = {
       name = "msgpack5";
       packageName = "msgpack5";
@@ -16672,15 +17563,6 @@ let
         sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
       };
     };
-    "server-destroy-1.0.1" = {
-      name = "server-destroy";
-      packageName = "server-destroy";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz";
-        sha1 = "f13bf928e42b9c3e79383e61cc3998b5d14e6cdd";
-      };
-    };
     "bplist-creator-0.0.6" = {
       name = "bplist-creator";
       packageName = "bplist-creator";
@@ -16690,13 +17572,13 @@ let
         sha1 = "fef069bee85975b2ddcc2264aaa7c50dc17a3c7e";
       };
     };
-    "reverse-http-1.2.0" = {
+    "reverse-http-1.3.0" = {
       name = "reverse-http";
       packageName = "reverse-http";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/reverse-http/-/reverse-http-1.2.0.tgz";
-        sha1 = "d5bd826506425a3b3eacadf1e0e2c1ac3e289728";
+        url = "https://registry.npmjs.org/reverse-http/-/reverse-http-1.3.0.tgz";
+        sha1 = "61a9644bdea483aa281ffb62706e642f1a73a239";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -16843,31 +17725,22 @@ let
         sha1 = "6b62c3791cf7909ea35ed46e17658bb417cb3917";
       };
     };
-    "connect-multiparty-1.2.5" = {
+    "connect-multiparty-2.0.0" = {
       name = "connect-multiparty";
       packageName = "connect-multiparty";
-      version = "1.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-1.2.5.tgz";
-        sha1 = "2fabecfdc1a8a774ba19484dce660c818a8555e7";
-      };
-    };
-    "express-3.5.3" = {
-      name = "express";
-      packageName = "express";
-      version = "3.5.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-3.5.3.tgz";
-        sha1 = "af440e1ddad078934ec78241420b40bbc56dc2ad";
+        url = "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-2.0.0.tgz";
+        sha1 = "57a7b61cc7b31b6eef4a62878d60d771b23699ab";
       };
     };
-    "torrent-stream-0.18.1" = {
-      name = "torrent-stream";
-      packageName = "torrent-stream";
-      version = "0.18.1";
+    "socket.io-1.7.4" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "1.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-0.18.1.tgz";
-        sha1 = "e2e8ca44d81f16fbe5646e0ebb05f5418fea9bf6";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-1.7.4.tgz";
+        sha1 = "2f7ecedc3391bf2d5c73e291fe233e6e34d4dd00";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -16879,481 +17752,58 @@ let
         sha1 = "c952de2240f812ebda0aa8006d7776ee2acf7d74";
       };
     };
-    "on-finished-2.1.1" = {
-      name = "on-finished";
-      packageName = "on-finished";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.1.tgz";
-        sha1 = "f82ca1c9e3a4f3286b1b9938610e5b8636bd3cb2";
-      };
-    };
-    "qs-2.2.5" = {
-      name = "qs";
-      packageName = "qs";
-      version = "2.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-2.2.5.tgz";
-        sha1 = "1088abaf9dcc0ae5ae45b709e6c6b5888b23923c";
-      };
-    };
-    "connect-2.14.5" = {
-      name = "connect";
-      packageName = "connect";
-      version = "2.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-2.14.5.tgz";
-        sha1 = "73217513152c152ebe049c499fa09211b8c476f4";
-      };
-    };
-    "commander-1.3.2" = {
-      name = "commander";
-      packageName = "commander";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
-        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
-      };
-    };
-    "range-parser-1.0.0" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
-        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
-      };
-    };
-    "mkdirp-0.4.0" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz";
-        sha1 = "291ac2a2d43a19c478662577b5be846fe83b5923";
-      };
-    };
-    "buffer-crc32-0.2.1" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-      };
-    };
-    "fresh-0.2.2" = {
-      name = "fresh";
-      packageName = "fresh";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
-        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
-      };
-    };
-    "methods-0.1.0" = {
-      name = "methods";
-      packageName = "methods";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
-        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
-      };
-    };
-    "send-0.3.0" = {
-      name = "send";
-      packageName = "send";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.3.0.tgz";
-        sha1 = "9718324634806fc75bc4f8f5e51f57d9d66606e7";
-      };
-    };
-    "cookie-signature-1.0.3" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
-        sha1 = "91cd997cc51fb641595738c69cda020328f50ff9";
-      };
-    };
-    "debug-0.8.1" = {
-      name = "debug";
-      packageName = "debug";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
-        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
-      };
-    };
-    "cookie-parser-1.0.1" = {
-      name = "cookie-parser";
-      packageName = "cookie-parser";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz";
-        sha1 = "17bd622c9717cd0858a912a9fef4c0362360a7b0";
-      };
-    };
-    "compression-1.0.0" = {
-      name = "compression";
-      packageName = "compression";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compression/-/compression-1.0.0.tgz";
-        sha1 = "8aeb85d48db5145d38bc8b181b6352d8eab26020";
-      };
-    };
-    "connect-timeout-1.0.0" = {
-      name = "connect-timeout";
-      packageName = "connect-timeout";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.0.0.tgz";
-        sha1 = "12054799f90bb9566f8b274efe7842d6465d10bb";
-      };
-    };
-    "csurf-1.1.0" = {
-      name = "csurf";
-      packageName = "csurf";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz";
-        sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2";
-      };
-    };
-    "errorhandler-1.0.0" = {
-      name = "errorhandler";
-      packageName = "errorhandler";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.0.0.tgz";
-        sha1 = "d74b37e8dc38c99afb3f5a79edcebaea022d042a";
-      };
-    };
-    "express-session-1.0.2" = {
-      name = "express-session";
-      packageName = "express-session";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/express-session/-/express-session-1.0.2.tgz";
-        sha1 = "004478c742561774411ceb79733155a56b6d49eb";
-      };
-    };
-    "method-override-1.0.0" = {
-      name = "method-override";
-      packageName = "method-override";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/method-override/-/method-override-1.0.0.tgz";
-        sha1 = "9e5bfbd80f3b9e043801dd3fe60bbab0f15b5f61";
-      };
-    };
-    "morgan-1.0.0" = {
-      name = "morgan";
-      packageName = "morgan";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/morgan/-/morgan-1.0.0.tgz";
-        sha1 = "83cf74b9f2d841901f1a9a6b8fa7a468d2e47a8d";
-      };
-    };
-    "qs-0.6.6" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.6.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-      };
-    };
-    "raw-body-1.1.4" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz";
-        sha1 = "f0b5624388d031f63da07f870c86cb9ccadcb67d";
-      };
-    };
-    "response-time-1.0.0" = {
-      name = "response-time";
-      packageName = "response-time";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/response-time/-/response-time-1.0.0.tgz";
-        sha1 = "c2bc8d08f3c359f97eae1d6da86eead175fabdc9";
-      };
-    };
-    "setimmediate-1.0.1" = {
-      name = "setimmediate";
-      packageName = "setimmediate";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz";
-        sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7";
-      };
-    };
-    "serve-index-1.0.1" = {
-      name = "serve-index";
-      packageName = "serve-index";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.0.1.tgz";
-        sha1 = "2782ee8ede6cccaae54957962c4715e8ce1921a6";
-      };
-    };
-    "serve-static-1.1.0" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz";
-        sha1 = "454dfa05bb3ddd4e701a8915b83a278aa91c5643";
-      };
-    };
-    "static-favicon-1.0.2" = {
-      name = "static-favicon";
-      packageName = "static-favicon";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz";
-        sha1 = "7c15920dda2bf33f414b0e60aebbd65cdd2a1d2f";
-      };
-    };
-    "vhost-1.0.0" = {
-      name = "vhost";
-      packageName = "vhost";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz";
-        sha1 = "654513f289a4f898aab745bbd633e40180c9c4c0";
-      };
-    };
-    "bytes-0.3.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz";
-        sha1 = "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935";
-      };
-    };
-    "multiparty-2.2.0" = {
+    "multiparty-4.1.3" = {
       name = "multiparty";
       packageName = "multiparty";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
-        sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
-      };
-    };
-    "cookie-0.1.0" = {
-      name = "cookie";
-      packageName = "cookie";
-      version = "0.1.0";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
-        sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-4.1.3.tgz";
+        sha1 = "3c43c7fcb1896e17460436a9dd0b6ef1668e4f94";
       };
     };
-    "bytes-0.2.1" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
-        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
-      };
-    };
-    "negotiator-0.3.0" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
-        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
-      };
-    };
-    "compressible-1.0.0" = {
-      name = "compressible";
-      packageName = "compressible";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compressible/-/compressible-1.0.0.tgz";
-        sha1 = "f83e49c1cb61421753545125a8011d68b492427d";
-      };
-    };
-    "scmp-0.0.3" = {
-      name = "scmp";
-      packageName = "scmp";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
-        sha1 = "3648df2d7294641e7f78673ffc29681d9bad9073";
-      };
-    };
-    "batch-0.5.0" = {
-      name = "batch";
-      packageName = "batch";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
-        sha1 = "fd2e05a7a5d696b4db9314013e285d8ff3557ec3";
-      };
-    };
-    "negotiator-0.4.2" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz";
-        sha1 = "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37";
-      };
-    };
-    "parseurl-1.0.1" = {
-      name = "parseurl";
-      packageName = "parseurl";
+    "fd-slicer-1.0.1" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
       version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
-        sha1 = "2e57dce6efdd37c3518701030944c22bf388b7b4";
-      };
-    };
-    "debug-0.8.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-0.8.0.tgz";
-        sha1 = "0541ea91f0e503fdf0c5eed418a32550234967f0";
-      };
-    };
-    "bittorrent-dht-3.2.6" = {
-      name = "bittorrent-dht";
-      packageName = "bittorrent-dht";
-      version = "3.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-3.2.6.tgz";
-        sha1 = "8d6f64f002525951536ca403ddd040c03009b7d5";
-      };
-    };
-    "bittorrent-tracker-2.12.1" = {
-      name = "bittorrent-tracker";
-      packageName = "bittorrent-tracker";
-      version = "2.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-2.12.1.tgz";
-        sha1 = "562f0e43c6340d003b08c5dad3d4bff0eb3fd64d";
-      };
-    };
-    "ip-0.3.3" = {
-      name = "ip";
-      packageName = "ip";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz";
-        sha1 = "8ee8309e92f0b040d287f72efaca1a21702d3fb4";
-      };
-    };
-    "peer-wire-swarm-0.9.2" = {
-      name = "peer-wire-swarm";
-      packageName = "peer-wire-swarm";
-      version = "0.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.9.2.tgz";
-        sha1 = "092848005607d8ca94e69f9bc9ebe52956ec3048";
-      };
-    };
-    "random-access-file-0.3.2" = {
-      name = "random-access-file";
-      packageName = "random-access-file";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-file/-/random-access-file-0.3.2.tgz";
-        sha1 = "cbca246e131db7b68a1c6bb6328dd4d0997100a0";
-      };
-    };
-    "is-ip-1.0.0" = {
-      name = "is-ip";
-      packageName = "is-ip";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-ip/-/is-ip-1.0.0.tgz";
-        sha1 = "2bb6959f797ccd6f9fdc812758bcbc87c4c59074";
-      };
-    };
-    "k-bucket-0.5.0" = {
-      name = "k-bucket";
-      packageName = "k-bucket";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-0.5.0.tgz";
-        sha1 = "31d462d86cdb2e8d245528acfe5e71382f552e1d";
-      };
-    };
-    "simple-get-1.4.3" = {
-      name = "simple-get";
-      packageName = "simple-get";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz";
-        sha1 = "e9755eda407e96da40c5e5158c9ea37b33becbeb";
-      };
-    };
-    "ip-regex-1.0.3" = {
-      name = "ip-regex";
-      packageName = "ip-regex";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz";
-        sha1 = "dc589076f659f419c222039a33316f1c7387effd";
-      };
-    };
-    "bencode-0.6.0" = {
-      name = "bencode";
-      packageName = "bencode";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bencode/-/bencode-0.6.0.tgz";
-        sha1 = "04d6190e1d7467c56a969e1a94d1668076eac050";
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
       };
     };
-    "bn.js-1.3.0" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "1.3.0";
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz";
-        sha1 = "0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83";
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     };
-    "extend.js-0.0.2" = {
-      name = "extend.js";
-      packageName = "extend.js";
-      version = "0.0.2";
+    "engine.io-1.8.4" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "1.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extend.js/-/extend.js-0.0.2.tgz";
-        sha1 = "0f9c7a81a1f208b703eb0c3131fe5716ac6ecd15";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-1.8.4.tgz";
+        sha1 = "77bce12b80e5d60429337fec3b0daf691ebc9003";
       };
     };
-    "portfinder-0.3.0" = {
-      name = "portfinder";
-      packageName = "portfinder";
-      version = "0.3.0";
+    "socket.io-client-1.7.4" = {
+      name = "socket.io-client";
+      packageName = "socket.io-client";
+      version = "1.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/portfinder/-/portfinder-0.3.0.tgz";
-        sha1 = "f9f2c96894440c5b5113b84e0ad1013042b7c2a0";
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.4.tgz";
+        sha1 = "ec9f820356ed99ef6d357f0756d648717bdd4281";
       };
     };
-    "mkdirp-0.0.7" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.0.7";
+    "engine.io-client-1.8.4" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "1.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz";
-        sha1 = "d89b4f0e4c3e5e5ca54235931675e094fe1a5072";
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.4.tgz";
+        sha1 = "9fe85dee25853ca6babe25bd2ad68710863e91c2";
       };
     };
     "extract-zip-1.5.0" = {
@@ -17428,24 +17878,6 @@ let
         sha1 = "9528f442dab1b2284e58b4379bb194e22e0c4005";
       };
     };
-    "fd-slicer-1.0.1" = {
-      name = "fd-slicer";
-      packageName = "fd-slicer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
-        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
-      };
-    };
-    "pend-1.2.0" = {
-      name = "pend";
-      packageName = "pend";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
-        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
-      };
-    };
     "bl-1.0.3" = {
       name = "bl";
       packageName = "bl";
@@ -17482,96 +17914,6 @@ let
         sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
       };
     };
-    "ast-types-0.9.8" = {
-      name = "ast-types";
-      packageName = "ast-types";
-      version = "0.9.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.9.8.tgz";
-        sha1 = "6cb6a40beba31f49f20928e28439fc14a3dab078";
-      };
-    };
-    "babylon-7.0.0-beta.8" = {
-      name = "babylon";
-      packageName = "babylon";
-      version = "7.0.0-beta.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz";
-        sha1 = "2bdc5ae366041442c27e068cce6f0d7c06ea9949";
-      };
-    };
-    "flow-parser-0.45.0" = {
-      name = "flow-parser";
-      packageName = "flow-parser";
-      version = "0.45.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.45.0.tgz";
-        sha1 = "aa29d4ae27f06aa02817772bba0fcbefef7e62f0";
-      };
-    };
-    "jest-validate-19.0.0" = {
-      name = "jest-validate";
-      packageName = "jest-validate";
-      version = "19.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-19.0.0.tgz";
-        sha1 = "8c6318a20ecfeaba0ba5378bfbb8277abded4173";
-      };
-    };
-    "jest-matcher-utils-19.0.0" = {
-      name = "jest-matcher-utils";
-      packageName = "jest-matcher-utils";
-      version = "19.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz";
-        sha1 = "5ecd9b63565d2b001f61fbf7ec4c7f537964564d";
-      };
-    };
-    "leven-2.1.0" = {
-      name = "leven";
-      packageName = "leven";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz";
-        sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580";
-      };
-    };
-    "pretty-format-19.0.0" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "19.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-19.0.0.tgz";
-        sha1 = "56530d32acb98a3fa4851c4e2b9d37b420684c84";
-      };
-    };
-    "ansi-styles-3.0.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.0.0.tgz";
-        sha1 = "5404e93a544c4fec7f048262977bebfe3155e0c1";
-      };
-    };
-    "color-convert-1.9.0" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz";
-        sha1 = "1accf97dd739b983bf994d56fec8f95853641b7a";
-      };
-    };
-    "color-name-1.1.2" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.2.tgz";
-        sha1 = "5c8ab72b64bd2215d617ae9559ebb148475cf98d";
-      };
-    };
     "commoner-0.10.8" = {
       name = "commoner";
       packageName = "commoner";
@@ -17590,24 +17932,6 @@ let
         sha1 = "b4c49bf63f162c108b0348399a8737c713b0a83a";
       };
     };
-    "iconv-lite-0.4.17" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.17.tgz";
-        sha1 = "4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d";
-      };
-    };
-    "private-0.1.7" = {
-      name = "private";
-      packageName = "private";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/private/-/private-0.1.7.tgz";
-        sha1 = "68ce5e8a1ef0a23bb570cc28537b5332aba63ef1";
-      };
-    };
     "recast-0.11.23" = {
       name = "recast";
       packageName = "recast";
@@ -17770,6 +18094,33 @@ let
         sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
       };
     };
+    "commander-1.3.2" = {
+      name = "commander";
+      packageName = "commander";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
+      };
+    };
+    "cookie-0.1.0" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
+        sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
+      };
+    };
+    "buffer-crc32-0.2.1" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
+        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+      };
+    };
     "fresh-0.2.0" = {
       name = "fresh";
       packageName = "fresh";
@@ -17779,6 +18130,15 @@ let
         sha1 = "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7";
       };
     };
+    "methods-0.1.0" = {
+      name = "methods";
+      packageName = "methods";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
+        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
+      };
+    };
     "send-0.1.4" = {
       name = "send";
       packageName = "send";
@@ -17797,6 +18157,15 @@ let
         sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
       };
     };
+    "bytes-0.2.1" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
+        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
+      };
+    };
     "raw-body-0.0.3" = {
       name = "raw-body";
       packageName = "raw-body";
@@ -17806,6 +18175,24 @@ let
         sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
       };
     };
+    "negotiator-0.3.0" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
+        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
+      };
+    };
+    "multiparty-2.2.0" = {
+      name = "multiparty";
+      packageName = "multiparty";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
+        sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
+      };
+    };
     "oauth-https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/master" = {
       name = "oauth";
       packageName = "oauth";
@@ -17996,13 +18383,40 @@ let
         sha1 = "4bd28e0770fad421fc807745c1ef3010905b2332";
       };
     };
-    "router-1.3.0" = {
+    "debug-2.6.1" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz";
+        sha1 = "79855090ba2c4e3115cc7d8769491d58f0491351";
+      };
+    };
+    "router-1.3.1" = {
       name = "router";
       packageName = "router";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/router/-/router-1.3.0.tgz";
-        sha1 = "15b24075c1de4a3d3f39808c5d7344a1564417c8";
+        url = "https://registry.npmjs.org/router/-/router-1.3.1.tgz";
+        sha1 = "e59ef64fafc22194a196986834d887058d76af47";
+      };
+    };
+    "send-0.15.1" = {
+      name = "send";
+      packageName = "send";
+      version = "0.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.15.1.tgz";
+        sha1 = "8a02354c26e6f5cca700065f5f0cdeba90ec7b5f";
+      };
+    };
+    "serve-static-1.12.1" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.12.1.tgz";
+        sha1 = "7443a965e3ced647aceb5639fa06bf4d1bbe0039";
       };
     };
     "raw-body-1.3.4" = {
@@ -18095,13 +18509,13 @@ let
         sha1 = "1e0f4650c862dcbfed54fd42b148e9bb1721fcf2";
       };
     };
-    "domutils-1.6.0" = {
+    "domutils-1.6.2" = {
       name = "domutils";
       packageName = "domutils";
-      version = "1.6.0";
+      version = "1.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-1.6.0.tgz";
-        sha1 = "853de07f013287f976b7fe0461740222ea14ecbb";
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz";
+        sha1 = "1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff";
       };
     };
     "async-2.1.5" = {
@@ -18428,6 +18842,15 @@ let
         sha1 = "c86d52e2b71613d29eedf159f3135dbe749cee37";
       };
     };
+    "jodid25519-1.0.2" = {
+      name = "jodid25519";
+      packageName = "jodid25519";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
+        sha1 = "06d4912255093419477d425633606e0e90782967";
+      };
+    };
     "jsprim-0.3.0" = {
       name = "jsprim";
       packageName = "jsprim";
@@ -18482,13 +18905,13 @@ let
         sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
       };
     };
-    "coa-1.0.1" = {
+    "coa-1.0.3" = {
       name = "coa";
       packageName = "coa";
-      version = "1.0.1";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/coa/-/coa-1.0.1.tgz";
-        sha1 = "7f959346cfc8719e3f7233cd6852854a7c67d8a3";
+        url = "https://registry.npmjs.org/coa/-/coa-1.0.3.tgz";
+        sha1 = "1b54a5e1dcf77c990455d4deea98c564416dc893";
       };
     };
     "whet.extend-0.9.9" = {
@@ -18509,13 +18932,13 @@ let
         sha1 = "ddd52c587033f49e94b71fc55569f252e8ff5f85";
       };
     };
-    "clap-1.1.3" = {
+    "clap-1.2.0" = {
       name = "clap";
       packageName = "clap";
-      version = "1.1.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clap/-/clap-1.1.3.tgz";
-        sha1 = "b3bd36e93dd4cbfb395a3c26896352445265c05b";
+        url = "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz";
+        sha1 = "59c90fe3e137104746ff19469a27a634ff68c857";
       };
     };
     "enhanced-resolve-2.3.0" = {
@@ -18590,13 +19013,13 @@ let
         sha1 = "375fb0783ca8fa90307749399bc9c75eb7cf6580";
       };
     };
-    "express-session-1.15.2" = {
+    "express-session-1.15.3" = {
       name = "express-session";
       packageName = "express-session";
-      version = "1.15.2";
+      version = "1.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-session/-/express-session-1.15.2.tgz";
-        sha1 = "d98516443a4ccb8688e1725ae584c02daa4093d4";
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.15.3.tgz";
+        sha1 = "db545f0435a7b1b228ae02da8197f65141735c67";
       };
     };
     "forever-monitor-1.1.0" = {
@@ -18680,15 +19103,6 @@ let
         sha1 = "f8eb1ad00dc58a5514363b41ca5342817f0bd646";
       };
     };
-    "npm-registry-client-8.3.0" = {
-      name = "npm-registry-client";
-      packageName = "npm-registry-client";
-      version = "8.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.3.0.tgz";
-        sha1 = "a86d5b1f97945de8df73c471d33602d5cd15130f";
-      };
-    };
     "octicons-3.5.0" = {
       name = "octicons";
       packageName = "octicons";
@@ -18716,15 +19130,6 @@ let
         sha1 = "949c134db028a190b7bbf8f790aae541b7c020bd";
       };
     };
-    "serve-static-1.12.2" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.12.2.tgz";
-        sha1 = "e546e2726081b81b4bcec8e90808ebcdd323afba";
-      };
-    };
     "signals-1.0.0" = {
       name = "signals";
       packageName = "signals";
@@ -18752,13 +19157,22 @@ let
         sha1 = "0b48420d978c01804cf0230b648861598225a119";
       };
     };
-    "yargs-8.0.1" = {
+    "yargs-8.0.2" = {
       name = "yargs";
       packageName = "yargs";
-      version = "8.0.1";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz";
+        sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
+      };
+    };
+    "color-convert-1.9.0" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-8.0.1.tgz";
-        sha1 = "420ef75e840c1457a80adcca9bc6fa3849de51aa";
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz";
+        sha1 = "1accf97dd739b983bf994d56fec8f95853641b7a";
       };
     };
     "color-string-1.5.2" = {
@@ -18770,6 +19184,15 @@ let
         sha1 = "26e45814bc3c9a7cbd6751648a41434514a773a9";
       };
     };
+    "color-name-1.1.2" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.2.tgz";
+        sha1 = "5c8ab72b64bd2215d617ae9559ebb148475cf98d";
+      };
+    };
     "simple-swizzle-0.2.2" = {
       name = "simple-swizzle";
       packageName = "simple-swizzle";
@@ -18941,13 +19364,13 @@ let
         sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
       };
     };
-    "ssri-4.1.2" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "4.1.2";
+    "npm-registry-client-8.1.1" = {
+      name = "npm-registry-client";
+      packageName = "npm-registry-client";
+      version = "8.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-4.1.2.tgz";
-        sha1 = "3d3c69b490d0b107772a9bf81881f38ae071f24b";
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.1.1.tgz";
+        sha1 = "831476455423ca0a265c6ffdb6100fcc042b36cf";
       };
     };
     "lsmod-1.0.0" = {
@@ -18968,13 +19391,13 @@ let
         sha1 = "6728fc0459c450d796a99c31837569bdf672d728";
       };
     };
-    "send-0.15.2" = {
-      name = "send";
-      packageName = "send";
-      version = "0.15.2";
+    "stack-trace-0.0.9" = {
+      name = "stack-trace";
+      packageName = "stack-trace";
+      version = "0.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.15.2.tgz";
-        sha1 = "f91fab4403bcf87e716f70ceb5db2f578bdc17d6";
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+        sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
       };
     };
     "eve-0.5.4" = {
@@ -19022,15 +19445,6 @@ let
         sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
       };
     };
-    "find-up-2.1.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
-        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
-      };
-    };
     "read-pkg-2.0.0" = {
       name = "read-pkg";
       packageName = "read-pkg";
@@ -19040,42 +19454,6 @@ let
         sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
       };
     };
-    "locate-path-2.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
-        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
-      };
-    };
-    "p-locate-2.0.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
-        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
-      };
-    };
-    "path-exists-3.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
-      };
-    };
-    "p-limit-1.1.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz";
-        sha1 = "b07ff2d9a5d88bec806035895a2bab66a27988bc";
-      };
-    };
     "load-json-file-2.0.0" = {
       name = "load-json-file";
       packageName = "load-json-file";
@@ -19166,15 +19544,6 @@ let
         sha1 = "8baa1365a632f58a3c46d20175fc6002c96e37de";
       };
     };
-    "json5-0.5.1" = {
-      name = "json5";
-      packageName = "json5";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";
-        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
-      };
-    };
     "loader-runner-2.3.0" = {
       name = "loader-runner";
       packageName = "loader-runner";
@@ -19229,15 +19598,6 @@ let
         sha1 = "17c62bfaf13c707f9d02c479e0dcdde8380697fb";
       };
     };
-    "yargs-6.6.0" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "6.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz";
-        sha1 = "782ec21ef403345f830a808ca3d513af56065208";
-      };
-    };
     "big.js-3.1.3" = {
       name = "big.js";
       packageName = "big.js";
@@ -19292,24 +19652,6 @@ let
         sha1 = "9889019d1024cce55cdc069498337ef6186a11a1";
       };
     };
-    "yargs-parser-4.2.1" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz";
-        sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
-      };
-    };
-    "babel-runtime-6.23.0" = {
-      name = "babel-runtime";
-      packageName = "babel-runtime";
-      version = "6.23.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz";
-        sha1 = "0a9489f144de70efb3ce4300accdb329e2fc543b";
-      };
-    };
     "bytes-2.5.0" = {
       name = "bytes";
       packageName = "bytes";
@@ -19328,31 +19670,13 @@ let
         sha1 = "01aa9c401edd92750514470b8266390c66c67318";
       };
     };
-    "detect-indent-5.0.0" = {
-      name = "detect-indent";
-      packageName = "detect-indent";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz";
-        sha1 = "3871cc0a6a002e8c3e5b3cf7f336264675f06b9d";
-      };
-    };
-    "inquirer-3.0.6" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "3.0.6";
+    "gunzip-maybe-1.4.0" = {
+      name = "gunzip-maybe";
+      packageName = "gunzip-maybe";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz";
-        sha1 = "e04aaa9d05b7a3cb9b0f407d04375f0447190347";
-      };
-    };
-    "invariant-2.2.2" = {
-      name = "invariant";
-      packageName = "invariant";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz";
-        sha1 = "9e1f56ac0acdb6bf303306f338be3b204ae60360";
+        url = "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.0.tgz";
+        sha1 = "7d8316c8d0571e1d08a5a79e46fff0afe8172b19";
       };
     };
     "is-ci-1.0.10" = {
@@ -19364,6 +19688,15 @@ let
         sha1 = "f739336b2632365061a9d48270cd56ae3369318e";
       };
     };
+    "leven-2.1.0" = {
+      name = "leven";
+      packageName = "leven";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz";
+        sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580";
+      };
+    };
     "node-emoji-1.5.1" = {
       name = "node-emoji";
       packageName = "node-emoji";
@@ -19400,24 +19733,6 @@ let
         sha1 = "cd692cfb2cc744fd84a3358aac6ee51528cf720d";
       };
     };
-    "roadrunner-1.1.0" = {
-      name = "roadrunner";
-      packageName = "roadrunner";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/roadrunner/-/roadrunner-1.1.0.tgz";
-        sha1 = "1180a30d64e1970d8f55dd8cb0da8ffccecad71e";
-      };
-    };
-    "tar-fs-1.15.2" = {
-      name = "tar-fs";
-      packageName = "tar-fs";
-      version = "1.15.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.2.tgz";
-        sha1 = "761f5b32932c7b39461a60d537faea0d8084830c";
-      };
-    };
     "v8-compile-cache-1.1.0" = {
       name = "v8-compile-cache";
       packageName = "v8-compile-cache";
@@ -19427,67 +19742,31 @@ let
         sha1 = "1dc2a340fb8e5f800a32bcdbfb8c23cd747021b9";
       };
     };
-    "regenerator-runtime-0.10.5" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.10.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
-        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
-      };
-    };
-    "cli-cursor-2.1.0" = {
-      name = "cli-cursor";
-      packageName = "cli-cursor";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
-        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
-      };
-    };
-    "external-editor-2.0.1" = {
-      name = "external-editor";
-      packageName = "external-editor";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.0.1.tgz";
-        sha1 = "4c597c6c88fa6410e41dbbaa7b1be2336aa31095";
-      };
-    };
-    "figures-2.0.0" = {
-      name = "figures";
-      packageName = "figures";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
-        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
-      };
-    };
-    "restore-cursor-2.0.0" = {
-      name = "restore-cursor";
-      packageName = "restore-cursor";
-      version = "2.0.0";
+    "is-deflate-1.0.0" = {
+      name = "is-deflate";
+      packageName = "is-deflate";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
-        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+        url = "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz";
+        sha1 = "c862901c3c161fb09dac7cdc7e784f80e98f2f14";
       };
     };
-    "onetime-2.0.1" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "2.0.1";
+    "is-gzip-1.0.0" = {
+      name = "is-gzip";
+      packageName = "is-gzip";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
-        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+        url = "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz";
+        sha1 = "6ca8b07b99c77998025900e555ced8ed80879a83";
       };
     };
-    "loose-envify-1.3.1" = {
-      name = "loose-envify";
-      packageName = "loose-envify";
-      version = "1.3.1";
+    "peek-stream-1.1.2" = {
+      name = "peek-stream";
+      packageName = "peek-stream";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz";
-        sha1 = "d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848";
+        url = "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.2.tgz";
+        sha1 = "97eb76365bcfd8c89e287f55c8b69d4c3e9bcc52";
       };
     };
     "ci-info-1.0.0" = {
@@ -19499,31 +19778,31 @@ let
         sha1 = "dc5285f2b4e251821683681c381c3388f46ec534";
       };
     };
-    "cli-list-0.1.8" = {
+    "cli-list-0.2.0" = {
       name = "cli-list";
       packageName = "cli-list";
-      version = "0.1.8";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-list/-/cli-list-0.1.8.tgz";
-        sha1 = "aee6d45c4c59bf80068bb968089fb06f1aeddc0a";
+        url = "https://registry.npmjs.org/cli-list/-/cli-list-0.2.0.tgz";
+        sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
-    "cross-spawn-3.0.1" = {
+    "cross-spawn-5.1.0" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
-      version = "3.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz";
-        sha1 = "1256037ecb9f0c5f79e3d6ef135e30770184b982";
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
       };
     };
-    "fullname-2.1.0" = {
+    "fullname-3.3.0" = {
       name = "fullname";
       packageName = "fullname";
-      version = "2.1.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fullname/-/fullname-2.1.0.tgz";
-        sha1 = "c46bf0f7c3f24fd5b3358d00e4a41380eef87350";
+        url = "https://registry.npmjs.org/fullname/-/fullname-3.3.0.tgz";
+        sha1 = "a08747d6921229610b8178b7614fce10cb185f5a";
       };
     };
     "humanize-string-1.0.1" = {
@@ -19535,22 +19814,13 @@ let
         sha1 = "fce2d6c545efc25dea1f23235182c98da0180b42";
       };
     };
-    "inquirer-0.11.4" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "0.11.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz";
-        sha1 = "81e3374e8361beaff2d97016206d359d0b32fa4d";
-      };
-    };
-    "insight-0.7.0" = {
+    "insight-0.8.4" = {
       name = "insight";
       packageName = "insight";
-      version = "0.7.0";
+      version = "0.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/insight/-/insight-0.7.0.tgz";
-        sha1 = "061f9189835bd38a97a60c2b76ea0c6b30099ff6";
+        url = "https://registry.npmjs.org/insight/-/insight-0.8.4.tgz";
+        sha1 = "671caf65b47c9fe8c3d1b3206cf45bb211b75884";
       };
     };
     "npm-keyword-4.2.0" = {
@@ -19562,13 +19832,13 @@ let
         sha1 = "98ffebfdbb1336f27ef5fe1baca0dcacd0acf6c0";
       };
     };
-    "opn-3.0.3" = {
+    "opn-4.0.2" = {
       name = "opn";
       packageName = "opn";
-      version = "3.0.3";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz";
-        sha1 = "b6d99e7399f78d65c3baaffef1fb288e9b85243a";
+        url = "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz";
+        sha1 = "7abc22e644dff63b0a96d5ab7f2790c0f01abc95";
       };
     };
     "parse-help-0.1.1" = {
@@ -19589,13 +19859,13 @@ let
         sha1 = "c52a794bf0db9fad567536e41898f0c9e0a86697";
       };
     };
-    "sort-on-1.3.0" = {
+    "sort-on-2.0.0" = {
       name = "sort-on";
       packageName = "sort-on";
-      version = "1.3.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sort-on/-/sort-on-1.3.0.tgz";
-        sha1 = "0dfd5b364b23df7f2acd86985daeb889e1a7c840";
+        url = "https://registry.npmjs.org/sort-on/-/sort-on-2.0.0.tgz";
+        sha1 = "0df42a679d7ae4aed9c30ba2f55807d979910fcc";
       };
     };
     "tabtab-1.3.2" = {
@@ -19616,6 +19886,15 @@ let
         sha1 = "7d350722061830ba6617631e0cfd3ea08398d95a";
       };
     };
+    "update-notifier-2.2.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.2.0.tgz";
+        sha1 = "1b5837cf90c0736d88627732b661c138f86de72f";
+      };
+    };
     "yeoman-character-1.1.0" = {
       name = "yeoman-character";
       packageName = "yeoman-character";
@@ -19634,31 +19913,121 @@ let
         sha1 = "94ab784896a64f53a9fac452d5e9133e2750a236";
       };
     };
-    "yeoman-environment-1.6.6" = {
+    "yeoman-environment-2.0.0" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "1.6.6";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-1.6.6.tgz";
-        sha1 = "cd85fa67d156060e440d7807d7ef7cf0d2d1d671";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.0.0.tgz";
+        sha1 = "dafa2fc512c168cb8313453e5318e64731265915";
       };
     };
-    "yosay-1.2.1" = {
+    "yosay-2.0.0" = {
       name = "yosay";
       packageName = "yosay";
-      version = "1.2.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yosay/-/yosay-1.2.1.tgz";
-        sha1 = "9466ef969830e85b474e267b50f7688693ed3b5b";
+        url = "https://registry.npmjs.org/yosay/-/yosay-2.0.0.tgz";
+        sha1 = "0f3d2bb01f7f25362c127212f53c1572906333fe";
       };
     };
-    "npmconf-2.1.2" = {
-      name = "npmconf";
-      packageName = "npmconf";
-      version = "2.1.2";
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz";
-        sha1 = "66606a4a736f1e77a059aa071a79c94ab781853a";
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    };
+    "execa-0.6.3" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz";
+        sha1 = "57b69a594f081759c69e5370f0d17b9cb11658fe";
+      };
+    };
+    "filter-obj-1.1.0" = {
+      name = "filter-obj";
+      packageName = "filter-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz";
+        sha1 = "9b311112bc6c6127a16e016c6c5d7f19e0805c5b";
+      };
+    };
+    "p-any-1.1.0" = {
+      name = "p-any";
+      packageName = "p-any";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz";
+        sha1 = "1d03835c7eed1e34b8e539c47b7b60d0d015d4e1";
+      };
+    };
+    "p-try-1.0.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    };
+    "passwd-user-2.1.0" = {
+      name = "passwd-user";
+      packageName = "passwd-user";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passwd-user/-/passwd-user-2.1.0.tgz";
+        sha1 = "fad9db6ae252f8b088e0c5decd20a7da0c5d9f1e";
+      };
+    };
+    "p-some-2.0.0" = {
+      name = "p-some";
+      packageName = "p-some";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-some/-/p-some-2.0.0.tgz";
+        sha1 = "60b408e21f5da11a417fad13740bf20f9024ab3b";
+      };
+    };
+    "aggregate-error-1.0.0" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz";
+        sha1 = "888344dad0220a72e3af50906117f48771925fac";
+      };
+    };
+    "clean-stack-1.3.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz";
+        sha1 = "9e821501ae979986c46b1d66d2d432db2fd4ae31";
+      };
+    };
+    "indent-string-3.1.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-3.1.0.tgz";
+        sha1 = "08ff4334603388399b329e6b9538dc7a3cf5de7d";
       };
     };
     "execall-1.0.0" = {
@@ -19742,13 +20111,13 @@ let
         sha1 = "f04374d4eee5310e9a8e113bf1495411e46176a1";
       };
     };
-    "dot-prop-2.4.0" = {
-      name = "dot-prop";
-      packageName = "dot-prop";
-      version = "2.4.0";
+    "import-lazy-2.1.0" = {
+      name = "import-lazy";
+      packageName = "import-lazy";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-2.4.0.tgz";
-        sha1 = "848e28f7f1d50740c6747ab3cb07670462b6f89c";
+        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
+        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
       };
     };
     "bin-version-check-2.1.0" = {
@@ -19832,22 +20201,13 @@ let
         sha1 = "92a4969065f9c70c694753d55248fc68f8f652c9";
       };
     };
-    "diff-2.2.3" = {
-      name = "diff";
-      packageName = "diff";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz";
-        sha1 = "60eafd0d28ee906e4e8ff0a52c1229521033bf99";
-      };
-    };
-    "globby-4.1.0" = {
+    "globby-6.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "4.1.0";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz";
-        sha1 = "080f54549ec1b82a6c60e631fc82e1211dbe95f8";
+        url = "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
       };
     };
     "grouped-queue-0.3.3" = {
@@ -19859,6 +20219,15 @@ let
         sha1 = "c167d2a5319c5a0e0964ef6a25b7c2df8996c85c";
       };
     };
+    "is-scoped-1.0.0" = {
+      name = "is-scoped";
+      packageName = "is-scoped";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz";
+        sha1 = "449ca98299e713038256289ecb2b540dc437cb30";
+      };
+    };
     "mem-fs-1.1.3" = {
       name = "mem-fs";
       packageName = "mem-fs";
@@ -19868,6 +20237,24 @@ let
         sha1 = "b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc";
       };
     };
+    "untildify-3.0.2" = {
+      name = "untildify";
+      packageName = "untildify";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/untildify/-/untildify-3.0.2.tgz";
+        sha1 = "7f1f302055b3fea0f3e81dc78eb36766cb65e3f1";
+      };
+    };
+    "scoped-regex-1.0.0" = {
+      name = "scoped-regex";
+      packageName = "scoped-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz";
+        sha1 = "a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8";
+      };
+    };
     "vinyl-file-2.0.0" = {
       name = "vinyl-file";
       packageName = "vinyl-file";
@@ -19895,6 +20282,15 @@ let
         sha1 = "1bdecdb8e083c0664b91945581577a43a9f31d70";
       };
     };
+    "ansi-styles-3.1.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz";
+        sha1 = "09c202d5c917ec23188caa5c9cb9179cd9547750";
+      };
+    };
     "pad-component-0.0.1" = {
       name = "pad-component";
       packageName = "pad-component";
@@ -19919,54 +20315,91 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.9.11";
+    version = "1.10.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.9.11.tgz";
-      sha1 = "6e185c5c3211b5a86d272caec63b8daf80e5b186";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.10.2.tgz";
+      sha1 = "998e5cc410fc8eec02fb9007ef95c76ab4ac586f";
     };
     dependencies = [
+      sources."async-2.4.1"
+      (sources."babel-core-6.25.0" // {
+        dependencies = [
+          sources."source-map-0.5.6"
+        ];
+      })
+      sources."babel-traverse-6.25.0"
+      sources."babel-types-6.25.0"
+      sources."babylon-6.17.3"
       sources."colors-0.6.0-1"
+      sources."commander-0.6.1"
+      sources."deasync-0.1.10"
       sources."ejs-2.3.4"
+      sources."global-paths-0.1.2"
+      sources."jsonlint-1.5.1"
+      sources."moment-2.17.1"
+      sources."node.extend-1.0.10"
       sources."pkginfo-0.2.2"
-      sources."commander-0.6.1"
+      sources."resolve-1.3.3"
+      sources."source-map-0.1.9"
       sources."wrench-1.3.9"
+      sources."xml2tss-0.0.5"
       sources."xmldom-0.1.19"
-      sources."jsonlint-1.5.1"
-      (sources."uglify-js-2.6.1" // {
+      sources."lodash-4.17.4"
+      sources."babel-code-frame-6.22.0"
+      (sources."babel-generator-6.25.0" // {
         dependencies = [
           sources."source-map-0.5.6"
         ];
       })
-      sources."resolve-1.3.3"
-      sources."global-paths-0.1.2"
-      sources."source-map-0.1.9"
-      sources."xml2tss-0.0.5"
-      sources."moment-2.17.1"
-      sources."node.extend-1.0.10"
-      sources."nomnom-1.8.1"
-      sources."JSV-4.0.2"
-      sources."underscore-1.6.0"
-      sources."chalk-0.4.0"
-      sources."has-color-0.1.7"
-      sources."ansi-styles-1.0.0"
-      sources."strip-ansi-0.1.1"
-      sources."async-0.2.10"
-      sources."uglify-to-browserify-1.0.2"
-      sources."yargs-3.10.0"
-      sources."camelcase-1.2.1"
-      sources."cliui-2.1.0"
-      sources."decamelize-1.2.0"
-      sources."window-size-0.1.0"
-      sources."center-align-0.1.3"
-      sources."right-align-0.1.3"
-      sources."wordwrap-0.0.2"
-      sources."align-text-0.1.4"
-      sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
-      sources."longest-1.0.1"
-      sources."repeat-string-1.6.1"
-      sources."is-buffer-1.1.5"
-      sources."path-parse-1.0.5"
+      sources."babel-helpers-6.24.1"
+      sources."babel-messages-6.23.0"
+      sources."babel-template-6.25.0"
+      sources."babel-runtime-6.23.0"
+      sources."babel-register-6.24.1"
+      sources."convert-source-map-1.5.0"
+      sources."debug-2.6.8"
+      sources."json5-0.5.1"
+      sources."minimatch-3.0.4"
+      sources."path-is-absolute-1.0.1"
+      sources."private-0.1.7"
+      sources."slash-1.0.0"
+      sources."chalk-1.1.3"
+      sources."esutils-2.0.2"
+      sources."js-tokens-3.0.1"
+      sources."ansi-styles-2.2.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."has-ansi-2.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."ansi-regex-2.1.1"
+      sources."detect-indent-4.0.0"
+      sources."jsesc-1.3.0"
+      sources."trim-right-1.0.1"
+      sources."repeating-2.0.1"
+      sources."is-finite-1.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."core-js-2.4.1"
+      sources."regenerator-runtime-0.10.5"
+      sources."home-or-tmp-2.0.0"
+      sources."mkdirp-0.5.1"
+      (sources."source-map-support-0.4.15" // {
+        dependencies = [
+          sources."source-map-0.5.6"
+        ];
+      })
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."minimist-0.0.8"
+      sources."ms-2.0.0"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+      sources."globals-9.18.0"
+      sources."invariant-2.2.2"
+      sources."loose-envify-1.3.1"
+      sources."to-fast-properties-1.0.3"
+      sources."bindings-1.2.1"
+      sources."nan-2.6.2"
       sources."array-unique-0.2.1"
       (sources."global-modules-0.2.3" // {
         dependencies = [
@@ -19984,10 +20417,21 @@ in
       sources."which-1.2.14"
       sources."parse-passwd-1.0.0"
       sources."isexe-2.0.0"
+      (sources."nomnom-1.8.1" // {
+        dependencies = [
+          sources."chalk-0.4.0"
+          sources."ansi-styles-1.0.0"
+          sources."strip-ansi-0.1.1"
+        ];
+      })
+      sources."JSV-4.0.2"
+      sources."underscore-1.6.0"
+      sources."has-color-0.1.7"
+      sources."is-0.3.0"
+      sources."path-parse-1.0.5"
       sources."amdefine-1.0.1"
       sources."xml2js-0.2.8"
       sources."sax-0.5.8"
-      sources."is-0.3.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -20000,10 +20444,10 @@ in
   azure-cli = nodeEnv.buildNodePackage {
     name = "azure-cli";
     packageName = "azure-cli";
-    version = "0.10.12";
+    version = "0.10.14";
     src = fetchurl {
-      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.12.tgz";
-      sha1 = "4446af5df8dda6c755a0bf7dfec2468a9f63f26d";
+      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.14.tgz";
+      sha1 = "e702e81a68b2b52db11e707796b484001b22063e";
     };
     dependencies = [
       sources."adal-node-0.1.21"
@@ -20017,22 +20461,52 @@ in
       sources."azure-arm-authorization-2.0.0"
       sources."azure-arm-cdn-1.0.3"
       sources."azure-arm-commerce-0.2.0"
-      sources."azure-arm-compute-0.20.0"
-      sources."azure-arm-datalake-analytics-1.0.1-preview"
-      sources."azure-arm-datalake-store-1.0.1-preview"
+      (sources."azure-arm-compute-3.0.0-preview" // {
+        dependencies = [
+          sources."ms-rest-2.2.0"
+          sources."ms-rest-azure-2.1.2"
+          sources."async-0.2.7"
+        ];
+      })
+      sources."azure-arm-datalake-analytics-1.0.2-preview"
+      sources."azure-arm-datalake-store-1.0.2-preview"
       sources."azure-arm-hdinsight-0.2.2"
       sources."azure-arm-hdinsight-jobs-0.1.0"
       sources."azure-arm-insights-0.11.3"
-      sources."azure-arm-iothub-0.1.4"
+      (sources."azure-arm-iothub-1.0.1-preview" // {
+        dependencies = [
+          sources."ms-rest-2.2.0"
+          sources."ms-rest-azure-2.1.2"
+          sources."async-0.2.7"
+        ];
+      })
       sources."azure-arm-servermanagement-0.1.2"
-      sources."azure-arm-network-0.18.0"
+      (sources."azure-arm-network-1.1.0-preview" // {
+        dependencies = [
+          sources."ms-rest-2.2.0"
+          sources."ms-rest-azure-2.1.2"
+          sources."async-0.2.7"
+        ];
+      })
       sources."azure-arm-powerbiembedded-0.1.0"
-      sources."azure-arm-trafficmanager-0.12.0"
+      (sources."azure-arm-trafficmanager-1.1.0-preview" // {
+        dependencies = [
+          sources."ms-rest-azure-2.1.2"
+          sources."ms-rest-2.2.0"
+          sources."async-0.2.7"
+        ];
+      })
       sources."azure-arm-dns-0.11.1"
       sources."azure-arm-website-0.11.4"
       sources."azure-arm-rediscache-0.2.3"
       sources."azure-arm-devtestlabs-0.1.0"
-      sources."azure-graph-1.1.1"
+      (sources."azure-graph-2.1.0-preview" // {
+        dependencies = [
+          sources."ms-rest-azure-2.1.2"
+          sources."ms-rest-2.2.0"
+          sources."async-0.2.7"
+        ];
+      })
       sources."azure-gallery-2.0.0-pre.18"
       sources."azure-keyvault-0.11.0"
       sources."azure-asm-compute-0.18.0"
@@ -20071,7 +20545,7 @@ in
       sources."colors-1.1.2"
       sources."commander-1.0.4"
       sources."date-utils-1.2.21"
-      sources."easy-table-0.0.1"
+      sources."easy-table-1.1.0"
       sources."event-stream-3.1.5"
       sources."eyes-0.1.8"
       sources."github-0.1.6"
@@ -20081,7 +20555,7 @@ in
       sources."jsonminify-0.4.1"
       sources."jsrsasign-4.8.2"
       sources."jwt-decode-2.2.0"
-      (sources."kuduscript-1.0.13" // {
+      (sources."kuduscript-1.0.15" // {
         dependencies = [
           sources."commander-1.1.1"
           sources."streamline-0.4.11"
@@ -20150,27 +20624,36 @@ in
       sources."xpath.js-1.0.7"
       sources."base64url-2.0.0"
       sources."jwa-1.1.5"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."buffer-equal-constant-time-1.0.1"
       sources."ecdsa-sig-formatter-1.0.9"
       sources."dateformat-1.0.2-1.2.3"
       sources."envconf-0.0.4"
       sources."duplexer-0.1.1"
       sources."sax-0.5.2"
+      sources."@types/node-7.0.31"
+      sources."@types/request-0.0.42"
+      sources."@types/uuid-2.0.30"
+      sources."is-buffer-1.1.5"
+      sources."is-stream-1.1.0"
+      sources."@types/form-data-0.0.33"
       sources."browserify-mime-1.2.9"
       sources."extend-1.2.1"
       sources."json-edm-parser-0.1.2"
       sources."md5.js-1.3.4"
       sources."jsonparse-1.2.0"
-      sources."hash-base-3.0.3"
+      sources."hash-base-3.0.4"
       sources."inherits-2.0.3"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
       sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
-      sources."stack-trace-0.0.9"
+      sources."stack-trace-0.0.10"
       sources."keypress-0.1.0"
+      sources."wcwidth-1.0.1"
+      sources."defaults-1.0.3"
+      sources."clone-1.0.2"
       sources."from-0.1.7"
       sources."map-stream-0.1.0"
       sources."pause-stream-0.0.11"
@@ -20201,15 +20684,15 @@ in
       sources."ncp-0.4.2"
       sources."rimraf-2.6.1"
       sources."minimist-0.0.8"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."cycle-1.0.3"
       sources."isstream-0.1.2"
@@ -20225,7 +20708,7 @@ in
       sources."forever-agent-0.6.1"
       (sources."form-data-1.0.1" // {
         dependencies = [
-          sources."async-2.4.0"
+          sources."async-2.4.1"
         ];
       })
       (sources."har-validator-2.0.6" // {
@@ -20271,7 +20754,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -20292,7 +20775,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
@@ -20304,14 +20786,14 @@ in
       sources."amdefine-1.0.1"
       (sources."concat-stream-1.6.0" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
-          sources."string_decoder-1.0.0"
+          sources."readable-stream-2.2.11"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."http-response-object-1.1.0"
       sources."then-request-2.2.0"
       sources."typedarray-0.0.6"
-      sources."buffer-shims-1.0.0"
       sources."http-basic-2.5.1"
       sources."promise-7.1.1"
       sources."asap-2.0.5"
@@ -20371,47 +20853,22 @@ in
       })
       sources."glob-6.0.4"
       sources."sprintf-js-1.0.3"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ext-name-3.0.0"
       sources."graceful-fs-3.0.11"
       sources."intersect-1.0.1"
       sources."ends-with-0.2.0"
-      sources."ext-list-2.2.0"
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."object-assign-4.1.1"
-        ];
-      })
+      sources."ext-list-2.2.2"
+      sources."meow-3.7.0"
       sources."sort-keys-length-1.0.1"
-      sources."got-2.9.2"
-      sources."duplexify-3.5.0"
-      sources."infinity-agent-2.0.3"
-      sources."is-stream-1.1.0"
-      sources."lowercase-keys-1.0.0"
-      sources."nested-error-stacks-1.0.2"
-      sources."object-assign-2.1.1"
-      sources."prepend-http-1.0.4"
-      sources."read-all-stream-2.2.0"
-      sources."statuses-1.3.1"
-      sources."timed-out-2.0.0"
-      sources."end-of-stream-1.0.0"
-      sources."inherits-2.0.3"
-      sources."readable-stream-2.2.9"
-      sources."stream-shift-1.0.0"
-      sources."once-1.3.3"
-      sources."wrappy-1.0.2"
-      sources."buffer-shims-1.0.0"
-      sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
-      sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
-      sources."util-deprecate-1.0.2"
+      sources."mime-db-1.28.0"
       sources."camelcase-keys-2.1.0"
       sources."decamelize-1.2.0"
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."minimist-1.2.0"
       sources."normalize-package-data-2.3.8"
+      sources."object-assign-4.1.1"
       sources."read-pkg-up-1.0.1"
       sources."redent-1.0.0"
       sources."trim-newlines-1.0.0"
@@ -20469,23 +20926,26 @@ in
       sources."path-is-absolute-1.0.1"
       (sources."rimraf-2.6.1" // {
         dependencies = [
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."inherits-2.0.3"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."wrappy-1.0.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."q-1.5.0"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."os-tmpdir-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -20499,10 +20959,10 @@ in
   browserify = nodeEnv.buildNodePackage {
     name = "browserify";
     packageName = "browserify";
-    version = "14.3.0";
+    version = "14.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-14.3.0.tgz";
-      sha1 = "fd003a2386ac1aec127f097885a3cc6373b745c4";
+      url = "https://registry.npmjs.org/browserify/-/browserify-14.4.0.tgz";
+      sha1 = "089a3463af58d0e48d8cd4070b3f74654d5abca9";
     };
     dependencies = [
       sources."JSONStream-1.3.1"
@@ -20519,6 +20979,7 @@ in
       (sources."concat-stream-1.5.2" // {
         dependencies = [
           sources."readable-stream-2.0.6"
+          sources."string_decoder-0.10.31"
         ];
       })
       sources."console-browserify-1.1.0"
@@ -20529,7 +20990,7 @@ in
       sources."domain-browser-1.1.7"
       sources."duplexer2-0.1.4"
       sources."events-1.1.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."has-1.0.1"
       sources."htmlescape-1.1.1"
       sources."https-browserify-1.0.0"
@@ -20548,17 +21009,21 @@ in
       sources."punycode-1.4.1"
       sources."querystring-es3-0.2.1"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.2.9" // {
+      (sources."readable-stream-2.2.11" // {
         dependencies = [
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
         ];
       })
       sources."resolve-1.3.3"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."stream-browserify-2.0.1"
-      sources."stream-http-2.7.0"
-      sources."string_decoder-0.10.31"
+      sources."stream-http-2.7.2"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."subarg-1.0.0"
       sources."syntax-error-1.3.0"
       sources."through2-2.0.3"
@@ -20576,7 +21041,7 @@ in
       })
       sources."vm-browserify-0.0.4"
       sources."xtend-4.0.1"
-      sources."jsonparse-1.3.0"
+      sources."jsonparse-1.3.1"
       sources."through-2.3.8"
       sources."combine-source-map-0.7.2"
       sources."umd-3.0.1"
@@ -20596,12 +21061,12 @@ in
       sources."browserify-cipher-1.0.0"
       sources."browserify-sign-4.0.4"
       sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.2"
-      sources."create-hmac-1.1.4"
+      sources."create-hash-1.1.3"
+      sources."create-hmac-1.1.6"
       sources."diffie-hellman-5.0.2"
-      sources."pbkdf2-3.0.9"
+      sources."pbkdf2-3.0.12"
       sources."public-encrypt-4.0.0"
-      sources."randombytes-2.0.3"
+      sources."randombytes-2.0.5"
       sources."browserify-aes-1.0.6"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.0"
@@ -20618,28 +21083,29 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.1"
-      sources."ripemd160-1.0.1"
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.8"
+      sources."hash-base-2.0.2"
+      sources."safe-buffer-5.1.0"
       sources."miller-rabin-4.0.0"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."function-bind-1.1.0"
       sources."is-buffer-1.1.5"
       sources."lexical-scope-1.2.0"
       sources."astw-2.2.0"
-      sources."acorn-4.0.11"
+      sources."acorn-4.0.13"
       sources."stream-splicer-2.0.0"
       sources."detective-4.5.0"
       sources."stream-combiner2-1.1.1"
       sources."path-platform-0.11.15"
-      sources."buffer-shims-1.0.0"
       sources."path-parse-1.0.5"
       sources."json-stable-stringify-0.0.1"
       sources."jsonify-0.0.0"
@@ -20675,12 +21141,12 @@ in
       sources."chalk-1.0.0"
       sources."chromecast-player-0.2.3"
       sources."debounced-seeker-1.0.0"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."diveSync-0.3.0"
       sources."got-1.2.2"
       sources."internal-ip-1.2.0"
       sources."keypress-0.2.1"
-      sources."mime-1.3.4"
+      sources."mime-1.3.6"
       sources."minimist-1.2.0"
       sources."peerflix-0.34.0"
       (sources."playerui-1.2.0" // {
@@ -20744,7 +21210,7 @@ in
       sources."thunky-0.1.0"
       sources."wrap-fn-0.1.5"
       sources."co-3.1.0"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."append-0.1.1"
       sources."object-assign-1.0.0"
       (sources."meow-3.7.0" // {
@@ -20856,7 +21322,7 @@ in
       sources."magnet-uri-5.1.7"
       sources."parse-torrent-file-4.0.2"
       sources."simple-get-2.6.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."thirty-two-1.0.2"
       sources."uniq-1.0.1"
       sources."bencode-0.11.0"
@@ -20891,14 +21357,14 @@ in
       sources."rimraf-2.6.1"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.1"
-      (sources."random-access-file-1.7.2" // {
+      (sources."random-access-file-1.8.1" // {
         dependencies = [
           sources."mkdirp-0.5.1"
           sources."thunky-1.0.2"
           sources."minimist-0.0.8"
         ];
       })
-      sources."randombytes-2.0.3"
+      sources."randombytes-2.0.5"
       sources."run-parallel-1.1.6"
       sources."buffer-alloc-unsafe-1.0.0"
       sources."inherits-2.0.3"
@@ -20917,13 +21383,13 @@ in
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
       sources."cyclist-0.1.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       (sources."bittorrent-dht-6.4.2" // {
         dependencies = [
@@ -20952,17 +21418,19 @@ in
       sources."run-series-1.1.4"
       (sources."simple-peer-6.4.4" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       (sources."simple-websocket-4.3.1" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."ws-2.3.1"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."string2compact-1.2.2"
@@ -20973,7 +21441,6 @@ in
       })
       sources."ipaddr.js-1.3.0"
       sources."get-browser-rtc-1.0.2"
-      sources."buffer-shims-1.0.0"
       sources."process-nextick-args-1.0.7"
       sources."util-deprecate-1.0.2"
       sources."ultron-1.1.0"
@@ -21012,9 +21479,10 @@ in
       sources."voc-0.5.0"
       (sources."concat-stream-1.6.0" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."exit-on-epipe-1.0.0"
@@ -21035,10 +21503,10 @@ in
   coffee-script = nodeEnv.buildNodePackage {
     name = "coffee-script";
     packageName = "coffee-script";
-    version = "1.12.5";
+    version = "1.12.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.5.tgz";
-      sha1 = "809f4585419112bbfe46a073ad7543af18c27346";
+      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.6.tgz";
+      sha1 = "285a3f7115689065064d6bf9ef4572db66695cbf";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -21051,10 +21519,10 @@ in
   cordova = nodeEnv.buildNodePackage {
     name = "cordova";
     packageName = "cordova";
-    version = "7.0.0";
+    version = "7.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cordova/-/cordova-7.0.0.tgz";
-      sha1 = "425b79539784c728149ee0b7668af0e63f4720b2";
+      url = "https://registry.npmjs.org/cordova/-/cordova-7.0.1.tgz";
+      sha1 = "69fd054300ce5105b092f67a1b286e80c4e88b9d";
     };
     dependencies = [
       sources."configstore-2.1.0"
@@ -21063,7 +21531,7 @@ in
           sources."q-1.5.0"
         ];
       })
-      (sources."cordova-lib-7.0.0" // {
+      (sources."cordova-lib-7.0.1" // {
         dependencies = [
           sources."glob-7.1.1"
           sources."nopt-4.0.1"
@@ -21106,21 +21574,21 @@ in
       sources."cordova-registry-mapper-1.1.15"
       sources."elementtree-0.1.6"
       sources."glob-5.0.15"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."plist-1.2.0"
       sources."semver-5.3.0"
       sources."shelljs-0.5.3"
       sources."underscore-1.8.3"
       sources."unorm-1.4.1"
-      sources."big-integer-1.6.22"
+      sources."big-integer-1.6.23"
       sources."sax-0.3.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."base64-js-0.0.8"
       sources."xmlbuilder-4.0.0"
@@ -21128,7 +21596,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."lodash-3.10.1"
       sources."aliasify-2.1.0"
-      (sources."cordova-create-1.1.0" // {
+      (sources."cordova-create-1.1.1" // {
         dependencies = [
           sources."shelljs-0.3.0"
         ];
@@ -21136,8 +21604,8 @@ in
       (sources."cordova-fetch-1.1.0" // {
         dependencies = [
           sources."q-1.5.0"
-          sources."shelljs-0.7.7"
-          sources."glob-7.1.1"
+          sources."shelljs-0.7.8"
+          sources."glob-7.1.2"
         ];
       })
       sources."cordova-js-4.2.1"
@@ -21153,7 +21621,7 @@ in
       })
       (sources."init-package-json-1.10.1" // {
         dependencies = [
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       (sources."npm-2.15.12" // {
@@ -21163,7 +21631,7 @@ in
           sources."hosted-git-info-2.1.5"
           (sources."init-package-json-1.9.6" // {
             dependencies = [
-              sources."glob-7.1.1"
+              sources."glob-7.1.2"
               sources."validate-npm-package-name-3.0.0"
             ];
           })
@@ -21203,7 +21671,7 @@ in
       sources."isarray-0.0.1"
       sources."object-keys-1.0.11"
       sources."cordova-app-hello-world-3.12.0"
-      (sources."dependency-ls-1.1.0" // {
+      (sources."dependency-ls-1.1.1" // {
         dependencies = [
           sources."q-1.4.1"
         ];
@@ -21216,7 +21684,7 @@ in
       sources."path-parse-1.0.5"
       (sources."browserify-13.3.0" // {
         dependencies = [
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."JSONStream-1.3.1"
@@ -21262,16 +21730,17 @@ in
       sources."punycode-1.4.1"
       sources."querystring-es3-0.2.1"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.2.9" // {
+      (sources."readable-stream-2.2.11" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."stream-browserify-2.0.1"
-      sources."stream-http-2.7.0"
+      sources."stream-http-2.7.2"
       sources."string_decoder-0.10.31"
       (sources."subarg-1.0.0" // {
         dependencies = [
@@ -21280,7 +21749,7 @@ in
       })
       (sources."syntax-error-1.3.0" // {
         dependencies = [
-          sources."acorn-4.0.11"
+          sources."acorn-4.0.13"
         ];
       })
       sources."through2-2.0.3"
@@ -21298,7 +21767,7 @@ in
       })
       sources."vm-browserify-0.0.4"
       sources."xtend-4.0.1"
-      sources."jsonparse-1.3.0"
+      sources."jsonparse-1.3.1"
       sources."combine-source-map-0.7.2"
       sources."umd-3.0.1"
       sources."convert-source-map-1.1.3"
@@ -21314,12 +21783,12 @@ in
       sources."browserify-cipher-1.0.0"
       sources."browserify-sign-4.0.4"
       sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.2"
-      sources."create-hmac-1.1.4"
+      sources."create-hash-1.1.3"
+      sources."create-hmac-1.1.6"
       sources."diffie-hellman-5.0.2"
-      sources."pbkdf2-3.0.9"
+      sources."pbkdf2-3.0.12"
       sources."public-encrypt-4.0.0"
-      sources."randombytes-2.0.3"
+      sources."randombytes-2.0.5"
       sources."browserify-aes-1.0.6"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.0"
@@ -21336,26 +21805,27 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.1"
-      sources."ripemd160-1.0.1"
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.8"
+      sources."hash-base-2.0.2"
+      sources."safe-buffer-5.1.0"
       sources."miller-rabin-4.0.0"
       sources."function-bind-1.1.0"
       sources."is-buffer-1.1.5"
       sources."lexical-scope-1.2.0"
       (sources."astw-2.2.0" // {
         dependencies = [
-          sources."acorn-4.0.11"
+          sources."acorn-4.0.13"
         ];
       })
       sources."stream-splicer-2.0.0"
       (sources."detective-4.5.0" // {
         dependencies = [
-          sources."acorn-4.0.11"
+          sources."acorn-4.0.13"
         ];
       })
       sources."stream-combiner2-1.1.1"
       sources."path-platform-0.11.15"
-      sources."buffer-shims-1.0.0"
       sources."json-stable-stringify-0.0.1"
       sources."jsonify-0.0.0"
       sources."array-filter-0.0.1"
@@ -21367,10 +21837,10 @@ in
       sources."indexof-0.0.1"
       sources."chalk-1.1.3"
       sources."compression-1.6.2"
-      (sources."express-4.15.2" // {
+      (sources."express-4.15.3" // {
         dependencies = [
-          sources."debug-2.6.1"
-          sources."ms-0.7.2"
+          sources."debug-2.6.7"
+          sources."ms-2.0.0"
         ];
       })
       sources."ansi-styles-2.2.1"
@@ -21398,10 +21868,10 @@ in
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.0"
-      (sources."finalhandler-1.0.2" // {
+      (sources."finalhandler-1.0.3" // {
         dependencies = [
-          sources."debug-2.6.4"
-          sources."ms-0.7.3"
+          sources."debug-2.6.7"
+          sources."ms-2.0.0"
         ];
       })
       sources."fresh-0.5.0"
@@ -21413,13 +21883,13 @@ in
       sources."proxy-addr-1.1.4"
       sources."qs-6.4.0"
       sources."range-parser-1.2.0"
-      (sources."send-0.15.1" // {
+      (sources."send-0.15.3" // {
         dependencies = [
-          sources."debug-2.6.1"
-          sources."ms-0.7.2"
+          sources."debug-2.6.7"
+          sources."ms-2.0.0"
         ];
       })
-      sources."serve-static-1.12.1"
+      sources."serve-static-1.12.3"
       sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
       sources."type-is-1.6.15"
@@ -21432,12 +21902,12 @@ in
       sources."http-errors-1.6.1"
       sources."mime-1.3.4"
       sources."media-typer-0.3.0"
-      sources."npm-package-arg-5.0.1"
+      sources."npm-package-arg-5.1.2"
       sources."promzard-0.3.0"
       sources."read-1.0.7"
       (sources."read-package-json-2.0.5" // {
         dependencies = [
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."validate-npm-package-license-3.0.1"
@@ -21475,9 +21945,9 @@ in
       sources."ini-1.3.4"
       sources."lockfile-1.0.3"
       sources."lru-cache-4.0.2"
-      (sources."node-gyp-3.6.1" // {
+      (sources."node-gyp-3.6.2" // {
         dependencies = [
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."normalize-git-url-3.0.2"
@@ -21500,7 +21970,7 @@ in
       sources."retry-0.10.1"
       (sources."rimraf-2.5.4" // {
         dependencies = [
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."sha-2.0.1"
@@ -21528,6 +21998,7 @@ in
       sources."debuglog-1.0.1"
       sources."readdir-scoped-modules-1.0.2"
       sources."util-extend-1.0.3"
+      sources."buffer-shims-1.0.0"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
       (sources."bl-1.1.2" // {
@@ -21553,7 +22024,7 @@ in
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.4.3"
       sources."delayed-stream-1.0.0"
-      (sources."async-2.4.0" // {
+      (sources."async-2.4.1" // {
         dependencies = [
           sources."lodash-4.17.4"
         ];
@@ -21577,7 +22048,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -21598,7 +22069,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."isexe-2.0.0"
@@ -21673,7 +22143,7 @@ in
           sources."minimist-1.2.0"
         ];
       })
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."strip-json-comments-2.0.1"
       sources."is-finite-1.0.2"
     ];
@@ -21720,9 +22190,9 @@ in
       sources."hiredis-0.4.1"
       (sources."json-rpc2-0.8.1" // {
         dependencies = [
-          sources."debug-1.0.4"
+          sources."debug-1.0.5"
           sources."lodash-2.4.2"
-          sources."ms-0.6.2"
+          sources."ms-2.0.0"
         ];
       })
       sources."lodash-3.1.0"
@@ -21822,7 +22292,7 @@ in
       sources."cycle-1.0.3"
       sources."eyes-0.1.8"
       sources."pkginfo-0.3.1"
-      sources."stack-trace-0.0.9"
+      sources."stack-trace-0.0.10"
       sources."formidable-1.0.14"
       sources."component-emitter-1.1.2"
       sources."cookiejar-2.0.1"
@@ -21897,9 +22367,9 @@ in
           sources."minimist-1.2.0"
           sources."split2-2.1.1"
           sources."through2-2.0.3"
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."pump-1.0.2"
@@ -21909,12 +22379,12 @@ in
       sources."sorted-union-stream-1.0.2"
       sources."split2-0.2.1"
       sources."stream-collector-1.0.1"
-      (sources."tar-stream-1.5.2" // {
+      (sources."tar-stream-1.5.4" // {
         dependencies = [
           sources."bl-1.2.1"
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."string_decoder-1.0.2"
         ];
       })
       (sources."through2-0.6.5" // {
@@ -21938,22 +22408,22 @@ in
       (sources."duplexify-3.5.0" // {
         dependencies = [
           sources."end-of-stream-1.0.0"
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."once-1.3.3"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."lru-cache-2.7.3"
       sources."stream-shift-1.0.0"
-      sources."buffer-shims-1.0.0"
       sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.0.1"
       sources."util-deprecate-1.0.2"
       sources."level-packager-0.18.0"
       sources."bytewise-1.1.0"
       sources."ltgt-2.1.3"
       sources."pull-level-2.0.3"
-      sources."pull-stream-3.5.0"
+      sources."pull-stream-3.6.0"
       sources."typewiselite-1.0.0"
       sources."bytewise-core-1.2.3"
       sources."typewise-1.0.3"
@@ -21975,7 +22445,7 @@ in
       sources."level-post-1.0.5"
       sources."pull-cat-1.1.11"
       sources."pull-live-1.0.1"
-      sources."pull-pushable-2.0.1"
+      sources."pull-pushable-2.1.1"
       sources."pull-window-2.1.4"
       (sources."stream-to-pull-stream-1.7.2" // {
         dependencies = [
@@ -22001,22 +22471,34 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "3.2.0";
+    version = "3.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.2.0.tgz";
-      sha1 = "e2b430a7ac456512e1a34bdae7ac125c2566a998";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.3.1.tgz";
+      sha1 = "84218b1184cec4859e63ae2ef44b5a7d877e4fe4";
     };
     dependencies = [
       sources."JSONStream-1.3.1"
-      sources."async-2.4.0"
+      sources."async-2.4.1"
       sources."aws4-1.6.0"
-      sources."awscred-1.2.0"
+      sources."aws-sdk-2.70.0"
       sources."ini-1.3.4"
       sources."optimist-0.6.1"
       sources."request-2.81.0"
-      sources."jsonparse-1.3.0"
+      sources."jsonparse-1.3.1"
       sources."through-2.3.8"
       sources."lodash-4.17.4"
+      sources."buffer-5.0.6"
+      sources."crypto-browserify-1.0.9"
+      sources."jmespath-0.15.0"
+      sources."querystring-0.2.0"
+      sources."sax-1.2.1"
+      sources."url-0.10.3"
+      sources."uuid-3.0.1"
+      sources."xml2js-0.4.17"
+      sources."xmlbuilder-4.2.1"
+      sources."base64-js-1.2.0"
+      sources."ieee754-1.1.8"
+      sources."punycode-1.3.2"
       sources."wordwrap-0.0.3"
       sources."minimist-0.0.10"
       sources."aws-sign2-0.6.0"
@@ -22035,11 +22517,14 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.2"
+      (sources."tough-cookie-2.3.2" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
       sources."tunnel-agent-0.6.0"
-      sources."uuid-3.0.1"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
       sources."ajv-4.11.8"
@@ -22057,7 +22542,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -22078,11 +22563,9 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
-      sources."punycode-1.4.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -22095,14 +22578,15 @@ in
   emoj = nodeEnv.buildNodePackage {
     name = "emoj";
     packageName = "emoj";
-    version = "1.0.0";
+    version = "1.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/emoj/-/emoj-1.0.0.tgz";
-      sha1 = "3cccbeec420e2b45f73b923e880c220392c055bd";
+      url = "https://registry.npmjs.org/emoj/-/emoj-1.1.0.tgz";
+      sha1 = "5a43ae17f6bf672cd8e40891357f84b086c52509";
     };
     dependencies = [
       sources."chalk-1.1.3"
       sources."clipboardy-0.1.2"
+      sources."conf-1.1.2"
       (sources."got-6.7.1" // {
         dependencies = [
           sources."get-stream-3.0.0"
@@ -22113,6 +22597,7 @@ in
       sources."log-update-1.0.2"
       sources."mem-1.1.0"
       sources."meow-3.7.0"
+      sources."skin-tone-1.0.0"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."strip-ansi-3.0.1"
@@ -22126,7 +22611,7 @@ in
       sources."p-finally-1.0.0"
       sources."signal-exit-3.0.2"
       sources."strip-eof-1.0.0"
-      sources."lru-cache-4.0.2"
+      sources."lru-cache-4.1.1"
       sources."which-1.2.14"
       sources."pseudomap-1.0.2"
       sources."yallist-2.1.2"
@@ -22135,12 +22620,23 @@ in
       sources."pinkie-promise-2.0.1"
       sources."pinkie-2.0.4"
       sources."path-key-2.0.1"
+      sources."dot-prop-4.1.1"
+      sources."env-paths-1.0.0"
+      sources."make-dir-1.0.0"
+      sources."pkg-up-2.0.0"
+      sources."is-obj-1.0.1"
+      sources."pify-2.3.0"
+      sources."find-up-2.1.0"
+      sources."locate-path-2.0.0"
+      sources."p-locate-2.0.0"
+      sources."path-exists-3.0.0"
+      sources."p-limit-1.1.0"
       sources."create-error-class-3.0.2"
       sources."duplexer3-0.1.4"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.1.0"
       sources."lowercase-keys-1.0.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."timed-out-4.0.1"
       sources."unzip-response-2.0.1"
       sources."url-parse-lax-1.0.0"
@@ -22158,7 +22654,12 @@ in
       sources."map-obj-1.0.1"
       sources."minimist-1.2.0"
       sources."normalize-package-data-2.3.8"
-      sources."read-pkg-up-1.0.1"
+      (sources."read-pkg-up-1.0.1" // {
+        dependencies = [
+          sources."find-up-1.1.2"
+          sources."path-exists-2.1.0"
+        ];
+      })
       sources."redent-1.0.0"
       sources."trim-newlines-1.0.0"
       sources."camelcase-2.1.1"
@@ -22172,14 +22673,11 @@ in
       sources."spdx-correct-1.0.2"
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
-      sources."find-up-1.1.2"
       sources."read-pkg-1.1.0"
-      sources."path-exists-2.1.0"
       sources."load-json-file-1.1.0"
       sources."path-type-1.1.0"
       sources."graceful-fs-4.1.11"
       sources."parse-json-2.2.0"
-      sources."pify-2.3.0"
       sources."strip-bom-2.0.0"
       sources."error-ex-1.3.1"
       sources."is-arrayish-0.2.1"
@@ -22190,6 +22688,7 @@ in
       sources."is-finite-1.0.2"
       sources."number-is-nan-1.0.1"
       sources."get-stdin-4.0.1"
+      sources."unicode-emoji-modifier-base-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -22202,42 +22701,202 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "3.19.0";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz";
-      sha1 = "c8fc6201c7f40dd08941b87c085767386a679acc";
+      url = "https://registry.npmjs.org/eslint/-/eslint-4.0.0.tgz";
+      sha1 = "7277c01437fdf41dccd168d5aa0e49b75ca1f260";
     };
     dependencies = [
       sources."babel-code-frame-6.22.0"
       sources."chalk-1.1.3"
       sources."concat-stream-1.6.0"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
+      sources."doctrine-2.0.0"
+      sources."eslint-scope-3.7.1"
+      sources."espree-3.4.3"
+      sources."esquery-1.0.0"
+      sources."estraverse-4.2.0"
+      sources."esutils-2.0.2"
+      sources."file-entry-cache-2.0.0"
+      sources."glob-7.1.2"
+      sources."globals-9.18.0"
+      sources."ignore-3.3.3"
+      sources."imurmurhash-0.1.4"
+      sources."inquirer-3.1.0"
+      sources."is-my-json-valid-2.16.0"
+      sources."is-resolvable-1.0.0"
+      sources."js-yaml-3.8.4"
+      sources."json-stable-stringify-1.0.1"
+      sources."levn-0.3.0"
+      sources."lodash-4.17.4"
+      sources."mkdirp-0.5.1"
+      sources."natural-compare-1.4.0"
+      sources."optionator-0.8.2"
+      sources."path-is-inside-1.0.2"
+      sources."pluralize-4.0.0"
+      sources."progress-2.0.0"
+      sources."require-uncached-1.0.3"
+      sources."strip-json-comments-2.0.1"
+      sources."table-4.0.1"
+      sources."text-table-0.2.0"
+      sources."js-tokens-3.0.1"
+      sources."ansi-styles-2.2.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."has-ansi-2.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."ansi-regex-2.1.1"
+      sources."inherits-2.0.3"
+      sources."typedarray-0.0.6"
+      sources."readable-stream-2.2.11"
+      sources."core-util-is-1.0.2"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
+      sources."util-deprecate-1.0.2"
+      sources."ms-2.0.0"
+      (sources."esrecurse-4.1.0" // {
+        dependencies = [
+          sources."estraverse-4.1.1"
+        ];
+      })
+      sources."object-assign-4.1.1"
+      sources."acorn-5.0.3"
+      (sources."acorn-jsx-3.0.1" // {
+        dependencies = [
+          sources."acorn-3.3.0"
+        ];
+      })
+      sources."flat-cache-1.2.2"
+      sources."circular-json-0.3.1"
+      sources."del-2.2.2"
+      sources."graceful-fs-4.1.11"
+      sources."write-0.2.1"
+      sources."globby-5.0.0"
+      sources."is-path-cwd-1.0.0"
+      sources."is-path-in-cwd-1.0.0"
+      sources."pify-2.3.0"
+      sources."pinkie-promise-2.0.1"
+      sources."rimraf-2.6.1"
+      sources."array-union-1.0.2"
+      sources."arrify-1.0.1"
+      sources."array-uniq-1.0.3"
+      sources."is-path-inside-1.0.0"
+      sources."pinkie-2.0.4"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."wrappy-1.0.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+      sources."ansi-escapes-2.0.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.1.0"
+      sources."external-editor-2.0.4"
+      sources."figures-2.0.0"
+      sources."mute-stream-0.0.7"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."string-width-2.0.0"
+      sources."through-2.3.8"
+      sources."restore-cursor-2.0.0"
+      sources."onetime-2.0.1"
+      sources."signal-exit-3.0.2"
+      sources."mimic-fn-1.1.0"
+      sources."iconv-lite-0.4.18"
+      sources."jschardet-1.4.2"
+      sources."tmp-0.0.31"
+      sources."os-tmpdir-1.0.2"
+      sources."is-promise-2.1.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."generate-function-2.0.0"
+      sources."generate-object-property-1.2.0"
+      sources."jsonpointer-4.0.1"
+      sources."xtend-4.0.1"
+      sources."is-property-1.0.2"
+      sources."tryit-1.0.3"
+      sources."argparse-1.0.9"
+      sources."esprima-3.1.3"
+      sources."sprintf-js-1.0.3"
+      sources."jsonify-0.0.0"
+      sources."prelude-ls-1.1.2"
+      sources."type-check-0.3.2"
+      sources."minimist-0.0.8"
+      sources."deep-is-0.1.3"
+      sources."wordwrap-1.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."caller-path-0.1.0"
+      sources."resolve-from-1.0.1"
+      sources."callsites-0.2.0"
+      sources."ajv-4.11.8"
+      sources."ajv-keywords-1.5.1"
+      sources."slice-ansi-0.0.4"
+      sources."co-4.6.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "An AST-based pattern checker for JavaScript.";
+      homepage = http://eslint.org/;
+      license = "MIT";
+    };
+    production = true;
+  };
+  eslint_d = nodeEnv.buildNodePackage {
+    name = "eslint_d";
+    packageName = "eslint_d";
+    version = "4.2.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-4.2.5.tgz";
+      sha1 = "f0d3a150e2960a7d787841ab83eaef746432c5e1";
+    };
+    dependencies = [
+      (sources."chalk-1.1.3" // {
+        dependencies = [
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."eslint-3.19.0"
+      sources."optionator-0.8.2"
+      sources."resolve-1.3.3"
+      sources."supports-color-3.2.3"
+      sources."ansi-styles-2.2.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."has-ansi-2.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."ansi-regex-2.1.1"
+      sources."babel-code-frame-6.22.0"
+      sources."concat-stream-1.6.0"
+      sources."debug-2.6.8"
       sources."doctrine-2.0.0"
       sources."escope-3.6.0"
-      sources."espree-3.4.2"
+      sources."espree-3.4.3"
       sources."esquery-1.0.0"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
       sources."file-entry-cache-2.0.0"
-      sources."glob-7.1.1"
-      sources."globals-9.17.0"
-      sources."ignore-3.3.0"
+      sources."glob-7.1.2"
+      sources."globals-9.18.0"
+      sources."ignore-3.3.3"
       sources."imurmurhash-0.1.4"
       sources."inquirer-0.12.0"
       sources."is-my-json-valid-2.16.0"
       sources."is-resolvable-1.0.0"
-      sources."js-yaml-3.8.3"
+      sources."js-yaml-3.8.4"
       sources."json-stable-stringify-1.0.1"
       sources."levn-0.3.0"
       sources."lodash-4.17.4"
       sources."mkdirp-0.5.1"
       sources."natural-compare-1.4.0"
-      sources."optionator-0.8.2"
       sources."path-is-inside-1.0.2"
       sources."pluralize-1.2.1"
       sources."progress-1.1.8"
       sources."require-uncached-1.0.3"
-      sources."shelljs-0.7.7"
+      sources."shelljs-0.7.8"
       sources."strip-bom-3.0.0"
       sources."strip-json-comments-2.0.1"
       (sources."table-3.8.3" // {
@@ -22249,22 +22908,16 @@ in
       sources."text-table-0.2.0"
       sources."user-home-2.0.0"
       sources."js-tokens-3.0.1"
-      sources."ansi-styles-2.2.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."has-ansi-2.0.0"
-      sources."strip-ansi-3.0.1"
-      sources."supports-color-2.0.0"
-      sources."ansi-regex-2.1.1"
       sources."inherits-2.0.3"
       sources."typedarray-0.0.6"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."es6-map-0.1.5"
       sources."es6-weak-map-2.0.2"
       (sources."esrecurse-4.1.0" // {
@@ -22273,7 +22926,7 @@ in
         ];
       })
       sources."d-1.0.0"
-      sources."es5-ext-0.10.15"
+      sources."es5-ext-0.10.23"
       sources."es6-iterator-2.0.1"
       sources."es6-set-0.1.5"
       sources."es6-symbol-3.1.1"
@@ -22303,12 +22956,12 @@ in
       sources."pinkie-2.0.4"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."ansi-escapes-1.4.0"
       sources."cli-cursor-1.0.2"
@@ -22339,26 +22992,26 @@ in
       sources."prelude-ls-1.1.2"
       sources."type-check-0.3.2"
       sources."minimist-0.0.8"
-      sources."deep-is-0.1.3"
-      sources."wordwrap-1.0.0"
-      sources."fast-levenshtein-2.0.6"
       sources."caller-path-0.1.0"
       sources."resolve-from-1.0.1"
       sources."callsites-0.2.0"
       sources."interpret-1.0.3"
       sources."rechoir-0.6.2"
-      sources."resolve-1.3.3"
-      sources."path-parse-1.0.5"
       sources."ajv-4.11.8"
       sources."ajv-keywords-1.5.1"
       sources."slice-ansi-0.0.4"
       sources."co-4.6.0"
       sources."os-homedir-1.0.2"
+      sources."deep-is-0.1.3"
+      sources."wordwrap-1.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."path-parse-1.0.5"
+      sources."has-flag-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "An AST-based pattern checker for JavaScript.";
-      homepage = http://eslint.org/;
+      description = "Makes eslint the fastest linter on the planet";
+      homepage = https://github.com/mantoni/eslint_d.js;
       license = "MIT";
     };
     production = true;
@@ -22462,14 +23115,14 @@ in
       sources."async-0.2.10"
       sources."cycle-1.0.3"
       sources."pkginfo-0.3.1"
-      sources."stack-trace-0.0.9"
+      sources."stack-trace-0.0.10"
       sources."wordwrap-0.0.3"
       sources."minimist-0.0.10"
       sources."read-1.0.7"
       sources."revalidator-0.1.8"
       sources."mute-stream-0.0.7"
-      sources."chokidar-1.6.1"
-      sources."minimatch-3.0.3"
+      sources."chokidar-1.7.0"
+      sources."minimatch-3.0.4"
       sources."ps-tree-0.0.3"
       sources."anymatch-1.3.0"
       sources."async-each-1.0.1"
@@ -22478,7 +23131,7 @@ in
       sources."is-binary-path-1.0.1"
       sources."is-glob-2.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.1"
+      sources."fsevents-1.1.2"
       sources."arrify-1.0.1"
       sources."micromatch-2.3.11"
       sources."arr-diff-2.0.0"
@@ -22488,7 +23141,7 @@ in
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
       sources."is-extglob-1.0.0"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."normalize-path-2.1.1"
       sources."object.omit-2.0.1"
       sources."parse-glob-3.0.4"
@@ -22500,37 +23153,46 @@ in
       sources."fill-range-2.2.3"
       sources."is-number-2.1.0"
       sources."isobject-2.1.0"
-      sources."randomatic-1.1.6"
+      (sources."randomatic-1.1.7" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
       sources."repeat-string-1.6.1"
       sources."isarray-1.0.0"
-      sources."is-posix-bracket-0.1.1"
       sources."is-buffer-1.1.5"
-      sources."remove-trailing-separator-1.0.1"
+      sources."is-posix-bracket-0.1.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
       sources."glob-base-0.3.0"
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
       sources."binary-extensions-1.8.0"
       sources."graceful-fs-4.1.11"
-      sources."readable-stream-2.2.9"
+      sources."readable-stream-2.2.11"
       sources."set-immediate-shim-1.0.1"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."nan-2.6.2"
-      sources."node-pre-gyp-0.6.34"
+      sources."node-pre-gyp-0.6.36"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
       sources."nopt-4.0.1"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       (sources."rc-1.2.1" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -22554,17 +23216,17 @@ in
       })
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
@@ -22584,7 +23246,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -22606,7 +23267,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -22627,24 +23288,23 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
       sources."punycode-1.4.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.11"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."fstream-ignore-1.0.5"
       sources."uid-number-0.0.6"
-      sources."ms-0.7.3"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."ms-2.0.0"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       (sources."event-stream-0.5.3" // {
         dependencies = [
@@ -22678,13 +23338,15 @@ in
       sha1 = "466a7253a54f526ca2f57ca78780895b95efaee4";
     };
     dependencies = [
-      sources."async-2.4.0"
+      sources."async-2.4.1"
       sources."lodash.groupby-4.6.0"
       sources."minilog-2.0.8"
-      sources."simple-git-1.70.0"
+      sources."simple-git-1.73.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
       sources."lodash-4.17.4"
       sources."microee-0.0.2"
+      sources."debug-2.6.8"
+      sources."ms-2.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -22694,6 +23356,22 @@ in
     };
     production = true;
   };
+  git-standup = nodeEnv.buildNodePackage {
+    name = "git-standup";
+    packageName = "git-standup";
+    version = "2.1.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/git-standup/-/git-standup-2.1.8.tgz";
+      sha1 = "4df13a13e9c49ba4cdbd5ad35a90457c8795e352";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Recall what you did on the last working day. Psst! or be nosy and find what someone else in your team did ;-)";
+      homepage = "https://github.com/kamranahmedse/git-standup#readme";
+      license = "MIT";
+    };
+    production = true;
+  };
   grunt-cli = nodeEnv.buildNodePackage {
     name = "grunt-cli";
     packageName = "grunt-cli";
@@ -22710,12 +23388,12 @@ in
       sources."glob-5.0.15"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."abbrev-1.1.0"
     ];
@@ -22737,7 +23415,7 @@ in
       sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
     };
     dependencies = [
-      sources."coffee-script-1.12.5"
+      sources."coffee-script-1.12.6"
       sources."jade-1.11.0"
       (sources."q-2.0.3" // {
         dependencies = [
@@ -22747,7 +23425,7 @@ in
       sources."xml2js-0.4.17"
       sources."msgpack-1.0.2"
       sources."character-parser-1.2.1"
-      (sources."clean-css-3.4.25" // {
+      (sources."clean-css-3.4.27" // {
         dependencies = [
           sources."commander-2.8.1"
         ];
@@ -22764,7 +23442,7 @@ in
           sources."source-map-0.1.43"
         ];
       })
-      (sources."uglify-js-2.8.22" // {
+      (sources."uglify-js-2.8.29" // {
         dependencies = [
           sources."source-map-0.5.6"
         ];
@@ -22802,7 +23480,7 @@ in
       sources."right-align-0.1.3"
       sources."align-text-0.1.4"
       sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.5"
@@ -22872,13 +23550,13 @@ in
       sources."replace-ext-0.0.1"
       (sources."through2-2.0.3" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."vinyl-0.5.3"
-      sources."time-stamp-1.0.1"
+      sources."time-stamp-1.1.0"
       sources."glogg-1.0.0"
       sources."sparkles-1.0.0"
       sources."lodash._basecopy-3.0.1"
@@ -22900,8 +23578,8 @@ in
       sources."string_decoder-0.10.31"
       sources."inherits-2.0.3"
       sources."xtend-4.0.1"
-      sources."buffer-shims-1.0.0"
       sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.0.1"
       sources."util-deprecate-1.0.2"
       sources."clone-1.0.2"
       sources."clone-stats-0.0.1"
@@ -22926,7 +23604,7 @@ in
       sources."expand-brackets-0.1.5"
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."normalize-path-2.1.1"
       sources."object.omit-2.0.1"
       sources."parse-glob-3.0.4"
@@ -22942,16 +23620,25 @@ in
           sources."isarray-1.0.0"
         ];
       })
-      sources."randomatic-1.1.6"
+      (sources."randomatic-1.1.7" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
       sources."repeat-string-1.6.1"
-      sources."is-posix-bracket-0.1.1"
       sources."is-buffer-1.1.5"
-      sources."remove-trailing-separator-1.0.1"
+      sources."is-posix-bracket-0.1.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
       sources."glob-base-0.3.0"
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."glob-parent-2.0.0"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
@@ -23004,8 +23691,8 @@ in
       sources."glob2base-0.0.12"
       sources."unique-stream-1.0.0"
       sources."inflight-1.0.6"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."find-index-0.1.1"
       sources."gaze-0.5.2"
@@ -23080,12 +23767,12 @@ in
       sources."parserlib-0.2.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       (sources."cli-0.6.6" // {
         dependencies = [
@@ -23116,7 +23803,7 @@ in
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
       sources."glob-base-0.3.0"
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."is-extglob-1.0.0"
       sources."is-glob-2.0.1"
       sources."glob-parent-2.0.0"
@@ -23159,12 +23846,12 @@ in
       sources."escodegen-1.8.1"
       sources."esprima-2.7.3"
       sources."glob-5.0.15"
-      (sources."handlebars-4.0.8" // {
+      (sources."handlebars-4.0.10" // {
         dependencies = [
           sources."source-map-0.4.4"
         ];
       })
-      (sources."js-yaml-3.8.3" // {
+      (sources."js-yaml-3.8.4" // {
         dependencies = [
           sources."esprima-3.1.3"
         ];
@@ -23192,18 +23879,18 @@ in
       sources."amdefine-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       (sources."optimist-0.6.1" // {
         dependencies = [
           sources."wordwrap-0.0.3"
         ];
       })
-      (sources."uglify-js-2.8.22" // {
+      (sources."uglify-js-2.8.29" // {
         dependencies = [
           sources."source-map-0.5.6"
         ];
@@ -23223,7 +23910,7 @@ in
       sources."right-align-0.1.3"
       sources."align-text-0.1.4"
       sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.5"
@@ -23272,11 +23959,11 @@ in
       sources."console-browserify-1.1.0"
       sources."exit-0.1.2"
       sources."htmlparser2-3.8.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."shelljs-0.3.0"
       sources."strip-json-comments-1.0.4"
       sources."lodash-3.7.0"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -23298,8 +23985,8 @@ in
       sources."core-util-is-1.0.2"
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -23340,13 +24027,298 @@ in
     };
     production = true;
   };
+  json-server = nodeEnv.buildNodePackage {
+    name = "json-server";
+    packageName = "json-server";
+    version = "0.10.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/json-server/-/json-server-0.10.1.tgz";
+      sha1 = "1edd299681d3960959cf3b1859d192dc19898a40";
+    };
+    dependencies = [
+      sources."body-parser-1.17.2"
+      sources."chalk-1.1.3"
+      (sources."compression-1.6.2" // {
+        dependencies = [
+          sources."bytes-2.3.0"
+          sources."debug-2.2.0"
+          sources."ms-0.7.1"
+        ];
+      })
+      sources."connect-pause-0.1.1"
+      sources."cors-2.8.3"
+      sources."errorhandler-1.5.0"
+      sources."express-4.15.3"
+      sources."json-parse-helpfulerror-1.0.3"
+      sources."lodash-4.17.4"
+      sources."lodash-id-0.13.0"
+      sources."lowdb-0.15.5"
+      (sources."method-override-2.3.9" // {
+        dependencies = [
+          sources."debug-2.6.8"
+        ];
+      })
+      (sources."morgan-1.8.2" // {
+        dependencies = [
+          sources."debug-2.6.8"
+        ];
+      })
+      sources."object-assign-4.1.1"
+      sources."pluralize-3.1.0"
+      sources."request-2.81.0"
+      sources."server-destroy-1.0.1"
+      sources."shortid-2.2.8"
+      sources."update-notifier-1.0.3"
+      (sources."yargs-6.6.0" // {
+        dependencies = [
+          sources."camelcase-3.0.0"
+        ];
+      })
+      sources."bytes-2.4.0"
+      sources."content-type-1.0.2"
+      sources."debug-2.6.7"
+      sources."depd-1.1.0"
+      sources."http-errors-1.6.1"
+      sources."iconv-lite-0.4.15"
+      sources."on-finished-2.3.0"
+      sources."qs-6.4.0"
+      sources."raw-body-2.2.0"
+      sources."type-is-1.6.15"
+      sources."ms-2.0.0"
+      sources."inherits-2.0.3"
+      sources."setprototypeof-1.0.3"
+      sources."statuses-1.3.1"
+      sources."ee-first-1.1.1"
+      sources."unpipe-1.0.0"
+      sources."media-typer-0.3.0"
+      sources."mime-types-2.1.15"
+      sources."mime-db-1.27.0"
+      sources."ansi-styles-2.2.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."has-ansi-2.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."ansi-regex-2.1.1"
+      sources."accepts-1.3.3"
+      sources."compressible-2.0.10"
+      sources."on-headers-1.0.1"
+      sources."vary-1.1.1"
+      sources."negotiator-0.6.1"
+      sources."escape-html-1.0.3"
+      sources."array-flatten-1.1.1"
+      sources."content-disposition-0.5.2"
+      sources."cookie-0.3.1"
+      sources."cookie-signature-1.0.6"
+      sources."encodeurl-1.0.1"
+      sources."etag-1.8.0"
+      sources."finalhandler-1.0.3"
+      sources."fresh-0.5.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."parseurl-1.3.1"
+      sources."path-to-regexp-0.1.7"
+      sources."proxy-addr-1.1.4"
+      sources."range-parser-1.2.0"
+      sources."send-0.15.3"
+      sources."serve-static-1.12.3"
+      sources."utils-merge-1.0.0"
+      sources."forwarded-0.1.0"
+      sources."ipaddr.js-1.3.0"
+      sources."destroy-1.0.4"
+      sources."mime-1.3.4"
+      sources."jju-1.3.0"
+      sources."graceful-fs-4.1.11"
+      sources."is-promise-2.1.0"
+      sources."steno-0.4.4"
+      sources."basic-auth-1.1.0"
+      sources."aws-sign2-0.6.0"
+      sources."aws4-1.6.0"
+      sources."caseless-0.12.0"
+      sources."combined-stream-1.0.5"
+      sources."extend-3.0.1"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.1.4"
+      sources."har-validator-4.2.1"
+      sources."hawk-3.1.3"
+      sources."http-signature-1.1.1"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."json-stringify-safe-5.0.1"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-0.2.0"
+      sources."safe-buffer-5.1.0"
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.2"
+      sources."tunnel-agent-0.6.0"
+      sources."uuid-3.0.1"
+      sources."delayed-stream-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."ajv-4.11.8"
+      sources."har-schema-1.0.5"
+      sources."co-4.6.0"
+      sources."json-stable-stringify-1.0.1"
+      sources."jsonify-0.0.0"
+      sources."hoek-2.16.3"
+      sources."boom-2.10.1"
+      sources."cryptiles-2.0.5"
+      sources."sntp-1.0.9"
+      sources."assert-plus-0.2.0"
+      (sources."jsprim-1.4.0" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      (sources."sshpk-1.13.1" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."extsprintf-1.0.2"
+      sources."json-schema-0.2.3"
+      sources."verror-1.3.6"
+      sources."asn1-0.2.3"
+      (sources."dashdash-1.14.1" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      (sources."getpass-0.1.7" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."jsbn-0.1.1"
+      sources."tweetnacl-0.14.5"
+      sources."ecc-jsbn-0.1.1"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."punycode-1.4.1"
+      sources."boxen-0.6.0"
+      (sources."configstore-2.1.0" // {
+        dependencies = [
+          sources."uuid-2.0.3"
+        ];
+      })
+      sources."is-npm-1.0.0"
+      sources."latest-version-2.0.0"
+      sources."lazy-req-1.1.0"
+      sources."semver-diff-2.1.0"
+      sources."xdg-basedir-2.0.0"
+      sources."ansi-align-1.1.0"
+      sources."camelcase-2.1.1"
+      sources."cli-boxes-1.0.0"
+      sources."filled-array-1.1.0"
+      sources."repeating-2.0.1"
+      sources."string-width-1.0.2"
+      sources."widest-line-1.0.0"
+      sources."is-finite-1.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."code-point-at-1.1.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."dot-prop-3.0.0"
+      sources."mkdirp-0.5.1"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.4"
+      sources."write-file-atomic-1.3.4"
+      sources."is-obj-1.0.1"
+      sources."minimist-0.0.8"
+      sources."os-homedir-1.0.2"
+      sources."imurmurhash-0.1.4"
+      sources."slide-1.1.6"
+      sources."package-json-2.4.0"
+      sources."got-5.7.1"
+      sources."registry-auth-token-3.3.1"
+      sources."registry-url-3.1.0"
+      sources."semver-5.3.0"
+      sources."create-error-class-3.0.2"
+      sources."duplexer2-0.1.4"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."lowercase-keys-1.0.0"
+      sources."node-status-codes-1.0.0"
+      sources."parse-json-2.2.0"
+      sources."pinkie-promise-2.0.1"
+      sources."read-all-stream-3.1.0"
+      (sources."readable-stream-2.2.11" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
+      sources."timed-out-3.1.3"
+      sources."unzip-response-1.0.2"
+      sources."url-parse-lax-1.0.0"
+      sources."capture-stack-trace-1.0.0"
+      sources."error-ex-1.3.1"
+      sources."is-arrayish-0.2.1"
+      sources."pinkie-2.0.4"
+      sources."core-util-is-1.0.2"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-1.0.7"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."prepend-http-1.0.4"
+      (sources."rc-1.2.1" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."deep-extend-0.4.2"
+      sources."ini-1.3.4"
+      sources."strip-json-comments-2.0.1"
+      sources."cliui-3.2.0"
+      sources."decamelize-1.2.0"
+      sources."get-caller-file-1.0.2"
+      sources."os-locale-1.4.0"
+      sources."read-pkg-up-1.0.1"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-1.0.1"
+      sources."set-blocking-2.0.0"
+      sources."which-module-1.0.0"
+      sources."y18n-3.2.1"
+      (sources."yargs-parser-4.2.1" // {
+        dependencies = [
+          sources."camelcase-3.0.0"
+        ];
+      })
+      sources."wrap-ansi-2.1.0"
+      sources."lcid-1.0.0"
+      sources."invert-kv-1.0.0"
+      sources."find-up-1.1.2"
+      sources."read-pkg-1.1.0"
+      sources."path-exists-2.1.0"
+      sources."load-json-file-1.1.0"
+      sources."normalize-package-data-2.3.8"
+      sources."path-type-1.1.0"
+      sources."pify-2.3.0"
+      sources."strip-bom-2.0.0"
+      sources."is-utf8-0.2.1"
+      sources."hosted-git-info-2.4.2"
+      sources."is-builtin-module-1.0.0"
+      sources."validate-npm-package-license-3.0.1"
+      sources."builtin-modules-1.1.1"
+      sources."spdx-correct-1.0.2"
+      sources."spdx-expression-parse-1.0.4"
+      sources."spdx-license-ids-1.2.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Serves JSON files through REST routes.";
+      homepage = https://github.com/typicode/json-server;
+      license = "MIT";
+    };
+    production = true;
+  };
   js-yaml = nodeEnv.buildNodePackage {
     name = "js-yaml";
     packageName = "js-yaml";
-    version = "3.8.3";
+    version = "3.8.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.3.tgz";
-      sha1 = "33a05ec481c850c8875929166fe1beb61c728766";
+      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.4.tgz";
+      sha1 = "520b4564f86573ba96662af85a8cafa7b4b5a6f6";
     };
     dependencies = [
       sources."argparse-1.0.9"
@@ -23364,26 +24336,22 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "1.6.0";
+    version = "1.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-1.6.0.tgz";
-      sha1 = "0e871d4527d5eac56c41d181f03c5c0a7e6dbf3e";
+      url = "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz";
+      sha1 = "6f7a1a406446fa2e187ec95398698f4cee476269";
     };
     dependencies = [
       sources."bluebird-3.5.0"
-      sources."body-parser-1.17.1"
-      sources."chokidar-1.6.1"
+      sources."body-parser-1.17.2"
+      sources."chokidar-1.7.0"
       sources."colors-1.1.2"
       (sources."combine-lists-1.0.1" // {
         dependencies = [
           sources."lodash-4.17.4"
         ];
       })
-      (sources."connect-3.6.1" // {
-        dependencies = [
-          sources."debug-2.6.3"
-        ];
-      })
+      sources."connect-3.6.2"
       sources."core-js-2.4.1"
       sources."di-0.0.1"
       sources."dom-serialize-2.2.1"
@@ -23395,7 +24363,7 @@ in
           sources."repeat-string-0.2.2"
         ];
       })
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."graceful-fs-4.1.11"
       sources."http-proxy-1.16.2"
       sources."isbinaryfile-3.0.2"
@@ -23408,17 +24376,18 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      sources."mime-1.3.4"
-      sources."minimatch-3.0.3"
+      sources."mime-1.3.6"
+      sources."minimatch-3.0.4"
       sources."optimist-0.6.1"
       sources."qjobs-1.1.5"
       sources."range-parser-1.2.0"
       sources."rimraf-2.6.1"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       (sources."socket.io-1.7.3" // {
         dependencies = [
           sources."debug-2.3.3"
           sources."object-assign-4.1.0"
+          sources."ms-0.7.2"
         ];
       })
       sources."source-map-0.5.6"
@@ -23426,7 +24395,7 @@ in
       sources."useragent-2.1.13"
       sources."bytes-2.4.0"
       sources."content-type-1.0.2"
-      sources."debug-2.6.1"
+      sources."debug-2.6.7"
       sources."depd-1.1.0"
       sources."http-errors-1.6.1"
       sources."iconv-lite-0.4.15"
@@ -23434,7 +24403,7 @@ in
       sources."qs-6.4.0"
       sources."raw-body-2.2.0"
       sources."type-is-1.6.15"
-      sources."ms-0.7.2"
+      sources."ms-2.0.0"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
@@ -23450,7 +24419,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.1"
+      sources."fsevents-1.1.2"
       sources."arrify-1.0.1"
       sources."micromatch-2.3.11"
       sources."arr-diff-2.0.0"
@@ -23460,7 +24429,7 @@ in
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
       sources."is-extglob-1.0.0"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."normalize-path-2.1.1"
       sources."object.omit-2.0.1"
       sources."parse-glob-3.0.4"
@@ -23472,32 +24441,48 @@ in
       sources."fill-range-2.2.3"
       sources."is-number-2.1.0"
       sources."isobject-2.1.0"
-      sources."randomatic-1.1.6"
+      (sources."randomatic-1.1.7" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
       sources."repeat-string-1.6.1"
       sources."isarray-1.0.0"
-      sources."is-posix-bracket-0.1.1"
       sources."is-buffer-1.1.5"
-      sources."remove-trailing-separator-1.0.1"
+      sources."is-posix-bracket-0.1.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
       sources."glob-base-0.3.0"
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
       sources."binary-extensions-1.8.0"
-      sources."readable-stream-2.2.9"
+      (sources."readable-stream-2.2.11" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."set-immediate-shim-1.0.1"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."util-deprecate-1.0.2"
       sources."nan-2.6.2"
-      sources."node-pre-gyp-0.6.34"
+      sources."node-pre-gyp-0.6.36"
       sources."mkdirp-0.5.1"
       sources."nopt-4.0.1"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       (sources."rc-1.2.1" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -23517,18 +24502,18 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
@@ -23567,7 +24552,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -23588,7 +24573,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
@@ -23598,11 +24582,7 @@ in
       sources."once-1.4.0"
       sources."uid-number-0.0.6"
       sources."wrappy-1.0.2"
-      (sources."finalhandler-1.0.1" // {
-        dependencies = [
-          sources."debug-2.6.3"
-        ];
-      })
+      sources."finalhandler-1.0.3"
       sources."parseurl-1.3.1"
       sources."utils-merge-1.0.0"
       sources."encodeurl-1.0.1"
@@ -23615,13 +24595,14 @@ in
       sources."inflight-1.0.6"
       sources."eventemitter3-1.2.0"
       sources."requires-port-1.0.0"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."wordwrap-0.0.3"
       (sources."engine.io-1.8.3" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       (sources."has-binary-0.1.7" // {
@@ -23632,11 +24613,13 @@ in
       (sources."socket.io-adapter-0.5.0" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       (sources."socket.io-client-1.7.3" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       (sources."socket.io-parser-2.3.1" // {
@@ -23666,6 +24649,7 @@ in
       (sources."engine.io-client-1.8.3" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       sources."indexof-0.0.1"
@@ -23757,11 +24741,11 @@ in
       })
       sources."finalhandler-0.4.0"
       sources."http-errors-1.3.1"
-      (sources."method-override-2.3.8" // {
+      (sources."method-override-2.3.9" // {
         dependencies = [
-          sources."debug-2.6.3"
+          sources."debug-2.6.8"
           sources."vary-1.1.1"
-          sources."ms-0.7.2"
+          sources."ms-2.0.0"
         ];
       })
       sources."morgan-1.6.1"
@@ -23861,14 +24845,14 @@ in
       sources."through2-2.0.3"
       sources."vinyl-1.2.0"
       sources."vinyl-fs-2.4.4"
-      sources."readable-stream-2.2.9"
+      sources."readable-stream-2.2.11"
       sources."xtend-4.0.1"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
       sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."clone-1.0.2"
       sources."clone-stats-0.0.1"
@@ -23911,10 +24895,10 @@ in
       sources."to-absolute-glob-0.1.1"
       sources."unique-stream-2.2.1"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."is-glob-3.1.0"
       sources."path-dirname-1.0.2"
@@ -23929,7 +24913,7 @@ in
         ];
       })
       sources."filename-regex-2.0.1"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."normalize-path-2.1.1"
       sources."object.omit-2.0.1"
       (sources."parse-glob-3.0.4" // {
@@ -23946,11 +24930,20 @@ in
       sources."fill-range-2.2.3"
       sources."is-number-2.1.0"
       sources."isobject-2.1.0"
-      sources."randomatic-1.1.6"
+      (sources."randomatic-1.1.7" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
       sources."repeat-string-1.6.1"
-      sources."is-posix-bracket-0.1.1"
       sources."is-buffer-1.1.5"
-      sources."remove-trailing-separator-1.0.1"
+      sources."is-posix-bracket-0.1.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
@@ -23961,7 +24954,7 @@ in
           sources."is-extglob-1.0.0"
         ];
       })
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
       sources."is-stream-1.1.0"
@@ -24007,7 +25000,7 @@ in
       sources."eyes-0.1.8"
       sources."pkginfo-0.2.3"
       sources."request-2.9.203"
-      sources."stack-trace-0.0.9"
+      sources."stack-trace-0.0.10"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -24019,10 +25012,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "3.3.0";
+    version = "3.4.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-3.3.0.tgz";
-      sha1 = "d29b7428d3f52c82e2e65df1ecb7064e1aabbfb5";
+      url = "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz";
+      sha1 = "d0ef4d332126dbf18d0d640c9b382dd48be97594";
     };
     dependencies = [
       sources."browser-stdout-1.3.0"
@@ -24041,12 +25034,12 @@ in
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."lodash._baseassign-3.2.0"
       sources."lodash._basecreate-3.0.3"
@@ -24133,12 +25126,12 @@ in
       sources."npmlog-3.1.2"
       sources."inherits-2.0.3"
       sources."typedarray-0.0.6"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."minimist-0.0.8"
       sources."hosted-git-info-2.4.2"
@@ -24166,7 +25159,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -24188,7 +25180,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -24209,32 +25201,31 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
       sources."punycode-1.4.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."are-we-there-yet-1.1.4"
       sources."console-control-strings-1.1.0"
       sources."gauge-2.6.0"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-color-0.1.7"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
@@ -24273,19 +25264,19 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "3.6.1";
+    version = "3.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.1.tgz";
-      sha1 = "19561067ff185464aded478212681f47fd578cbc";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
+      sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
     };
     dependencies = [
       sources."fstream-1.0.11"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."graceful-fs-4.1.11"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."mkdirp-0.5.1"
       sources."nopt-3.0.6"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       sources."osenv-0.1.4"
       sources."request-2.81.0"
       sources."rimraf-2.6.1"
@@ -24298,8 +25289,8 @@ in
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."minimist-0.0.8"
       sources."abbrev-1.1.0"
@@ -24308,20 +25299,20 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
@@ -24345,7 +25336,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -24367,7 +25357,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -24388,7 +25378,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
@@ -24415,22 +25404,17 @@ in
     dependencies = [
       sources."async-0.9.2"
       sources."biased-opener-0.2.8"
-      sources."debug-2.6.6"
-      (sources."express-4.15.2" // {
+      sources."debug-2.6.8"
+      (sources."express-4.15.3" // {
         dependencies = [
-          sources."debug-2.6.1"
-          sources."ms-0.7.2"
+          sources."debug-2.6.7"
         ];
       })
       sources."glob-5.0.15"
       sources."path-is-absolute-1.0.1"
       sources."rc-1.2.1"
       sources."semver-4.3.6"
-      (sources."serve-favicon-2.4.2" // {
-        dependencies = [
-          sources."ms-1.0.0"
-        ];
-      })
+      sources."serve-favicon-2.4.3"
       sources."strong-data-uri-1.0.4"
       sources."v8-debug-1.0.1"
       sources."v8-profiler-5.7.0"
@@ -24472,7 +25456,7 @@ in
       sources."bplist-parser-0.1.1"
       sources."meow-3.7.0"
       sources."untildify-2.1.0"
-      sources."big-integer-1.6.22"
+      sources."big-integer-1.6.23"
       sources."camelcase-keys-2.1.0"
       sources."decamelize-1.2.0"
       sources."loud-rejection-1.6.0"
@@ -24513,7 +25497,7 @@ in
       sources."is-finite-1.0.2"
       sources."number-is-nan-1.0.1"
       sources."get-stdin-4.0.1"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."accepts-1.3.3"
       sources."array-flatten-1.1.1"
       sources."content-disposition-0.5.2"
@@ -24524,9 +25508,9 @@ in
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.0"
-      (sources."finalhandler-1.0.2" // {
+      (sources."finalhandler-1.0.3" // {
         dependencies = [
-          sources."debug-2.6.4"
+          sources."debug-2.6.7"
         ];
       })
       sources."fresh-0.5.0"
@@ -24538,13 +25522,12 @@ in
       sources."proxy-addr-1.1.4"
       sources."qs-6.4.0"
       sources."range-parser-1.2.0"
-      (sources."send-0.15.1" // {
+      (sources."send-0.15.3" // {
         dependencies = [
-          sources."debug-2.6.1"
-          sources."ms-0.7.2"
+          sources."debug-2.6.7"
         ];
       })
-      sources."serve-static-1.12.1"
+      sources."serve-static-1.12.3"
       sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
       sources."type-is-1.6.15"
@@ -24563,32 +25546,33 @@ in
       sources."inherits-2.0.3"
       sources."media-typer-0.3.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
+      sources."safe-buffer-5.0.1"
       sources."truncate-1.0.5"
       sources."nan-2.6.2"
-      (sources."node-pre-gyp-0.6.34" // {
+      (sources."node-pre-gyp-0.6.36" // {
         dependencies = [
           sources."rimraf-2.6.1"
           sources."semver-5.3.0"
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."nopt-4.0.1"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       sources."request-2.81.0"
       sources."tar-2.2.1"
       (sources."tar-pack-3.4.0" // {
         dependencies = [
           sources."rimraf-2.6.1"
-          sources."glob-7.1.1"
+          sources."glob-7.1.2"
         ];
       })
       sources."abbrev-1.1.0"
@@ -24597,17 +25581,16 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
-      sources."aproba-1.1.1"
+      sources."string_decoder-1.0.2"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."ansi-regex-2.1.1"
@@ -24626,7 +25609,6 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -24648,7 +25630,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -24669,7 +25651,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
@@ -24699,15 +25680,15 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.34";
+    version = "0.6.36";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz";
-      sha1 = "94ad1c798a11d7fc67381b50d47f8cc18d9799f7";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz";
+      sha1 = "db604112cb74e0d477554e9b505b17abddfab786";
     };
     dependencies = [
       sources."mkdirp-0.5.1"
       sources."nopt-4.0.1"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       (sources."rc-1.2.1" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -24728,26 +25709,26 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
       sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
@@ -24767,7 +25748,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -24789,7 +25769,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -24810,28 +25790,27 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
       sources."punycode-1.4.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.11"
       sources."graceful-fs-4.1.11"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."fstream-ignore-1.0.5"
       sources."uid-number-0.0.6"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -24850,12 +25829,12 @@ in
       sha1 = "226c562bd2a7b13d3d7518b49ad4828a3623d06c";
     };
     dependencies = [
-      sources."chokidar-1.6.1"
-      sources."debug-2.6.6"
+      sources."chokidar-1.7.0"
+      sources."debug-2.6.8"
       sources."es6-promise-3.3.1"
       sources."ignore-by-default-1.0.1"
       sources."lodash.defaults-3.1.2"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."ps-tree-1.1.0"
       (sources."touch-1.0.0" // {
         dependencies = [
@@ -24872,7 +25851,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.1"
+      sources."fsevents-1.1.2"
       sources."arrify-1.0.1"
       sources."micromatch-2.3.11"
       sources."arr-diff-2.0.0"
@@ -24882,7 +25861,7 @@ in
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
       sources."is-extglob-1.0.0"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."normalize-path-2.1.1"
       sources."object.omit-2.0.1"
       sources."parse-glob-3.0.4"
@@ -24894,33 +25873,42 @@ in
       sources."fill-range-2.2.3"
       sources."is-number-2.1.0"
       sources."isobject-2.1.0"
-      sources."randomatic-1.1.6"
+      (sources."randomatic-1.1.7" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
       sources."repeat-string-1.6.1"
       sources."isarray-1.0.0"
-      sources."is-posix-bracket-0.1.1"
       sources."is-buffer-1.1.5"
-      sources."remove-trailing-separator-1.0.1"
+      sources."is-posix-bracket-0.1.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
       sources."glob-base-0.3.0"
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
       sources."binary-extensions-1.8.0"
       sources."graceful-fs-4.1.11"
-      sources."readable-stream-2.2.9"
+      sources."readable-stream-2.2.11"
       sources."set-immediate-shim-1.0.1"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."nan-2.6.2"
-      sources."node-pre-gyp-0.6.34"
+      sources."node-pre-gyp-0.6.36"
       sources."mkdirp-0.5.1"
       sources."nopt-4.0.1"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       (sources."rc-1.2.1" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -24941,18 +25929,18 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
@@ -24972,7 +25960,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -24994,7 +25981,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -25015,12 +26002,11 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
       sources."punycode-1.4.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."once-1.4.0"
@@ -25029,7 +26015,7 @@ in
       sources."fstream-1.0.11"
       sources."fstream-ignore-1.0.5"
       sources."uid-number-0.0.6"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."lodash.assign-3.2.0"
       sources."lodash.restparam-3.6.1"
       sources."lodash._baseassign-3.2.0"
@@ -25041,8 +26027,8 @@ in
       sources."lodash._getnative-3.9.1"
       sources."lodash.isarguments-3.1.0"
       sources."lodash.isarray-3.0.4"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."event-stream-3.3.4"
       sources."through-2.3.8"
@@ -25129,8 +26115,8 @@ in
       sources."express-4.14.0"
       (sources."follow-redirects-1.2.1" // {
         dependencies = [
-          sources."debug-2.6.6"
-          sources."ms-0.7.3"
+          sources."debug-2.6.8"
+          sources."ms-2.0.0"
         ];
       })
       sources."fs-extra-1.0.0"
@@ -25164,9 +26150,9 @@ in
       sources."when-3.7.7"
       sources."ws-1.1.1"
       sources."xml2js-0.4.17"
-      sources."node-red-node-feedparser-0.1.7"
-      sources."node-red-node-email-0.1.22"
-      (sources."node-red-node-twitter-0.1.10" // {
+      sources."node-red-node-feedparser-0.1.8"
+      sources."node-red-node-email-0.1.23"
+      (sources."node-red-node-twitter-0.1.11" // {
         dependencies = [
           sources."request-2.81.0"
           sources."caseless-0.12.0"
@@ -25176,7 +26162,7 @@ in
           sources."tunnel-agent-0.6.0"
         ];
       })
-      sources."node-red-node-rbe-0.1.8"
+      sources."node-red-node-rbe-0.1.10"
       sources."bcrypt-1.0.2"
       sources."bytes-2.4.0"
       sources."content-type-1.0.2"
@@ -25220,13 +26206,13 @@ in
       sources."boolbase-1.0.0"
       sources."nth-check-1.0.1"
       sources."domelementtype-1.3.0"
-      sources."domhandler-2.3.0"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."domhandler-2.4.1"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
@@ -25291,25 +26277,24 @@ in
       sources."glob-stream-6.1.0"
       sources."through2-2.0.3"
       sources."extend-3.0.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."glob-parent-3.1.0"
       sources."is-negated-glob-1.0.0"
-      sources."ordered-read-streams-1.0.0"
+      sources."ordered-read-streams-1.0.1"
       sources."pumpify-1.3.5"
-      sources."remove-trailing-separator-1.0.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."to-absolute-glob-2.0.1"
       sources."unique-stream-2.2.1"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."is-glob-3.1.0"
       sources."path-dirname-1.0.2"
       sources."is-extglob-2.1.1"
-      sources."is-stream-1.1.0"
       (sources."duplexify-3.5.0" // {
         dependencies = [
           sources."end-of-stream-1.0.0"
@@ -25328,7 +26313,6 @@ in
       sources."through2-filter-2.0.0"
       sources."jsonify-0.0.0"
       sources."bl-1.2.1"
-      sources."safe-buffer-5.0.1"
       sources."abbrev-1.1.0"
       sources."uid2-0.0.3"
       sources."passport-strategy-1.0.0"
@@ -25345,7 +26329,7 @@ in
       sources."wordwrap-0.0.2"
       sources."align-text-0.1.4"
       sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.5"
@@ -25378,7 +26362,7 @@ in
       sources."forever-agent-0.6.1"
       (sources."form-data-1.0.1" // {
         dependencies = [
-          sources."async-2.4.0"
+          sources."async-2.4.1"
         ];
       })
       sources."har-validator-2.0.6"
@@ -25418,7 +26402,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -25439,7 +26423,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
@@ -25477,7 +26460,7 @@ in
           sources."minimist-0.0.10"
         ];
       })
-      (sources."mimelib-0.3.0" // {
+      (sources."mimelib-0.3.1" // {
         dependencies = [
           sources."addressparser-1.0.1"
         ];
@@ -25510,7 +26493,7 @@ in
           sources."minimist-0.0.8"
         ];
       })
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       sources."rc-1.1.7"
       sources."rimraf-2.5.4"
       sources."tar-2.2.1"
@@ -25526,22 +26509,23 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.11"
       sources."fstream-ignore-1.0.5"
       sources."uid-number-0.0.6"
+      sources."buffer-shims-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -25605,9 +26589,9 @@ in
       sources."methods-0.0.1"
       sources."send-0.1.0"
       sources."cookie-signature-1.0.1"
-      (sources."debug-2.6.6" // {
+      (sources."debug-2.6.8" // {
         dependencies = [
-          sources."ms-0.7.3"
+          sources."ms-2.0.0"
         ];
       })
       sources."qs-0.5.1"
@@ -25615,7 +26599,7 @@ in
       sources."bytes-0.2.0"
       sources."pause-0.0.1"
       sources."mime-1.2.6"
-      sources."coffee-script-1.12.5"
+      sources."coffee-script-1.12.6"
       sources."vows-0.8.1"
       sources."eyes-0.1.8"
       sources."diff-1.0.8"
@@ -25680,10 +26664,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "4.5.0";
+    version = "5.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-4.5.0.tgz";
-      sha1 = "dc6a31f28807e6db980ed5083315667dcc8d0475";
+      url = "https://registry.npmjs.org/npm/-/npm-5.0.3.tgz";
+      sha1 = "abd1c397ede6edd8f93453e7ad2b7a1887861856";
     };
     dependencies = [
       sources."JSONStream-1.3.1"
@@ -25691,22 +26675,23 @@ in
       sources."ansi-regex-2.1.1"
       sources."ansicolors-0.3.2"
       sources."ansistyles-0.1.3"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."archy-1.0.0"
-      sources."asap-2.0.5"
       sources."bluebird-3.5.0"
+      sources."cacache-9.2.8"
       sources."call-limit-1.1.0"
       sources."chownr-1.0.1"
       sources."cmd-shim-2.0.2"
       sources."columnify-1.5.4"
       sources."config-chain-1.1.11"
+      sources."detect-indent-5.0.0"
       sources."dezalgo-1.0.3"
       sources."editor-1.0.0"
       sources."fs-vacuum-1.2.10"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fstream-1.0.11"
-      sources."fstream-npm-1.2.0"
-      sources."glob-7.1.1"
+      sources."fstream-npm-1.2.1"
+      sources."glob-7.1.2"
       sources."graceful-fs-4.1.11"
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-2.4.2"
@@ -25714,7 +26699,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.4"
-      sources."init-package-json-1.9.6"
+      sources."init-package-json-1.10.1"
       sources."lazy-property-1.0.0"
       sources."lockfile-1.0.3"
       sources."lodash._baseuniq-4.6.0"
@@ -25722,37 +26707,43 @@ in
       sources."lodash.union-4.6.0"
       sources."lodash.uniq-4.5.0"
       sources."lodash.without-4.4.0"
+      sources."lru-cache-4.0.2"
       sources."mississippi-1.3.0"
       sources."mkdirp-0.5.1"
       sources."move-concurrently-1.0.1"
-      (sources."node-gyp-3.6.1" // {
+      (sources."node-gyp-3.6.2" // {
         dependencies = [
           sources."nopt-3.0.6"
         ];
       })
       sources."nopt-4.0.1"
-      sources."normalize-git-url-3.0.2"
       sources."normalize-package-data-2.3.8"
       sources."npm-cache-filename-1.0.2"
       sources."npm-install-checks-3.0.0"
-      sources."npm-package-arg-4.2.1"
-      sources."npm-registry-client-8.1.1"
-      sources."npm-user-validate-0.1.5"
-      sources."npmlog-4.0.2"
+      sources."npm-package-arg-5.1.2"
+      sources."npm-registry-client-8.3.0"
+      sources."npm-user-validate-1.0.0"
+      sources."npmlog-4.1.0"
       sources."once-1.4.0"
       sources."opener-1.4.3"
       sources."osenv-0.1.4"
+      sources."pacote-2.7.36"
       sources."path-is-inside-1.0.2"
+      sources."promise-inflight-1.0.1"
       sources."read-1.0.7"
       sources."read-cmd-shim-1.0.1"
       sources."read-installed-4.0.3"
       sources."read-package-json-2.0.5"
-      sources."read-package-tree-5.1.5"
-      sources."readable-stream-2.2.9"
-      sources."realize-package-specifier-3.0.3"
+      sources."read-package-tree-5.1.6"
+      (sources."readable-stream-2.2.11" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."request-2.81.0"
       sources."retry-0.10.1"
       sources."rimraf-2.6.1"
+      sources."safe-buffer-5.1.0"
       sources."semver-5.3.0"
       sources."sha-2.0.1"
       sources."slide-1.1.6"
@@ -25765,6 +26756,7 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
+      sources."ssri-4.1.6"
       sources."strip-ansi-3.0.1"
       sources."tar-2.2.1"
       sources."text-table-0.2.0"
@@ -25777,7 +26769,7 @@ in
       sources."validate-npm-package-name-3.0.0"
       sources."which-1.2.14"
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-1.3.4"
+      sources."write-file-atomic-2.1.0"
       sources."debuglog-1.0.1"
       sources."imurmurhash-0.1.4"
       sources."lodash._baseindexof-3.1.0"
@@ -25788,22 +26780,26 @@ in
       sources."lodash.restparam-3.6.1"
       sources."readdir-scoped-modules-1.0.2"
       sources."validate-npm-package-license-3.0.1"
-      sources."jsonparse-1.3.0"
+      sources."jsonparse-1.3.1"
       sources."through-2.3.8"
+      sources."y18n-3.2.1"
       sources."wcwidth-1.0.1"
       sources."defaults-1.0.3"
       sources."clone-1.0.2"
       sources."proto-list-1.2.4"
+      sources."asap-2.0.5"
       sources."fstream-ignore-1.0.5"
-      sources."minimatch-3.0.3"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."minimatch-3.0.4"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."promzard-0.3.0"
       sources."lodash._createset-4.0.3"
       sources."lodash._root-3.0.1"
+      sources."pseudomap-1.0.2"
+      sources."yallist-2.1.2"
       sources."concat-stream-1.6.0"
       (sources."duplexify-3.5.0" // {
         dependencies = [
@@ -25836,27 +26832,58 @@ in
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
-      sources."mute-stream-0.0.7"
-      sources."util-extend-1.0.3"
+      sources."make-fetch-happen-2.4.12"
+      sources."npm-pick-manifest-1.0.3"
+      sources."promise-retry-1.1.1"
+      sources."protoduck-4.0.0"
+      sources."tar-fs-1.15.3"
+      sources."tar-stream-1.5.4"
+      sources."agentkeepalive-3.2.0"
+      sources."http-cache-semantics-3.7.3"
+      sources."http-proxy-agent-1.0.0"
+      sources."https-proxy-agent-1.0.0"
+      sources."node-fetch-npm-2.0.1"
+      sources."socks-proxy-agent-2.1.1"
+      sources."humanize-ms-1.2.1"
+      sources."ms-2.0.0"
+      (sources."agent-base-2.1.1" // {
+        dependencies = [
+          sources."semver-5.0.3"
+        ];
+      })
+      sources."extend-3.0.1"
+      sources."debug-2.6.8"
+      sources."encoding-0.1.12"
       sources."json-parse-helpfulerror-1.0.3"
+      sources."iconv-lite-0.4.18"
       sources."jju-1.3.0"
-      sources."buffer-shims-1.0.0"
+      sources."socks-1.1.10"
+      sources."ip-1.1.5"
+      sources."smart-buffer-1.1.15"
+      sources."err-code-1.1.2"
+      sources."genfun-4.0.1"
+      sources."bl-1.2.1"
+      sources."mute-stream-0.0.7"
+      sources."util-extend-1.0.3"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."util-deprecate-1.0.2"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
       sources."caseless-0.12.0"
       sources."combined-stream-1.0.5"
-      sources."extend-3.0.1"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."har-validator-4.2.1"
@@ -25869,7 +26896,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -25890,7 +26916,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -25911,7 +26937,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
@@ -25919,20 +26944,25 @@ in
       sources."stream-iterate-1.2.0"
       sources."block-stream-0.0.9"
       sources."unique-slug-2.0.0"
-      (sources."boxen-1.0.0" // {
+      (sources."boxen-1.1.0" // {
         dependencies = [
           sources."string-width-2.0.0"
           sources."is-fullwidth-code-point-2.0.0"
         ];
       })
       sources."chalk-1.1.3"
-      sources."configstore-3.0.0"
+      sources."configstore-3.1.0"
       sources."is-npm-1.0.0"
       sources."latest-version-3.1.0"
       sources."lazy-req-2.0.0"
       sources."semver-diff-2.1.0"
       sources."xdg-basedir-3.0.0"
-      sources."ansi-align-1.1.0"
+      (sources."ansi-align-2.0.0" // {
+        dependencies = [
+          sources."string-width-2.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+        ];
+      })
       sources."camelcase-4.1.0"
       sources."cli-boxes-1.0.0"
       sources."term-size-0.1.1"
@@ -25943,16 +26973,15 @@ in
       sources."npm-run-path-1.0.0"
       sources."path-key-1.0.0"
       sources."strip-eof-1.0.0"
-      sources."lru-cache-4.0.2"
-      sources."pseudomap-1.0.2"
-      sources."yallist-2.1.2"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."has-ansi-2.0.0"
       sources."supports-color-2.0.0"
       sources."dot-prop-4.1.1"
+      sources."make-dir-1.0.0"
       sources."unique-string-1.0.0"
       sources."is-obj-1.0.1"
+      sources."pify-2.3.0"
       sources."crypto-random-string-1.0.0"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -25974,7 +27003,7 @@ in
           sources."minimist-1.2.0"
         ];
       })
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."strip-json-comments-2.0.1"
       sources."builtins-1.0.3"
       sources."isexe-2.0.0"
@@ -26027,7 +27056,7 @@ in
       })
       sources."fs.extra-1.3.2"
       sources."findit-1.2.0"
-      sources."coffee-script-1.12.5"
+      sources."coffee-script-1.12.6"
       sources."underscore-1.4.4"
       sources."underscore.string-2.3.3"
       sources."request-2.81.0"
@@ -26038,7 +27067,7 @@ in
       sources."rimraf-2.6.1"
       sources."retry-0.6.0"
       sources."couch-login-0.1.20"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
       sources."caseless-0.12.0"
@@ -26056,7 +27085,7 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -26078,7 +27107,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -26099,41 +27128,47 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
       sources."punycode-1.4.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."are-we-there-yet-1.1.4"
       sources."console-control-strings-1.1.0"
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      (sources."readable-stream-2.2.11" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."util-deprecate-1.0.2"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
@@ -26177,10 +27212,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "2.11.0";
+    version = "2.11.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.11.0.tgz";
-      sha1 = "6073a2c022eaf27352e2a8b08de931776207b818";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.11.3.tgz";
+      sha1 = "5e0172857f89004340b1b9afc0e9acb3bc56d440";
     };
     dependencies = [
       sources."bluebird-3.5.0"
@@ -26200,10 +27235,10 @@ in
           sources."semver-4.3.6"
         ];
       })
-      sources."require-dir-0.3.1"
+      sources."require-dir-0.3.2"
       sources."semver-5.3.0"
       sources."semver-utils-1.1.1"
-      (sources."snyk-1.30.0" // {
+      (sources."snyk-1.34.4" // {
         dependencies = [
           sources."update-notifier-0.5.0"
           sources."latest-version-1.0.1"
@@ -26250,8 +27285,8 @@ in
       sources."fs-vacuum-1.2.10"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fstream-1.0.11"
-      sources."fstream-npm-1.2.0"
-      sources."glob-7.1.1"
+      sources."fstream-npm-1.2.1"
+      sources."glob-7.1.2"
       sources."graceful-fs-4.1.11"
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-2.1.5"
@@ -26301,7 +27336,7 @@ in
       sources."read-cmd-shim-1.0.1"
       sources."read-installed-4.0.3"
       sources."read-package-json-2.0.5"
-      sources."read-package-tree-5.1.5"
+      sources."read-package-tree-5.1.6"
       (sources."readable-stream-2.1.5" // {
         dependencies = [
           sources."string_decoder-0.10.31"
@@ -26343,9 +27378,9 @@ in
       sources."clone-1.0.2"
       sources."proto-list-1.2.4"
       sources."fstream-ignore-1.0.5"
-      sources."minimatch-3.0.3"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."minimatch-3.0.4"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
       sources."path-is-absolute-1.0.1"
@@ -26364,35 +27399,36 @@ in
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."array-index-1.0.0"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."es6-symbol-3.1.1"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."d-1.0.0"
-      sources."es5-ext-0.10.15"
+      sources."es5-ext-0.10.23"
       sources."es6-iterator-2.0.1"
       sources."is-builtin-module-1.0.0"
       sources."builtin-modules-1.1.1"
       (sources."concat-stream-1.6.0" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
         ];
       })
       sources."typedarray-0.0.6"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."mute-stream-0.0.7"
       sources."util-extend-1.0.3"
+      sources."buffer-shims-1.0.0"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
       (sources."bl-1.1.2" // {
@@ -26437,7 +27473,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -26458,7 +27494,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
@@ -26487,6 +27522,7 @@ in
       sources."snyk-config-1.0.1"
       sources."snyk-module-1.8.1"
       sources."snyk-policy-1.7.1"
+      sources."snyk-python-plugin-1.0.0"
       (sources."snyk-recursive-readdir-2.0.0" // {
         dependencies = [
           sources."minimatch-3.0.2"
@@ -26546,11 +27582,11 @@ in
       sources."wordwrap-0.0.2"
       sources."align-text-0.1.4"
       sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.5"
-      sources."js-yaml-3.8.3"
+      sources."js-yaml-3.8.4"
       sources."argparse-1.0.9"
       sources."esprima-3.1.3"
       sources."sprintf-js-1.0.3"
@@ -26564,7 +27600,7 @@ in
           sources."window-size-0.2.0"
         ];
       })
-      sources."lru-cache-4.0.2"
+      sources."lru-cache-4.1.1"
       sources."lodash.defaults-4.2.0"
       sources."lodash.defaultsdeep-4.6.0"
       sources."lodash.mergewith-4.6.0"
@@ -26603,8 +27639,7 @@ in
           sources."minimist-1.2.0"
         ];
       })
-      sources."safe-buffer-5.0.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."strip-json-comments-2.0.1"
       sources."get-caller-file-1.0.2"
       sources."lodash.assign-4.2.0"
@@ -26665,7 +27700,7 @@ in
     dependencies = [
       sources."async-0.9.2"
       sources."babybird-0.0.1"
-      (sources."body-parser-1.17.1" // {
+      (sources."body-parser-1.17.2" // {
         dependencies = [
           sources."content-type-1.0.2"
         ];
@@ -26683,15 +27718,10 @@ in
       sources."diff-1.4.0"
       sources."domino-1.0.28"
       sources."entities-1.1.1"
-      (sources."express-4.15.2" // {
+      (sources."express-4.15.3" // {
         dependencies = [
           sources."content-type-1.0.2"
-          (sources."finalhandler-1.0.2" // {
-            dependencies = [
-              sources."debug-2.6.4"
-            ];
-          })
-          sources."ms-0.7.3"
+          sources."finalhandler-1.0.3"
         ];
       })
       sources."express-handlebars-3.0.0"
@@ -26701,7 +27731,7 @@ in
           sources."ms-0.7.1"
         ];
       })
-      sources."js-yaml-3.8.3"
+      sources."js-yaml-3.8.4"
       sources."mediawiki-title-0.5.6"
       sources."negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access"
       sources."node-uuid-1.4.8"
@@ -26709,9 +27739,9 @@ in
       sources."prfun-2.1.4"
       sources."request-2.81.0"
       sources."semver-5.3.0"
-      (sources."serve-favicon-2.4.2" // {
+      (sources."serve-favicon-2.4.3" // {
         dependencies = [
-          sources."ms-1.0.0"
+          sources."safe-buffer-5.0.1"
         ];
       })
       (sources."service-runner-2.3.0" // {
@@ -26733,7 +27763,7 @@ in
       sources."asap-2.0.5"
       sources."is-arguments-1.0.2"
       sources."bytes-2.4.0"
-      sources."debug-2.6.1"
+      sources."debug-2.6.7"
       sources."depd-1.1.0"
       sources."http-errors-1.6.1"
       sources."iconv-lite-0.4.15"
@@ -26741,7 +27771,7 @@ in
       sources."qs-6.4.0"
       sources."raw-body-2.2.0"
       sources."type-is-1.6.15"
-      sources."ms-0.7.2"
+      sources."ms-2.0.0"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
@@ -26775,8 +27805,8 @@ in
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-1.1.4"
       sources."range-parser-1.2.0"
-      sources."send-0.15.1"
-      sources."serve-static-1.12.1"
+      sources."send-0.15.3"
+      sources."serve-static-1.12.3"
       sources."utils-merge-1.0.0"
       sources."forwarded-0.1.0"
       sources."ipaddr.js-1.3.0"
@@ -26784,7 +27814,7 @@ in
       sources."mime-1.3.4"
       sources."glob-6.0.4"
       sources."graceful-fs-4.1.11"
-      (sources."handlebars-4.0.8" // {
+      (sources."handlebars-4.0.10" // {
         dependencies = [
           sources."async-1.5.2"
         ];
@@ -26792,16 +27822,16 @@ in
       sources."object.assign-4.0.4"
       sources."promise-7.1.1"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."optimist-0.6.1"
       sources."source-map-0.4.4"
-      (sources."uglify-js-2.8.22" // {
+      (sources."uglify-js-2.8.29" // {
         dependencies = [
           sources."source-map-0.5.6"
           sources."yargs-3.10.0"
@@ -26823,7 +27853,7 @@ in
       sources."right-align-0.1.3"
       sources."align-text-0.1.4"
       sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.5"
@@ -26849,7 +27879,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -26871,7 +27901,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -26892,7 +27922,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
@@ -26903,13 +27932,14 @@ in
       sources."hot-shots-4.5.0"
       (sources."limitation-0.2.0" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."dnscache-1.0.1"
-      sources."dtrace-provider-0.8.1"
+      sources."dtrace-provider-0.8.3"
       sources."mv-2.1.1"
       sources."safe-json-stringify-1.0.4"
       sources."moment-2.18.1"
@@ -26922,43 +27952,50 @@ in
       sources."ncp-2.0.0"
       sources."rimraf-2.4.5"
       sources."gelfling-0.3.1"
-      sources."kad-git+https://github.com/gwicke/kad.git#master"
+      (sources."kad-git+https://github.com/gwicke/kad.git#master" // {
+        dependencies = [
+          sources."ms-0.7.3"
+        ];
+      })
       sources."clarinet-0.11.0"
       sources."colors-1.1.2"
       sources."hat-0.0.3"
       (sources."kad-fs-0.0.4" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."kad-localstorage-0.0.7"
       (sources."kad-memstore-0.0.1" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."lodash-3.10.1"
       sources."merge-1.2.0"
       (sources."msgpack5-3.4.1" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
-      sources."buffer-shims-1.0.0"
       sources."process-nextick-args-1.0.7"
       sources."util-deprecate-1.0.2"
       sources."dom-storage-2.0.2"
       (sources."bl-1.2.1" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
           sources."isarray-1.0.0"
-          sources."string_decoder-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
       sources."get-caller-file-1.0.2"
@@ -27033,7 +28070,7 @@ in
         ];
       })
       sources."keypress-0.2.1"
-      sources."mime-1.3.4"
+      sources."mime-1.3.6"
       sources."network-address-1.1.2"
       sources."numeral-1.5.6"
       sources."open-0.0.5"
@@ -27073,17 +28110,17 @@ in
       sources."bplist-parser-0.1.1"
       sources."concat-stream-1.6.0"
       sources."plist-1.2.0"
-      sources."reverse-http-1.2.0"
+      sources."reverse-http-1.3.0"
       sources."stream-buffers-2.2.0"
-      sources."big-integer-1.6.22"
+      sources."big-integer-1.6.23"
       sources."inherits-2.0.3"
       sources."typedarray-0.0.6"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."base64-js-0.0.8"
       sources."xmlbuilder-4.0.0"
@@ -27117,7 +28154,6 @@ in
       sources."dns-packet-1.1.1"
       sources."thunky-0.1.0"
       sources."ip-1.1.5"
-      sources."safe-buffer-5.0.1"
       sources."meow-3.7.0"
       sources."camelcase-keys-2.1.0"
       sources."decamelize-1.2.0"
@@ -27190,7 +28226,7 @@ in
       sources."simple-concat-1.0.0"
       sources."unzip-response-2.0.1"
       sources."end-of-stream-1.4.0"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."bitfield-0.1.0"
@@ -27210,18 +28246,22 @@ in
       sources."rimraf-2.6.1"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.1"
-      (sources."random-access-file-1.7.2" // {
+      (sources."random-access-file-1.8.1" // {
         dependencies = [
           sources."mkdirp-0.5.1"
           sources."thunky-1.0.2"
           sources."minimist-0.0.8"
         ];
       })
-      sources."randombytes-2.0.3"
+      (sources."randombytes-2.0.5" // {
+        dependencies = [
+          sources."safe-buffer-5.1.0"
+        ];
+      })
       sources."run-parallel-1.1.6"
       sources."buffer-alloc-unsafe-1.0.0"
-      sources."debug-2.6.6"
-      sources."ms-0.7.3"
+      sources."debug-2.6.8"
+      sources."ms-2.0.0"
       sources."flatten-0.0.1"
       sources."fifo-0.1.4"
       (sources."peer-wire-protocol-0.7.0" // {
@@ -27235,13 +28275,13 @@ in
       sources."speedometer-0.1.4"
       sources."utp-0.0.7"
       sources."cyclist-0.1.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       (sources."bittorrent-dht-6.4.2" // {
         dependencies = [
@@ -27297,17 +28337,16 @@ in
   peerflix-server = nodeEnv.buildNodePackage {
     name = "peerflix-server";
     packageName = "peerflix-server";
-    version = "0.1.3";
+    version = "0.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.1.3.tgz";
-      sha1 = "1f3c2b81188de82482f64cf89d015f5428e4c4e5";
+      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.2.0.tgz";
+      sha1 = "1848fdc14036f013af7489a39e8a5f0f9da48b87";
     };
     dependencies = [
-      sources."connect-multiparty-1.2.5"
-      (sources."express-3.5.3" // {
+      sources."connect-multiparty-2.0.0"
+      (sources."express-3.21.2" // {
         dependencies = [
-          sources."range-parser-1.0.0"
-          sources."mkdirp-0.4.0"
+          sources."range-parser-1.0.3"
         ];
       })
       sources."lodash-2.4.2"
@@ -27315,12 +28354,13 @@ in
       sources."pump-1.0.2"
       sources."range-parser-1.2.0"
       sources."read-torrent-1.3.0"
-      (sources."socket.io-1.7.3" // {
+      (sources."socket.io-1.7.4" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
-      (sources."torrent-stream-0.18.1" // {
+      (sources."torrent-stream-1.0.3" // {
         dependencies = [
           sources."end-of-stream-0.1.5"
           sources."mkdirp-0.3.5"
@@ -27328,88 +28368,132 @@ in
         ];
       })
       sources."fluent-ffmpeg-2.1.2"
-      sources."multiparty-3.3.2"
-      sources."on-finished-2.1.1"
-      sources."qs-2.2.5"
-      sources."type-is-1.5.7"
-      sources."readable-stream-1.1.14"
-      sources."stream-counter-0.2.0"
-      sources."core-util-is-1.0.2"
-      sources."isarray-0.0.1"
-      sources."string_decoder-0.10.31"
-      sources."inherits-2.0.3"
-      sources."ee-first-1.1.0"
+      sources."multiparty-4.1.3"
+      sources."on-finished-2.3.0"
+      sources."qs-4.0.0"
+      sources."type-is-1.6.15"
+      sources."fd-slicer-1.0.1"
+      sources."pend-1.2.0"
+      sources."ee-first-1.1.1"
       sources."media-typer-0.3.0"
-      sources."mime-types-2.0.14"
-      sources."mime-db-1.12.0"
-      (sources."connect-2.14.5" // {
+      sources."mime-types-2.1.15"
+      sources."mime-db-1.27.0"
+      sources."basic-auth-1.0.4"
+      (sources."connect-2.30.2" // {
         dependencies = [
-          sources."qs-0.6.6"
-          sources."multiparty-2.2.0"
+          sources."multiparty-3.3.2"
         ];
       })
-      sources."commander-1.3.2"
-      sources."cookie-0.1.2"
-      sources."buffer-crc32-0.2.1"
-      sources."fresh-0.2.2"
-      sources."methods-0.1.0"
-      (sources."send-0.3.0" // {
+      sources."content-disposition-0.5.0"
+      sources."content-type-1.0.2"
+      sources."commander-2.6.0"
+      sources."cookie-0.1.3"
+      sources."cookie-signature-1.0.6"
+      sources."debug-2.2.0"
+      sources."depd-1.0.1"
+      sources."escape-html-1.0.2"
+      sources."etag-1.7.0"
+      sources."fresh-0.3.0"
+      sources."merge-descriptors-1.0.0"
+      sources."methods-1.1.2"
+      sources."parseurl-1.3.1"
+      sources."proxy-addr-1.0.10"
+      (sources."send-0.13.0" // {
         dependencies = [
-          sources."debug-0.8.0"
+          sources."destroy-1.0.3"
           sources."range-parser-1.0.3"
+          sources."statuses-1.2.1"
         ];
       })
-      sources."cookie-signature-1.0.3"
-      sources."merge-descriptors-0.0.2"
-      sources."debug-0.8.1"
+      sources."utils-merge-1.0.0"
+      sources."vary-1.0.1"
       sources."basic-auth-connect-1.0.0"
-      (sources."cookie-parser-1.0.1" // {
+      sources."body-parser-1.13.3"
+      sources."bytes-2.1.0"
+      sources."cookie-parser-1.3.5"
+      sources."compression-1.5.2"
+      sources."connect-timeout-1.6.2"
+      sources."csurf-1.8.3"
+      (sources."errorhandler-1.4.3" // {
+        dependencies = [
+          sources."accepts-1.3.3"
+          sources."escape-html-1.0.3"
+          sources."negotiator-0.6.1"
+        ];
+      })
+      (sources."express-session-1.11.3" // {
+        dependencies = [
+          sources."uid-safe-2.0.0"
+        ];
+      })
+      sources."finalhandler-0.4.0"
+      sources."http-errors-1.3.1"
+      (sources."method-override-2.3.9" // {
+        dependencies = [
+          sources."debug-2.6.8"
+          sources."vary-1.1.1"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."morgan-1.6.1"
+      sources."on-headers-1.0.1"
+      sources."pause-0.1.0"
+      (sources."response-time-2.3.2" // {
         dependencies = [
-          sources."cookie-0.1.0"
+          sources."depd-1.1.0"
         ];
       })
-      (sources."compression-1.0.0" // {
+      (sources."serve-favicon-2.3.2" // {
         dependencies = [
-          sources."bytes-0.2.1"
+          sources."ms-0.7.2"
         ];
       })
-      sources."connect-timeout-1.0.0"
-      sources."csurf-1.1.0"
-      sources."errorhandler-1.0.0"
-      (sources."express-session-1.0.2" // {
+      (sources."serve-index-1.7.3" // {
         dependencies = [
-          sources."cookie-0.1.0"
-          sources."debug-0.7.4"
+          sources."escape-html-1.0.3"
         ];
       })
-      sources."method-override-1.0.0"
-      (sources."morgan-1.0.0" // {
+      (sources."serve-static-1.10.3" // {
         dependencies = [
-          sources."bytes-0.2.1"
+          sources."escape-html-1.0.3"
+          sources."send-0.13.2"
+          sources."depd-1.1.0"
+          sources."range-parser-1.0.3"
+          sources."statuses-1.2.1"
         ];
       })
-      sources."raw-body-1.1.4"
-      sources."response-time-1.0.0"
-      sources."setimmediate-1.0.1"
-      (sources."serve-index-1.0.1" // {
+      sources."vhost-3.0.2"
+      sources."iconv-lite-0.4.11"
+      (sources."raw-body-2.1.7" // {
         dependencies = [
-          sources."negotiator-0.4.2"
+          sources."bytes-2.4.0"
+          sources."iconv-lite-0.4.13"
         ];
       })
-      sources."serve-static-1.1.0"
-      sources."static-favicon-1.0.2"
-      sources."vhost-1.0.0"
-      sources."bytes-0.3.0"
-      sources."pause-0.0.1"
-      sources."negotiator-0.3.0"
-      sources."compressible-1.0.0"
-      sources."uid2-0.0.3"
-      sources."scmp-0.0.3"
-      sources."utils-merge-1.0.0"
-      sources."batch-0.5.0"
-      sources."parseurl-1.0.1"
-      sources."keypress-0.1.0"
-      sources."mime-1.2.11"
+      sources."unpipe-1.0.0"
+      sources."accepts-1.2.13"
+      sources."compressible-2.0.10"
+      sources."negotiator-0.5.3"
+      sources."ms-0.7.1"
+      sources."csrf-3.0.6"
+      sources."rndm-1.2.0"
+      sources."tsscmp-1.0.5"
+      sources."uid-safe-2.1.4"
+      sources."random-bytes-1.0.0"
+      sources."crc-3.3.0"
+      sources."base64-url-1.2.1"
+      sources."inherits-2.0.3"
+      sources."statuses-1.3.1"
+      sources."readable-stream-1.1.14"
+      sources."stream-counter-0.2.0"
+      sources."core-util-is-1.0.2"
+      sources."isarray-0.0.1"
+      sources."string_decoder-0.10.31"
+      sources."batch-0.5.3"
+      sources."destroy-1.0.4"
+      sources."mime-1.3.4"
+      sources."forwarded-0.1.0"
+      sources."ipaddr.js-1.0.5"
       sources."minimist-0.0.8"
       sources."end-of-stream-1.4.0"
       sources."once-1.4.0"
@@ -27422,6 +28506,7 @@ in
       })
       (sources."request-2.16.6" // {
         dependencies = [
+          sources."mime-1.2.11"
           sources."qs-0.5.6"
         ];
       })
@@ -27432,7 +28517,11 @@ in
       sources."bencode-0.7.0"
       sources."simple-sha1-2.1.0"
       sources."rusha-0.8.6"
-      sources."form-data-0.0.10"
+      (sources."form-data-0.0.10" // {
+        dependencies = [
+          sources."mime-1.2.11"
+        ];
+      })
       sources."hawk-0.10.2"
       sources."node-uuid-1.4.8"
       sources."cookie-jar-0.2.0"
@@ -27448,10 +28537,13 @@ in
       sources."boom-0.3.8"
       sources."cryptiles-0.1.3"
       sources."sntp-0.1.4"
-      (sources."engine.io-1.8.3" // {
+      (sources."engine.io-1.8.4" // {
         dependencies = [
+          sources."accepts-1.3.3"
           sources."debug-2.3.3"
           sources."cookie-0.3.1"
+          sources."negotiator-0.6.1"
+          sources."ms-0.7.2"
         ];
       })
       sources."has-binary-0.1.7"
@@ -27459,31 +28551,23 @@ in
       (sources."socket.io-adapter-0.5.0" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
-      (sources."socket.io-client-1.7.3" // {
+      (sources."socket.io-client-1.7.4" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       (sources."socket.io-parser-2.3.1" // {
         dependencies = [
-          sources."debug-2.2.0"
           sources."component-emitter-1.1.2"
-          sources."ms-0.7.1"
-        ];
-      })
-      sources."ms-0.7.2"
-      (sources."accepts-1.3.3" // {
-        dependencies = [
-          sources."mime-types-2.1.15"
-          sources."negotiator-0.6.1"
-          sources."mime-db-1.27.0"
         ];
       })
       sources."base64id-1.0.0"
       sources."engine.io-parser-1.3.2"
-      sources."ws-1.1.2"
+      sources."ws-1.1.4"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
       sources."base64-arraybuffer-0.1.5"
@@ -27494,9 +28578,11 @@ in
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
-      (sources."engine.io-client-1.8.3" // {
+      (sources."engine.io-client-1.8.4" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ws-1.1.2"
+          sources."ms-0.7.2"
         ];
       })
       sources."indexof-0.0.1"
@@ -27513,66 +28599,97 @@ in
       sources."callsite-1.0.0"
       sources."json3-3.3.2"
       sources."bitfield-0.1.0"
-      (sources."bittorrent-dht-3.2.6" // {
+      sources."bncode-0.5.3"
+      sources."fs-chunk-store-1.6.5"
+      sources."hat-0.0.3"
+      sources."immediate-chunk-store-1.0.8"
+      sources."ip-set-1.0.1"
+      sources."peer-wire-swarm-0.12.1"
+      sources."rimraf-2.6.1"
+      sources."torrent-discovery-5.4.0"
+      sources."torrent-piece-1.1.1"
+      (sources."random-access-file-1.8.1" // {
         dependencies = [
-          sources."debug-2.6.6"
-          sources."ms-0.7.3"
+          sources."debug-2.6.8"
+          sources."ms-2.0.0"
         ];
       })
-      (sources."bittorrent-tracker-2.12.1" // {
+      sources."randombytes-2.0.5"
+      sources."run-parallel-1.1.6"
+      sources."thunky-1.0.2"
+      sources."buffer-alloc-unsafe-1.0.0"
+      sources."safe-buffer-5.1.0"
+      sources."ip-1.1.5"
+      sources."fifo-0.1.4"
+      (sources."peer-wire-protocol-0.7.0" // {
         dependencies = [
-          sources."bencode-0.6.0"
-          sources."debug-2.6.6"
-          sources."ms-0.7.3"
+          sources."bncode-0.2.3"
         ];
       })
-      sources."bncode-0.5.3"
-      sources."compact2string-1.4.0"
-      sources."hat-0.0.3"
-      sources."ip-0.3.3"
-      (sources."ip-set-1.0.1" // {
+      sources."speedometer-0.1.4"
+      sources."utp-0.0.7"
+      sources."cyclist-0.1.1"
+      sources."glob-7.1.2"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."minimatch-3.0.4"
+      sources."path-is-absolute-1.0.1"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+      sources."bittorrent-dht-6.4.2"
+      (sources."bittorrent-tracker-7.7.0" // {
         dependencies = [
-          sources."ip-1.1.5"
+          sources."bencode-0.8.0"
+          sources."minimist-1.2.0"
         ];
       })
-      sources."peer-wire-swarm-0.9.2"
-      sources."random-access-file-0.3.2"
-      sources."rimraf-2.6.1"
-      sources."thunky-0.1.0"
-      sources."addr-to-ip-port-1.4.2"
+      sources."re-emitter-1.1.3"
+      sources."buffer-equals-1.0.4"
+      sources."k-bucket-0.6.0"
+      (sources."k-rpc-3.7.0" // {
+        dependencies = [
+          sources."k-bucket-2.0.1"
+        ];
+      })
+      sources."lru-2.0.1"
       sources."buffer-equal-0.0.1"
-      sources."is-ip-1.0.0"
-      sources."k-bucket-0.5.0"
-      sources."network-address-1.1.2"
-      sources."run-parallel-1.1.6"
-      sources."simple-get-1.4.3"
-      sources."string2compact-1.2.2"
-      sources."ip-regex-1.0.3"
-      sources."unzip-response-1.0.2"
-      sources."ipaddr.js-1.3.0"
-      sources."bn.js-1.3.0"
-      sources."extend.js-0.0.2"
-      (sources."portfinder-0.3.0" // {
+      (sources."k-rpc-socket-1.6.2" // {
         dependencies = [
-          sources."mkdirp-0.0.7"
+          sources."bencode-0.11.0"
         ];
       })
+      sources."bn.js-4.11.6"
+      sources."compact2string-1.4.0"
+      sources."random-iterate-1.0.1"
       sources."run-series-1.1.4"
-      (sources."peer-wire-protocol-0.7.0" // {
+      sources."simple-get-2.6.0"
+      (sources."simple-peer-6.4.4" // {
         dependencies = [
-          sources."bncode-0.2.3"
+          sources."readable-stream-2.2.11"
+          sources."isarray-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
         ];
       })
-      sources."fifo-0.1.4"
-      sources."speedometer-0.1.4"
-      sources."glob-7.1.1"
-      sources."fs.realpath-1.0.0"
-      sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
-      sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
-      sources."concat-map-0.0.1"
+      (sources."simple-websocket-4.3.1" // {
+        dependencies = [
+          sources."readable-stream-2.2.11"
+          sources."ws-2.3.1"
+          sources."isarray-1.0.0"
+          sources."safe-buffer-5.0.1"
+          sources."string_decoder-1.0.2"
+          sources."ultron-1.1.0"
+        ];
+      })
+      sources."string2compact-1.2.2"
+      sources."uniq-1.0.1"
+      sources."simple-concat-1.0.0"
+      sources."unzip-response-2.0.1"
+      sources."get-browser-rtc-1.0.2"
+      sources."process-nextick-args-1.0.7"
+      sources."util-deprecate-1.0.2"
+      sources."addr-to-ip-port-1.4.2"
       sources."which-1.2.14"
       sources."isexe-2.0.0"
     ];
@@ -27621,14 +28738,14 @@ in
       sources."klaw-1.3.1"
       sources."path-is-absolute-1.0.1"
       sources."rimraf-2.6.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."is-stream-1.1.0"
       sources."pinkie-promise-2.0.1"
@@ -27653,7 +28770,7 @@ in
       sources."isstream-0.1.2"
       sources."is-typedarray-1.0.0"
       sources."har-validator-2.0.6"
-      sources."async-2.4.0"
+      sources."async-2.4.1"
       sources."lodash-4.17.4"
       sources."mime-db-1.27.0"
       sources."assert-plus-0.2.0"
@@ -27662,7 +28779,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -27683,7 +28800,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."hoek-2.16.3"
@@ -27720,49 +28836,11 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "1.3.1";
+    version = "1.4.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-1.3.1.tgz";
-      sha1 = "fa0ea84b45ac0ba6de6a1e4cecdcff900d563151";
+      url = "https://registry.npmjs.org/prettier/-/prettier-1.4.4.tgz";
+      sha1 = "a8d1447b14c9bf67e6d420dcadd10fb9a4fad65a";
     };
-    dependencies = [
-      sources."ast-types-0.9.8"
-      sources."babel-code-frame-6.22.0"
-      sources."babylon-7.0.0-beta.8"
-      sources."chalk-1.1.3"
-      sources."esutils-2.0.2"
-      sources."flow-parser-0.45.0"
-      sources."get-stdin-5.0.1"
-      sources."glob-7.1.1"
-      sources."jest-validate-19.0.0"
-      sources."minimist-1.2.0"
-      sources."js-tokens-3.0.1"
-      sources."ansi-styles-2.2.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."has-ansi-2.0.0"
-      sources."strip-ansi-3.0.1"
-      sources."supports-color-2.0.0"
-      sources."ansi-regex-2.1.1"
-      sources."fs.realpath-1.0.0"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
-      sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
-      sources."concat-map-0.0.1"
-      sources."jest-matcher-utils-19.0.0"
-      sources."leven-2.1.0"
-      (sources."pretty-format-19.0.0" // {
-        dependencies = [
-          sources."ansi-styles-3.0.0"
-        ];
-      })
-      sources."color-convert-1.9.0"
-      sources."color-name-1.1.2"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Prettier is an opinionated JavaScript formatter";
@@ -27790,22 +28868,22 @@ in
       sources."detective-4.5.0"
       sources."glob-5.0.15"
       sources."graceful-fs-4.1.11"
-      sources."iconv-lite-0.4.17"
+      sources."iconv-lite-0.4.18"
       sources."mkdirp-0.5.1"
       sources."private-0.1.7"
       sources."q-1.5.0"
       sources."recast-0.11.23"
       sources."graceful-readlink-1.0.1"
-      sources."acorn-4.0.11"
+      sources."acorn-4.0.13"
       sources."defined-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."minimist-0.0.8"
       sources."ast-types-0.9.6"
@@ -27873,7 +28951,7 @@ in
       sources."methods-0.1.0"
       sources."send-0.1.4"
       sources."cookie-signature-1.0.1"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."qs-0.6.5"
       sources."bytes-0.2.1"
       sources."pause-0.0.1"
@@ -27889,7 +28967,7 @@ in
       sources."inherits-2.0.3"
       sources."keypress-0.1.0"
       sources."mime-1.2.11"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."oauth-https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/master"
       sources."request-2.9.203"
       (sources."openid-2.0.6" // {
@@ -27918,7 +28996,7 @@ in
       sources."mime-types-2.1.15"
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -27940,7 +29018,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -27961,7 +29039,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
@@ -28000,11 +29077,13 @@ in
     dependencies = [
       sources."express-5.0.0-alpha.5"
       sources."express-json5-0.1.0"
-      (sources."body-parser-1.17.1" // {
+      (sources."body-parser-1.17.2" // {
         dependencies = [
           sources."bytes-2.4.0"
+          sources."debug-2.6.7"
           sources."iconv-lite-0.4.15"
           sources."raw-body-2.2.0"
+          sources."ms-2.0.0"
         ];
       })
       (sources."compression-1.6.2" // {
@@ -28015,7 +29094,7 @@ in
         ];
       })
       sources."commander-2.9.0"
-      sources."js-yaml-3.8.3"
+      sources."js-yaml-3.8.4"
       sources."cookies-0.7.0"
       sources."request-2.81.0"
       sources."async-0.9.2"
@@ -28051,10 +29130,10 @@ in
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.0"
-      (sources."finalhandler-1.0.2" // {
+      (sources."finalhandler-1.0.3" // {
         dependencies = [
-          sources."debug-2.6.4"
-          sources."ms-0.7.3"
+          sources."debug-2.6.7"
+          sources."ms-2.0.0"
         ];
       })
       sources."fresh-0.5.0"
@@ -28067,7 +29146,12 @@ in
       sources."proxy-addr-1.1.4"
       sources."qs-6.4.0"
       sources."range-parser-1.2.0"
-      sources."router-1.3.0"
+      (sources."router-1.3.1" // {
+        dependencies = [
+          sources."debug-2.6.8"
+          sources."ms-2.0.0"
+        ];
+      })
       sources."send-0.15.1"
       sources."serve-static-1.12.1"
       sources."setprototypeof-1.0.3"
@@ -28111,7 +29195,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.0"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -28133,7 +29217,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -28154,13 +29238,12 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."lru-cache-2.7.3"
       sources."sigmund-1.0.1"
-      sources."dtrace-provider-0.8.1"
+      sources."dtrace-provider-0.8.3"
       sources."mv-2.1.1"
       sources."safe-json-stringify-1.0.4"
       sources."moment-2.18.1"
@@ -28169,15 +29252,15 @@ in
       sources."rimraf-2.4.5"
       (sources."glob-6.0.4" // {
         dependencies = [
-          sources."minimatch-3.0.3"
+          sources."minimatch-3.0.4"
         ];
       })
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."optimist-0.3.7"
       (sources."uglify-js-2.3.6" // {
@@ -28196,26 +29279,30 @@ in
       sources."uc.micro-1.0.3"
       (sources."htmlparser2-3.9.2" // {
         dependencies = [
-          sources."readable-stream-2.2.9"
+          sources."readable-stream-2.2.11"
+          sources."safe-buffer-5.0.1"
         ];
       })
       sources."regexp-quote-0.0.0"
       sources."xtend-4.0.1"
       sources."domelementtype-1.3.0"
-      sources."domhandler-2.3.0"
-      sources."domutils-1.6.0"
+      sources."domhandler-2.4.1"
+      sources."domutils-1.6.2"
       (sources."dom-serializer-0.1.0" // {
         dependencies = [
           sources."domelementtype-1.1.3"
         ];
       })
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
       sources."util-deprecate-1.0.2"
-      sources."jsonparse-1.3.0"
+      sources."jsonparse-1.3.1"
       sources."through-2.3.8"
       sources."minimist-0.0.8"
     ];
@@ -28247,18 +29334,18 @@ in
       sources."colors-1.0.3"
       sources."graceful-readlink-1.0.1"
       sources."graceful-fs-4.1.11"
-      sources."minimatch-3.0.3"
-      sources."readable-stream-2.2.9"
+      sources."minimatch-3.0.4"
+      sources."readable-stream-2.2.11"
       sources."set-immediate-shim-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
       sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -28333,7 +29420,7 @@ in
       sources."formidable-1.1.1"
       sources."http-signature-0.11.0"
       sources."keep-alive-agent-0.0.1"
-      sources."mime-1.3.4"
+      sources."mime-1.3.6"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
       sources."once-1.4.0"
@@ -28367,10 +29454,10 @@ in
       sources."glob-6.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."path-is-absolute-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."sshpk-agent-1.2.1"
       (sources."sshpk-1.7.1" // {
@@ -28392,11 +29479,11 @@ in
         ];
       })
       sources."json-schema-0.2.3"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
+      sources."readable-stream-2.2.11"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
@@ -28421,21 +29508,21 @@ in
     dependencies = [
       sources."css-parse-1.7.0"
       sources."mkdirp-0.5.1"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."sax-0.5.8"
       sources."glob-7.0.6"
       sources."source-map-0.1.43"
       sources."minimist-0.0.8"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."amdefine-1.0.1"
     ];
@@ -28457,7 +29544,7 @@ in
     };
     dependencies = [
       sources."sax-1.2.2"
-      sources."coa-1.0.1"
+      sources."coa-1.0.3"
       sources."js-yaml-3.7.0"
       sources."colors-1.1.2"
       sources."whet.extend-0.9.9"
@@ -28468,7 +29555,7 @@ in
       sources."esprima-2.7.3"
       sources."sprintf-js-1.0.3"
       sources."minimist-0.0.8"
-      sources."clap-1.1.3"
+      sources."clap-1.2.0"
       sources."source-map-0.5.6"
       sources."chalk-1.1.3"
       sources."ansi-styles-2.2.1"
@@ -28495,32 +29582,32 @@ in
       sha1 = "809c87a826e112494398cf8894f7c2d1b3464eb7";
     };
     dependencies = [
-      sources."acorn-4.0.11"
+      sources."acorn-4.0.13"
       sources."enhanced-resolve-2.3.0"
-      sources."glob-7.1.1"
-      sources."minimatch-3.0.3"
+      sources."glob-7.1.2"
+      sources."minimatch-3.0.4"
       sources."resolve-from-2.0.0"
       sources."tapable-0.2.6"
       sources."memory-fs-0.3.0"
       sources."graceful-fs-4.1.11"
       sources."object-assign-4.1.1"
       sources."errno-0.1.4"
-      sources."readable-stream-2.2.9"
+      sources."readable-stream-2.2.11"
       sources."prr-0.0.0"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
       sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -28534,10 +29621,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "2.3.2";
+    version = "2.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-2.3.2.tgz";
-      sha1 = "f0f045e196f69a72f06b25fd3bd39d01c3ce9984";
+      url = "https://registry.npmjs.org/typescript/-/typescript-2.3.4.tgz";
+      sha1 = "3d38321828231e434f287514959c37a82b629f42";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -28550,28 +29637,15 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "2.8.22";
+    version = "3.0.16";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.22.tgz";
-      sha1 = "d54934778a8da14903fa29a326fb24c0ab51a1a0";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.16.tgz";
+      sha1 = "fe394c6708a79ffbf21ca15d6591b16334501aec";
     };
     dependencies = [
+      sources."commander-2.9.0"
       sources."source-map-0.5.6"
-      sources."yargs-3.10.0"
-      sources."uglify-to-browserify-1.0.2"
-      sources."camelcase-1.2.1"
-      sources."cliui-2.1.0"
-      sources."decamelize-1.2.0"
-      sources."window-size-0.1.0"
-      sources."center-align-0.1.3"
-      sources."right-align-0.1.3"
-      sources."wordwrap-0.0.2"
-      sources."align-text-0.1.4"
-      sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
-      sources."longest-1.0.1"
-      sources."repeat-string-1.6.1"
-      sources."is-buffer-1.1.5"
+      sources."graceful-readlink-1.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -28584,30 +29658,22 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.1.16";
+    version = "1.1.19";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.1.16.tgz";
-      sha1 = "d19a80706583423f9895364dd20adf873b88d09e";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.1.19.tgz";
+      sha1 = "83e0c9d79c808f7acb5f2da5a1ea77e3db571558";
     };
     dependencies = [
-      sources."async-2.4.0"
+      sources."async-2.4.1"
       sources."bluebird-3.5.0"
       sources."blueimp-md5-2.7.0"
-      sources."body-parser-1.17.1"
+      sources."body-parser-1.17.2"
       sources."color-1.0.3"
       sources."cookie-parser-1.4.3"
       sources."crossroads-0.12.2"
       sources."diff2html-2.3.0"
-      (sources."express-4.15.2" // {
-        dependencies = [
-          sources."serve-static-1.12.1"
-        ];
-      })
-      (sources."express-session-1.15.2" // {
-        dependencies = [
-          sources."debug-2.6.3"
-        ];
-      })
+      sources."express-4.15.3"
+      sources."express-session-1.15.3"
       sources."forever-monitor-1.1.0"
       sources."getmac-1.2.1"
       sources."hasher-1.2.0"
@@ -28668,6 +29734,7 @@ in
         dependencies = [
           sources."json-stringify-safe-5.0.1"
           sources."uuid-3.0.0"
+          sources."stack-trace-0.0.9"
         ];
       })
       (sources."rc-1.2.1" // {
@@ -28677,23 +29744,14 @@ in
       })
       sources."rimraf-2.6.1"
       sources."semver-5.3.0"
-      (sources."serve-static-1.12.2" // {
-        dependencies = [
-          sources."send-0.15.2"
-          (sources."debug-2.6.4" // {
-            dependencies = [
-              sources."ms-0.7.3"
-            ];
-          })
-          sources."ms-1.0.0"
-        ];
-      })
+      sources."serve-static-1.12.3"
       sources."signals-1.0.0"
       sources."snapsvg-0.5.1"
-      (sources."socket.io-1.7.3" // {
+      (sources."socket.io-1.7.4" // {
         dependencies = [
           sources."debug-2.3.3"
           sources."object-assign-4.1.0"
+          sources."ms-0.7.2"
         ];
       })
       (sources."superagent-0.21.0" // {
@@ -28721,7 +29779,7 @@ in
           sources."colors-1.0.3"
         ];
       })
-      (sources."yargs-8.0.1" // {
+      (sources."yargs-8.0.2" // {
         dependencies = [
           sources."string-width-2.0.0"
           sources."is-fullwidth-code-point-2.0.0"
@@ -28729,7 +29787,7 @@ in
       })
       sources."bytes-2.4.0"
       sources."content-type-1.0.2"
-      sources."debug-2.6.1"
+      sources."debug-2.6.7"
       sources."depd-1.1.0"
       sources."http-errors-1.6.1"
       sources."iconv-lite-0.4.15"
@@ -28737,7 +29795,7 @@ in
       sources."qs-6.4.0"
       sources."raw-body-2.2.0"
       sources."type-is-1.6.15"
-      sources."ms-0.7.2"
+      sources."ms-2.0.0"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
@@ -28768,12 +29826,7 @@ in
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.0"
-      (sources."finalhandler-1.0.2" // {
-        dependencies = [
-          sources."debug-2.6.4"
-          sources."ms-0.7.3"
-        ];
-      })
+      sources."finalhandler-1.0.3"
       sources."fresh-0.5.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
@@ -28781,7 +29834,7 @@ in
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-1.1.4"
       sources."range-parser-1.2.0"
-      sources."send-0.15.1"
+      sources."send-0.15.3"
       sources."utils-merge-1.0.0"
       sources."vary-1.1.1"
       sources."negotiator-0.6.1"
@@ -28832,7 +29885,7 @@ in
       sources."eyes-0.1.8"
       sources."cycle-1.0.3"
       sources."request-2.9.203"
-      sources."stack-trace-0.0.9"
+      sources."stack-trace-0.0.10"
       sources."ini-1.3.4"
       sources."optimist-0.6.0"
       sources."wordwrap-0.0.3"
@@ -28876,7 +29929,7 @@ in
       sources."ansi-regex-2.1.1"
       sources."ansicolors-0.3.2"
       sources."ansistyles-0.1.3"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."archy-1.0.0"
       sources."asap-2.0.5"
       sources."call-limit-1.1.0"
@@ -28889,10 +29942,10 @@ in
       sources."fs-vacuum-1.2.10"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fstream-1.0.11"
-      sources."fstream-npm-1.2.0"
-      (sources."glob-7.1.1" // {
+      sources."fstream-npm-1.2.1"
+      (sources."glob-7.1.2" // {
         dependencies = [
-          sources."minimatch-3.0.3"
+          sources."minimatch-3.0.4"
         ];
       })
       sources."graceful-fs-4.1.11"
@@ -28910,9 +29963,9 @@ in
       sources."lodash.without-4.4.0"
       sources."mississippi-1.3.0"
       sources."move-concurrently-1.0.1"
-      (sources."node-gyp-3.6.1" // {
+      (sources."node-gyp-3.6.2" // {
         dependencies = [
-          sources."minimatch-3.0.3"
+          sources."minimatch-3.0.4"
           sources."nopt-3.0.6"
         ];
       })
@@ -28931,8 +29984,8 @@ in
       sources."read-cmd-shim-1.0.1"
       sources."read-installed-4.0.3"
       sources."read-package-json-2.0.5"
-      sources."read-package-tree-5.1.5"
-      sources."readable-stream-2.2.9"
+      sources."read-package-tree-5.1.6"
+      sources."readable-stream-2.2.11"
       sources."realize-package-specifier-3.0.3"
       sources."retry-0.10.1"
       sources."sha-2.0.1"
@@ -28968,7 +30021,7 @@ in
       sources."lodash.restparam-3.6.1"
       sources."readdir-scoped-modules-1.0.2"
       sources."validate-npm-package-license-3.0.1"
-      sources."jsonparse-1.3.0"
+      sources."jsonparse-1.3.1"
       sources."through-2.3.8"
       sources."wcwidth-1.0.1"
       (sources."defaults-1.0.3" // {
@@ -28979,11 +30032,11 @@ in
       sources."proto-list-1.2.4"
       (sources."fstream-ignore-1.0.5" // {
         dependencies = [
-          sources."minimatch-3.0.3"
+          sources."minimatch-3.0.4"
         ];
       })
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
       sources."path-is-absolute-1.0.1"
@@ -29021,7 +30074,7 @@ in
       sources."object-assign-4.1.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
@@ -29030,11 +30083,11 @@ in
       sources."util-extend-1.0.3"
       sources."json-parse-helpfulerror-1.0.3"
       sources."jju-1.3.0"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
@@ -29045,7 +30098,6 @@ in
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."performance-now-0.2.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."asynckit-0.4.0"
@@ -29060,7 +30112,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -29081,27 +30133,35 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."stream-iterate-1.2.0"
       sources."block-stream-0.0.9"
       sources."unique-slug-2.0.0"
-      (sources."boxen-1.0.0" // {
+      (sources."boxen-1.1.0" // {
         dependencies = [
           sources."string-width-2.0.0"
           sources."is-fullwidth-code-point-2.0.0"
         ];
       })
       sources."chalk-1.1.3"
-      sources."configstore-3.0.0"
+      (sources."configstore-3.1.0" // {
+        dependencies = [
+          sources."write-file-atomic-2.1.0"
+        ];
+      })
       sources."is-npm-1.0.0"
       sources."latest-version-3.1.0"
       sources."lazy-req-2.0.0"
       sources."semver-diff-2.1.0"
       sources."xdg-basedir-3.0.0"
-      sources."ansi-align-1.1.0"
+      (sources."ansi-align-2.0.0" // {
+        dependencies = [
+          sources."string-width-2.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+        ];
+      })
       sources."camelcase-4.1.0"
       sources."cli-boxes-1.0.0"
       sources."term-size-0.1.1"
@@ -29109,7 +30169,7 @@ in
       sources."execa-0.4.0"
       (sources."cross-spawn-async-2.2.5" // {
         dependencies = [
-          sources."lru-cache-4.0.2"
+          sources."lru-cache-4.1.1"
         ];
       })
       sources."is-stream-1.1.0"
@@ -29123,8 +30183,10 @@ in
       sources."has-ansi-2.0.0"
       sources."supports-color-2.0.0"
       sources."dot-prop-4.1.1"
+      sources."make-dir-1.0.0"
       sources."unique-string-1.0.0"
       sources."is-obj-1.0.1"
+      sources."pify-2.3.0"
       sources."crypto-random-string-1.0.0"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -29146,16 +30208,21 @@ in
       sources."spdx-correct-1.0.2"
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
-      sources."ssri-4.1.2"
+      (sources."ssri-4.1.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.0"
+        ];
+      })
       sources."passport-strategy-1.0.0"
       sources."pause-0.0.1"
       sources."lsmod-1.0.0"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."strip-json-comments-2.0.1"
       sources."eve-0.5.4"
-      (sources."engine.io-1.8.3" // {
+      (sources."engine.io-1.8.4" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       (sources."has-binary-0.1.7" // {
@@ -29166,11 +30233,13 @@ in
       (sources."socket.io-adapter-0.5.0" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
-      (sources."socket.io-client-1.7.3" // {
+      (sources."socket.io-client-1.7.4" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ms-0.7.2"
         ];
       })
       (sources."socket.io-parser-2.3.1" // {
@@ -29183,7 +30252,7 @@ in
       })
       sources."base64id-1.0.0"
       sources."engine.io-parser-1.3.2"
-      sources."ws-1.1.2"
+      sources."ws-1.1.4"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
       sources."base64-arraybuffer-0.1.5"
@@ -29194,9 +30263,11 @@ in
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
-      (sources."engine.io-client-1.8.3" // {
+      (sources."engine.io-client-1.8.4" // {
         dependencies = [
           sources."debug-2.3.3"
+          sources."ws-1.1.2"
+          sources."ms-0.7.2"
         ];
       })
       sources."indexof-0.0.1"
@@ -29237,7 +30308,7 @@ in
       sources."mem-1.1.0"
       (sources."cross-spawn-4.0.2" // {
         dependencies = [
-          sources."lru-cache-4.0.2"
+          sources."lru-cache-4.1.1"
         ];
       })
       sources."p-finally-1.0.0"
@@ -29254,7 +30325,6 @@ in
       sources."load-json-file-2.0.0"
       sources."path-type-2.0.0"
       sources."parse-json-2.2.0"
-      sources."pify-2.3.0"
       sources."strip-bom-3.0.0"
       (sources."error-ex-1.3.1" // {
         dependencies = [
@@ -29333,12 +30403,12 @@ in
       sources."klaw-1.3.1"
       sources."path-is-absolute-1.0.1"
       sources."rimraf-2.6.1"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."minimatch-3.0.3"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."minimatch-3.0.4"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."is-stream-1.1.0"
       sources."pinkie-promise-2.0.1"
@@ -29363,7 +30433,7 @@ in
       sources."isstream-0.1.2"
       sources."is-typedarray-1.0.0"
       sources."har-validator-2.0.6"
-      sources."async-2.4.0"
+      sources."async-2.4.1"
       sources."lodash-4.17.4"
       sources."mime-db-1.27.0"
       sources."assert-plus-0.2.0"
@@ -29372,7 +30442,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -29393,7 +30463,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."hoek-2.16.3"
@@ -29432,21 +30501,21 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "2.5.0";
+    version = "2.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-2.5.0.tgz";
-      sha1 = "5a17089f8d0e43442e606d6cf9b2a146c8ed9911";
+      url = "https://registry.npmjs.org/webpack/-/webpack-2.6.1.tgz";
+      sha1 = "2e0457f0abb1ac5df3ab106c69c672f236785f07";
     };
     dependencies = [
       sources."acorn-5.0.3"
       (sources."acorn-dynamic-import-2.0.2" // {
         dependencies = [
-          sources."acorn-4.0.11"
+          sources."acorn-4.0.13"
         ];
       })
       sources."ajv-4.11.8"
       sources."ajv-keywords-1.5.1"
-      sources."async-2.4.0"
+      sources."async-2.4.1"
       sources."enhanced-resolve-3.1.0"
       sources."interpret-1.0.3"
       sources."json-loader-0.5.4"
@@ -29463,7 +30532,7 @@ in
       sources."source-map-0.5.6"
       sources."supports-color-3.2.3"
       sources."tapable-0.2.6"
-      (sources."uglify-js-2.8.22" // {
+      (sources."uglify-js-2.8.29" // {
         dependencies = [
           sources."yargs-3.10.0"
         ];
@@ -29485,14 +30554,14 @@ in
       sources."big.js-3.1.3"
       sources."emojis-list-2.1.0"
       sources."errno-0.1.4"
-      sources."readable-stream-2.2.9"
+      sources."readable-stream-2.2.11"
       sources."prr-0.0.0"
-      sources."buffer-shims-1.0.0"
       sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
       sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."minimist-0.0.8"
       sources."assert-1.4.1"
@@ -29510,7 +30579,7 @@ in
       sources."punycode-1.4.1"
       sources."querystring-es3-0.2.1"
       sources."stream-browserify-2.0.1"
-      sources."stream-http-2.7.0"
+      sources."stream-http-2.7.2"
       sources."timers-browserify-2.0.2"
       sources."tty-browserify-0.0.0"
       (sources."url-0.11.0" // {
@@ -29531,12 +30600,16 @@ in
       sources."browserify-cipher-1.0.0"
       sources."browserify-sign-4.0.4"
       sources."create-ecdh-4.0.0"
-      sources."create-hash-1.1.2"
-      sources."create-hmac-1.1.4"
+      sources."create-hash-1.1.3"
+      sources."create-hmac-1.1.6"
       sources."diffie-hellman-5.0.2"
-      sources."pbkdf2-3.0.9"
+      sources."pbkdf2-3.0.12"
       sources."public-encrypt-4.0.0"
-      sources."randombytes-2.0.3"
+      (sources."randombytes-2.0.5" // {
+        dependencies = [
+          sources."safe-buffer-5.1.0"
+        ];
+      })
       sources."browserify-aes-1.0.6"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.0"
@@ -29553,8 +30626,9 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.1"
-      sources."ripemd160-1.0.1"
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.8"
+      sources."hash-base-2.0.2"
       sources."miller-rabin-4.0.0"
       sources."builtin-status-codes-3.0.0"
       sources."to-arraybuffer-1.0.1"
@@ -29573,11 +30647,11 @@ in
       sources."wordwrap-0.0.2"
       sources."align-text-0.1.4"
       sources."lazy-cache-1.0.4"
-      sources."kind-of-3.2.0"
+      sources."kind-of-3.2.2"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.5"
-      sources."chokidar-1.6.1"
+      sources."chokidar-1.7.0"
       sources."anymatch-1.3.0"
       sources."async-each-1.0.1"
       sources."glob-parent-2.0.0"
@@ -29585,7 +30659,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.1"
+      sources."fsevents-1.1.2"
       sources."arrify-1.0.1"
       sources."micromatch-2.3.11"
       sources."arr-diff-2.0.0"
@@ -29606,26 +30680,35 @@ in
       sources."fill-range-2.2.3"
       sources."is-number-2.1.0"
       sources."isobject-2.1.0"
-      sources."randomatic-1.1.6"
+      (sources."randomatic-1.1.7" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
       sources."is-posix-bracket-0.1.1"
-      sources."remove-trailing-separator-1.0.1"
+      sources."remove-trailing-separator-1.0.2"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
       sources."glob-base-0.3.0"
-      sources."is-dotfile-1.0.2"
+      sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
       sources."binary-extensions-1.8.0"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."set-immediate-shim-1.0.1"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."nan-2.6.2"
-      sources."node-pre-gyp-0.6.34"
+      sources."node-pre-gyp-0.6.36"
       sources."nopt-4.0.1"
-      sources."npmlog-4.0.2"
+      sources."npmlog-4.1.0"
       (sources."rc-1.2.1" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -29645,17 +30728,17 @@ in
       sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
-      sources."aproba-1.1.1"
+      sources."aproba-1.1.2"
       sources."has-unicode-2.0.1"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
       sources."strip-ansi-3.0.1"
-      sources."wide-align-1.1.0"
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
-      sources."deep-extend-0.4.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
@@ -29675,7 +30758,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
@@ -29693,7 +30775,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -29714,21 +30796,20 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
-      sources."glob-7.1.1"
+      sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.11"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."fstream-ignore-1.0.5"
       sources."uid-number-0.0.6"
-      sources."ms-0.7.3"
+      sources."ms-2.0.0"
       sources."source-list-map-1.1.2"
       sources."get-caller-file-1.0.2"
       sources."os-locale-1.4.0"
@@ -29794,10 +30875,10 @@ in
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "0.23.4";
+    version = "0.24.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-0.23.4.tgz";
-      sha1 = "f428c75ca27ad4910bc822174f586187c790c5db";
+      url = "https://registry.npmjs.org/yarn/-/yarn-0.24.5.tgz";
+      sha1 = "92c72adf4de8dacccaf6b4259eb4990f6c4f8e3b";
     };
     dependencies = [
       sources."babel-runtime-6.23.0"
@@ -29807,30 +30888,30 @@ in
       sources."cmd-shim-2.0.2"
       sources."commander-2.9.0"
       sources."death-1.1.0"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."detect-indent-5.0.0"
+      sources."gunzip-maybe-1.4.0"
       sources."ini-1.3.4"
-      sources."inquirer-3.0.6"
+      sources."inquirer-3.1.0"
       sources."invariant-2.2.2"
       sources."is-builtin-module-1.0.0"
       sources."is-ci-1.0.10"
       sources."leven-2.1.0"
       sources."loud-rejection-1.6.0"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."mkdirp-0.5.1"
       sources."node-emoji-1.5.1"
-      sources."node-gyp-3.6.1"
       sources."object-path-0.11.4"
       sources."proper-lockfile-2.0.1"
       sources."read-1.0.7"
       sources."request-2.81.0"
       sources."request-capture-har-1.2.2"
       sources."rimraf-2.6.1"
-      sources."roadrunner-1.1.0"
       sources."semver-5.3.0"
       sources."strip-bom-3.0.0"
-      sources."tar-fs-1.15.2"
-      sources."tar-stream-1.5.2"
+      sources."tar-fs-1.15.3"
+      sources."tar-stream-1.5.4"
+      sources."uuid-3.0.1"
       sources."v8-compile-cache-1.1.0"
       sources."validate-npm-package-license-3.0.1"
       sources."core-js-2.4.1"
@@ -29843,22 +30924,55 @@ in
       sources."ansi-regex-2.1.1"
       sources."graceful-fs-4.1.11"
       sources."graceful-readlink-1.0.1"
-      sources."ms-0.7.3"
-      sources."ansi-escapes-1.4.0"
+      sources."ms-2.0.0"
+      sources."browserify-zlib-0.1.4"
+      sources."is-deflate-1.0.0"
+      sources."is-gzip-1.0.0"
+      sources."peek-stream-1.1.2"
+      sources."pumpify-1.3.5"
+      sources."through2-2.0.3"
+      sources."pako-0.2.9"
+      sources."duplexify-3.5.0"
+      sources."end-of-stream-1.0.0"
+      sources."inherits-2.0.3"
+      sources."readable-stream-2.2.11"
+      sources."stream-shift-1.0.0"
+      sources."once-1.3.3"
+      sources."wrappy-1.0.2"
+      sources."core-util-is-1.0.2"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.0.1"
+      sources."string_decoder-1.0.2"
+      sources."util-deprecate-1.0.2"
+      (sources."pump-1.0.2" // {
+        dependencies = [
+          (sources."end-of-stream-1.4.0" // {
+            dependencies = [
+              sources."once-1.4.0"
+            ];
+          })
+        ];
+      })
+      sources."xtend-4.0.1"
+      sources."ansi-escapes-2.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.1.0"
-      sources."external-editor-2.0.1"
+      sources."external-editor-2.0.4"
       sources."figures-2.0.0"
       sources."lodash-4.17.4"
       sources."mute-stream-0.0.7"
       sources."run-async-2.3.0"
-      sources."rx-4.1.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
       sources."string-width-2.0.0"
       sources."through-2.3.8"
       sources."restore-cursor-2.0.0"
       sources."onetime-2.0.1"
       sources."signal-exit-3.0.2"
       sources."mimic-fn-1.1.0"
+      sources."iconv-lite-0.4.18"
+      sources."jschardet-1.4.2"
       sources."tmp-0.0.31"
       sources."os-tmpdir-1.0.2"
       sources."is-promise-2.1.0"
@@ -29869,56 +30983,11 @@ in
       sources."ci-info-1.0.0"
       sources."currently-unhandled-0.4.1"
       sources."array-find-index-1.0.2"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."minimist-0.0.8"
       sources."string.prototype.codepointat-0.2.0"
-      sources."fstream-1.0.11"
-      sources."glob-7.1.1"
-      sources."nopt-3.0.6"
-      sources."npmlog-4.0.2"
-      sources."osenv-0.1.4"
-      sources."tar-2.2.1"
-      sources."which-1.2.14"
-      sources."inherits-2.0.3"
-      sources."fs.realpath-1.0.0"
-      sources."inflight-1.0.6"
-      sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."wrappy-1.0.2"
-      sources."abbrev-1.1.0"
-      sources."are-we-there-yet-1.1.4"
-      sources."console-control-strings-1.1.0"
-      (sources."gauge-2.7.4" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
-      sources."set-blocking-2.0.0"
-      sources."delegates-1.0.0"
-      sources."readable-stream-2.2.9"
-      sources."buffer-shims-1.0.0"
-      sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
-      sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
-      sources."util-deprecate-1.0.2"
-      sources."aproba-1.1.1"
-      sources."has-unicode-2.0.1"
-      sources."object-assign-4.1.1"
-      (sources."wide-align-1.1.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
-      sources."code-point-at-1.1.0"
-      sources."number-is-nan-1.0.1"
-      sources."os-homedir-1.0.2"
-      sources."block-stream-0.0.9"
-      sources."isexe-2.0.0"
       sources."retry-0.10.1"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
@@ -29937,11 +31006,9 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.2"
       sources."tunnel-agent-0.6.0"
-      sources."uuid-3.0.1"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
       sources."ajv-4.11.8"
@@ -29959,7 +31026,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -29980,16 +31047,16 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
       sources."punycode-1.4.1"
+      sources."glob-7.1.2"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."path-is-absolute-1.0.1"
       sources."chownr-1.0.1"
-      sources."pump-1.0.2"
-      sources."end-of-stream-1.4.0"
       sources."bl-1.2.1"
-      sources."xtend-4.0.1"
       sources."spdx-correct-1.0.2"
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
@@ -30005,179 +31072,220 @@ in
   yo = nodeEnv.buildNodePackage {
     name = "yo";
     packageName = "yo";
-    version = "1.8.5";
+    version = "2.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yo/-/yo-1.8.5.tgz";
-      sha1 = "776ab9ec79a7882f8d4f7a9e10214fdab050d928";
+      url = "https://registry.npmjs.org/yo/-/yo-2.0.0.tgz";
+      sha1 = "0cd75211379ed87105f99510885759062147b517";
     };
     dependencies = [
-      sources."async-1.5.2"
+      sources."async-2.4.1"
       sources."chalk-1.1.3"
-      sources."cli-list-0.1.8"
-      sources."configstore-1.4.0"
-      sources."cross-spawn-3.0.1"
-      sources."figures-1.7.0"
-      sources."fullname-2.1.0"
-      sources."got-5.7.1"
+      sources."cli-list-0.2.0"
+      sources."configstore-3.1.0"
+      sources."cross-spawn-5.1.0"
+      sources."figures-2.0.0"
+      sources."fullname-3.3.0"
+      sources."got-6.7.1"
       sources."humanize-string-1.0.1"
-      sources."inquirer-0.11.4"
-      (sources."insight-0.7.0" // {
+      sources."inquirer-3.1.0"
+      (sources."insight-0.8.4" // {
         dependencies = [
+          sources."async-1.5.2"
+          (sources."configstore-1.4.0" // {
+            dependencies = [
+              sources."uuid-2.0.3"
+            ];
+          })
           sources."inquirer-0.10.1"
+          sources."write-file-atomic-1.3.4"
+          sources."xdg-basedir-2.0.0"
+          sources."ansi-escapes-1.4.0"
+          sources."cli-cursor-1.0.2"
+          sources."cli-width-1.1.1"
+          sources."figures-1.7.0"
+          sources."lodash-3.10.1"
+          sources."run-async-0.1.0"
+          sources."rx-lite-3.1.2"
+          sources."restore-cursor-1.0.1"
+          sources."onetime-1.1.0"
         ];
       })
-      sources."lodash-3.10.1"
+      sources."lodash-4.17.4"
       (sources."meow-3.7.0" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."read-pkg-up-1.0.1"
         ];
       })
-      sources."npm-keyword-4.2.0"
-      sources."opn-3.0.3"
+      (sources."npm-keyword-4.2.0" // {
+        dependencies = [
+          sources."got-5.7.1"
+          sources."timed-out-3.1.3"
+          sources."unzip-response-1.0.2"
+        ];
+      })
+      sources."opn-4.0.2"
       (sources."package-json-2.4.0" // {
         dependencies = [
-          sources."semver-5.3.0"
+          sources."got-5.7.1"
+          sources."timed-out-3.1.3"
+          sources."unzip-response-1.0.2"
         ];
       })
       sources."parse-help-0.1.1"
-      sources."read-pkg-up-1.0.1"
-      sources."repeating-2.0.1"
+      (sources."read-pkg-up-2.0.0" // {
+        dependencies = [
+          sources."find-up-2.1.0"
+          sources."read-pkg-2.0.0"
+          sources."load-json-file-2.0.0"
+          sources."path-type-2.0.0"
+          sources."strip-bom-3.0.0"
+        ];
+      })
       sources."root-check-1.0.0"
-      sources."sort-on-1.3.0"
+      sources."sort-on-2.0.0"
       sources."string-length-1.0.1"
       (sources."tabtab-1.3.2" // {
         dependencies = [
           sources."inquirer-1.2.3"
-          sources."minimist-1.2.0"
-          sources."cli-width-2.1.0"
-          sources."lodash-4.17.4"
+          sources."ansi-escapes-1.4.0"
+          sources."cli-cursor-1.0.2"
+          sources."external-editor-1.1.1"
+          sources."figures-1.7.0"
           sources."mute-stream-0.0.6"
-          sources."run-async-2.3.0"
+          sources."string-width-1.0.2"
+          sources."restore-cursor-1.0.1"
+          sources."onetime-1.1.0"
+          sources."tmp-0.0.29"
+          sources."is-fullwidth-code-point-1.0.0"
         ];
       })
       sources."titleize-1.0.0"
-      (sources."update-notifier-0.6.3" // {
-        dependencies = [
-          sources."configstore-2.1.0"
-          sources."dot-prop-3.0.0"
-        ];
-      })
+      sources."update-notifier-2.2.0"
       sources."user-home-2.0.0"
       (sources."yeoman-character-1.1.0" // {
         dependencies = [
           sources."supports-color-3.2.3"
         ];
       })
-      (sources."yeoman-doctor-2.1.0" // {
-        dependencies = [
-          sources."semver-5.3.0"
-        ];
-      })
-      (sources."yeoman-environment-1.6.6" // {
+      sources."yeoman-doctor-2.1.0"
+      sources."yeoman-environment-2.0.0"
+      (sources."yosay-2.0.0" // {
         dependencies = [
-          sources."inquirer-1.2.3"
-          sources."lodash-4.17.4"
-          sources."cli-width-2.1.0"
-          sources."mute-stream-0.0.6"
-          sources."run-async-2.3.0"
+          sources."ansi-styles-3.1.0"
         ];
       })
-      sources."yosay-1.2.1"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."has-ansi-2.0.0"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."ansi-regex-2.1.1"
+      sources."dot-prop-4.1.1"
       sources."graceful-fs-4.1.11"
-      sources."mkdirp-0.5.1"
-      sources."object-assign-4.1.1"
-      sources."os-tmpdir-1.0.2"
-      sources."osenv-0.1.4"
-      sources."uuid-2.0.3"
-      sources."write-file-atomic-1.3.4"
-      sources."xdg-basedir-2.0.0"
-      sources."minimist-0.0.8"
-      sources."os-homedir-1.0.2"
+      sources."make-dir-1.0.0"
+      sources."unique-string-1.0.0"
+      sources."write-file-atomic-2.1.0"
+      sources."xdg-basedir-3.0.0"
+      sources."is-obj-1.0.1"
+      sources."pify-2.3.0"
+      sources."crypto-random-string-1.0.0"
       sources."imurmurhash-0.1.4"
       sources."slide-1.1.6"
-      sources."lru-cache-4.0.2"
+      sources."lru-cache-4.1.1"
+      sources."shebang-command-1.2.0"
       sources."which-1.2.14"
       sources."pseudomap-1.0.2"
       sources."yallist-2.1.2"
+      sources."shebang-regex-1.0.0"
       sources."isexe-2.0.0"
-      sources."npmconf-2.1.2"
-      sources."pify-2.3.0"
-      sources."pinkie-promise-2.0.1"
-      sources."config-chain-1.1.11"
-      sources."inherits-2.0.3"
+      sources."execa-0.6.3"
+      sources."filter-obj-1.1.0"
+      sources."mem-1.1.0"
+      sources."p-any-1.1.0"
+      sources."p-try-1.0.0"
+      (sources."passwd-user-2.1.0" // {
+        dependencies = [
+          sources."execa-0.4.0"
+          sources."npm-run-path-1.0.0"
+          sources."path-key-1.0.0"
+        ];
+      })
+      sources."rc-1.2.1"
+      sources."get-stream-3.0.0"
+      sources."is-stream-1.1.0"
+      sources."npm-run-path-2.0.2"
+      sources."p-finally-1.0.0"
+      sources."signal-exit-3.0.2"
+      sources."strip-eof-1.0.0"
+      sources."path-key-2.0.1"
+      sources."mimic-fn-1.1.0"
+      sources."p-some-2.0.0"
+      sources."aggregate-error-1.0.0"
+      sources."clean-stack-1.3.0"
+      sources."indent-string-3.1.0"
+      sources."cross-spawn-async-2.2.5"
+      sources."object-assign-4.1.1"
+      sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
-      sources."nopt-3.0.6"
-      sources."once-1.3.3"
-      sources."semver-4.3.6"
-      sources."uid-number-0.0.5"
-      sources."proto-list-1.2.4"
-      sources."abbrev-1.1.0"
-      sources."wrappy-1.0.2"
-      sources."pinkie-2.0.4"
+      sources."minimist-1.2.0"
+      sources."strip-json-comments-2.0.1"
       sources."create-error-class-3.0.2"
-      sources."duplexer2-0.1.4"
+      sources."duplexer3-0.1.4"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.1.0"
-      sources."is-stream-1.1.0"
       sources."lowercase-keys-1.0.0"
-      sources."node-status-codes-1.0.0"
-      sources."parse-json-2.2.0"
-      sources."read-all-stream-3.1.0"
-      sources."readable-stream-2.2.9"
-      sources."timed-out-3.1.3"
-      sources."unzip-response-1.0.2"
+      sources."safe-buffer-5.1.0"
+      sources."timed-out-4.0.1"
+      sources."unzip-response-2.0.1"
       sources."url-parse-lax-1.0.0"
       sources."capture-stack-trace-1.0.0"
-      sources."error-ex-1.3.1"
-      sources."is-arrayish-0.2.1"
-      sources."buffer-shims-1.0.0"
-      sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
-      sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.0"
-      sources."util-deprecate-1.0.2"
       sources."prepend-http-1.0.4"
       sources."decamelize-1.2.0"
-      sources."ansi-escapes-1.4.0"
-      sources."cli-cursor-1.0.2"
-      sources."cli-width-1.1.1"
-      sources."readline2-1.0.1"
-      sources."run-async-0.1.0"
-      sources."rx-lite-3.1.2"
-      sources."string-width-1.0.2"
+      sources."ansi-escapes-2.0.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.1.0"
+      sources."external-editor-2.0.4"
+      sources."mute-stream-0.0.7"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."string-width-2.0.0"
       sources."through-2.3.8"
-      sources."restore-cursor-1.0.1"
-      sources."exit-hook-1.1.1"
-      sources."onetime-1.1.0"
-      sources."code-point-at-1.1.0"
-      sources."is-fullwidth-code-point-1.0.0"
-      sources."mute-stream-0.0.5"
-      sources."number-is-nan-1.0.1"
+      sources."restore-cursor-2.0.0"
+      sources."onetime-2.0.1"
+      sources."iconv-lite-0.4.18"
+      sources."jschardet-1.4.2"
+      sources."tmp-0.0.31"
+      sources."os-tmpdir-1.0.2"
+      sources."is-promise-2.1.0"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."lodash.debounce-3.1.1"
       sources."os-name-1.0.3"
-      (sources."request-2.81.0" // {
-        dependencies = [
-          sources."uuid-3.0.1"
-        ];
-      })
+      sources."request-2.81.0"
       sources."tough-cookie-2.3.2"
-      sources."lodash._getnative-3.9.1"
-      (sources."osx-release-1.1.0" // {
+      sources."uuid-3.0.1"
+      (sources."mkdirp-0.5.1" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."minimist-0.0.8"
         ];
       })
-      (sources."win-release-1.1.1" // {
+      sources."osenv-0.1.4"
+      sources."os-homedir-1.0.2"
+      (sources."readline2-1.0.1" // {
         dependencies = [
-          sources."semver-5.3.0"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."mute-stream-0.0.5"
         ];
       })
+      sources."exit-hook-1.1.1"
+      sources."code-point-at-1.1.0"
+      sources."number-is-nan-1.0.1"
+      sources."once-1.4.0"
+      sources."wrappy-1.0.2"
+      sources."lodash._getnative-3.9.1"
+      sources."osx-release-1.1.0"
+      sources."win-release-1.1.1"
+      sources."semver-5.3.0"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
       sources."caseless-0.12.0"
@@ -30195,7 +31303,6 @@ in
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
       sources."qs-6.4.0"
-      sources."safe-buffer-5.0.1"
       sources."stringstream-0.0.5"
       sources."tunnel-agent-0.6.0"
       sources."delayed-stream-1.0.0"
@@ -30215,7 +31322,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      (sources."sshpk-1.13.0" // {
+      (sources."sshpk-1.13.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -30236,7 +31343,6 @@ in
       })
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
-      sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.27.0"
@@ -30245,11 +31351,14 @@ in
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."normalize-package-data-2.3.8"
-      sources."redent-1.0.0"
+      (sources."redent-1.0.0" // {
+        dependencies = [
+          sources."indent-string-2.1.0"
+        ];
+      })
       sources."trim-newlines-1.0.0"
       sources."camelcase-2.1.1"
       sources."currently-unhandled-0.4.1"
-      sources."signal-exit-3.0.2"
       sources."array-find-index-1.0.2"
       sources."hosted-git-info-2.4.2"
       sources."is-builtin-module-1.0.0"
@@ -30258,49 +31367,67 @@ in
       sources."spdx-correct-1.0.2"
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
-      sources."indent-string-2.1.0"
+      sources."find-up-1.1.2"
+      sources."read-pkg-1.1.0"
+      sources."path-exists-2.1.0"
+      sources."pinkie-promise-2.0.1"
+      sources."pinkie-2.0.4"
+      sources."load-json-file-1.1.0"
+      sources."path-type-1.1.0"
+      sources."parse-json-2.2.0"
+      sources."strip-bom-2.0.0"
+      sources."error-ex-1.3.1"
+      sources."is-arrayish-0.2.1"
+      sources."is-utf8-0.2.1"
       sources."strip-indent-1.0.1"
+      sources."repeating-2.0.1"
+      sources."is-finite-1.0.2"
       sources."get-stdin-4.0.1"
       sources."registry-url-3.1.0"
-      (sources."rc-1.2.1" // {
+      sources."duplexer2-0.1.4"
+      sources."node-status-codes-1.0.0"
+      sources."read-all-stream-3.1.0"
+      (sources."readable-stream-2.2.11" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."safe-buffer-5.0.1"
         ];
       })
-      sources."deep-extend-0.4.1"
-      sources."strip-json-comments-2.0.1"
+      sources."core-util-is-1.0.2"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-1.0.7"
+      (sources."string_decoder-1.0.2" // {
+        dependencies = [
+          sources."safe-buffer-5.0.1"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
       sources."registry-auth-token-3.3.1"
       sources."execall-1.0.0"
       sources."clone-regexp-1.0.0"
       sources."is-regexp-1.0.0"
       sources."is-supported-regexp-flag-1.0.0"
-      sources."find-up-1.1.2"
-      sources."read-pkg-1.1.0"
-      sources."path-exists-2.1.0"
-      sources."load-json-file-1.1.0"
-      sources."path-type-1.1.0"
-      sources."strip-bom-2.0.0"
-      sources."is-utf8-0.2.1"
-      sources."is-finite-1.0.2"
+      (sources."locate-path-2.0.0" // {
+        dependencies = [
+          sources."path-exists-3.0.0"
+        ];
+      })
+      sources."p-locate-2.0.0"
+      sources."p-limit-1.1.0"
       sources."downgrade-root-1.2.2"
       sources."sudo-block-1.2.0"
       sources."default-uid-1.0.0"
       sources."is-root-1.0.0"
       sources."is-docker-1.1.0"
       sources."arrify-1.0.1"
-      sources."dot-prop-2.4.0"
-      sources."is-obj-1.0.1"
-      sources."debug-2.6.6"
+      sources."debug-2.6.8"
       sources."npmlog-2.0.4"
-      sources."ms-0.7.3"
-      sources."external-editor-1.1.1"
+      sources."ms-2.0.0"
       sources."rx-4.1.0"
       sources."spawn-sync-1.0.15"
-      sources."tmp-0.0.29"
       sources."concat-stream-1.6.0"
       sources."os-shim-0.1.3"
       sources."typedarray-0.0.6"
-      sources."is-promise-2.1.0"
       sources."ansi-0.3.1"
       sources."are-we-there-yet-1.1.4"
       sources."gauge-1.2.7"
@@ -30309,56 +31436,73 @@ in
       sources."lodash.pad-4.5.1"
       sources."lodash.padend-4.6.1"
       sources."lodash.padstart-4.6.1"
-      sources."boxen-0.3.1"
+      (sources."boxen-1.1.0" // {
+        dependencies = [
+          sources."camelcase-4.1.0"
+        ];
+      })
+      sources."import-lazy-2.1.0"
       sources."is-npm-1.0.0"
-      sources."latest-version-2.0.0"
-      (sources."semver-diff-2.1.0" // {
+      (sources."latest-version-3.1.0" // {
         dependencies = [
-          sources."semver-5.3.0"
+          sources."package-json-4.0.1"
+        ];
+      })
+      sources."semver-diff-2.1.0"
+      sources."ansi-align-2.0.0"
+      sources."cli-boxes-1.0.0"
+      (sources."term-size-0.1.1" // {
+        dependencies = [
+          sources."execa-0.4.0"
+          sources."npm-run-path-1.0.0"
+          sources."path-key-1.0.0"
+        ];
+      })
+      (sources."widest-line-1.0.0" // {
+        dependencies = [
+          sources."string-width-1.0.2"
+          sources."is-fullwidth-code-point-1.0.0"
         ];
       })
-      sources."filled-array-1.1.0"
-      sources."widest-line-1.0.0"
       sources."has-flag-1.0.0"
       (sources."bin-version-check-2.1.0" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."semver-4.3.6"
+        ];
+      })
+      (sources."each-async-1.1.1" // {
+        dependencies = [
+          sources."onetime-1.1.0"
         ];
       })
-      sources."each-async-1.1.1"
       sources."log-symbols-1.0.2"
       sources."object-values-1.0.0"
       sources."twig-0.8.9"
       sources."bin-version-1.0.4"
-      (sources."semver-truncate-1.1.2" // {
-        dependencies = [
-          sources."semver-5.3.0"
-        ];
-      })
+      sources."semver-truncate-1.1.2"
       sources."find-versions-1.2.1"
       sources."array-uniq-1.0.3"
       sources."semver-regex-1.0.0"
       sources."set-immediate-shim-1.0.1"
       sources."walk-2.3.9"
-      sources."minimatch-3.0.3"
+      sources."minimatch-3.0.4"
       sources."foreachasync-3.0.0"
-      sources."brace-expansion-1.1.7"
-      sources."balanced-match-0.4.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
-      sources."diff-2.2.3"
-      sources."globby-4.1.0"
-      (sources."grouped-queue-0.3.3" // {
-        dependencies = [
-          sources."lodash-4.17.4"
-        ];
-      })
+      sources."diff-3.2.0"
+      sources."globby-6.1.0"
+      sources."grouped-queue-0.3.3"
+      sources."is-scoped-1.0.0"
       sources."mem-fs-1.1.3"
       sources."text-table-0.2.0"
-      sources."untildify-2.1.0"
+      sources."untildify-3.0.2"
       sources."array-union-1.0.2"
-      sources."glob-6.0.4"
+      sources."glob-7.1.2"
+      sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."path-is-absolute-1.0.1"
+      sources."scoped-regex-1.0.0"
       sources."through2-2.0.3"
       sources."vinyl-1.2.0"
       sources."vinyl-file-2.0.0"
@@ -30368,14 +31512,16 @@ in
       sources."replace-ext-0.0.1"
       sources."strip-bom-stream-2.0.0"
       sources."first-chunk-stream-2.0.0"
-      sources."cli-boxes-1.0.0"
       sources."pad-component-0.0.1"
-      (sources."taketalk-1.0.0" // {
+      sources."taketalk-1.0.0"
+      (sources."wrap-ansi-2.1.0" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."string-width-1.0.2"
+          sources."is-fullwidth-code-point-1.0.0"
         ];
       })
-      sources."wrap-ansi-2.1.0"
+      sources."color-convert-1.9.0"
+      sources."color-name-1.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/ocaml-modules/base/default.nix b/pkgs/development/ocaml-modules/base/default.nix
deleted file mode 100644
index f7627567f9c..00000000000
--- a/pkgs/development/ocaml-modules/base/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
-
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "base is not available for OCaml ${ocaml.version}" else
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-base-0.9.0";
-
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/base-v0.9.0.tar.gz;
-    sha256 = "0pdpa3hflbqn978ppvv5y08cjya0k8xpf1h0kcak6bdrmnmiwlyx";
-  };
-
-  buildInputs = [ ocaml jbuilder findlib ];
-
-  inherit (jbuilder) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-    homepage = https://github.com/janestreet/base;
-    description = "Full standard library replacement for OCaml";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/cmdliner/1.0.nix b/pkgs/development/ocaml-modules/cmdliner/1.0.nix
new file mode 100644
index 00000000000..9448610a378
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cmdliner/1.0.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, result }:
+
+let
+  pname = "cmdliner";
+in
+
+assert stdenv.lib.versionAtLeast ocaml.version "4.01.0";
+
+stdenv.mkDerivation rec {
+  name = "ocaml-${pname}-${version}";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
+    sha256 = "1ryn7qis0izg0wcal8zdlikzzl689l75y6f4zc6blrm93y5agy9x";
+  };
+
+  unpackCmd = "tar xjf $src";
+
+  nativeBuildInputs = [ ocamlbuild opam topkg ];
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ result ];
+
+  createFindlibDestdir = true;
+
+  buildPhase = ''
+    ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build
+  '';
+
+  installPhase = ''
+    opam-installer --script --prefix=$out | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://erratique.ch/software/cmdliner;
+    description = "An OCaml module for the declarative definition of command line interfaces";
+    license = licenses.bsd3;
+    platforms = ocaml.meta.platforms or [];
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
index 8be36a2a408..e8824f31807 100644
--- a/pkgs/development/ocaml-modules/cmdliner/default.nix
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -17,15 +17,15 @@ stdenv.mkDerivation rec {
   };
 
   unpackCmd = "tar xjf $src";
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
+  nativeBuildInputs = [ ocamlbuild opam ];
+  buildInputs = [ ocaml findlib ];
 
   createFindlibDestdir = true;
 
   configurePhase = "ocaml pkg/git.ml";
   buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
   installPhase   = ''
-    opam-installer --script --prefix=$out ${pname}.install > install.sh
-    sh install.sh
+    opam-installer --script --prefix=$out | sh
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
   '';
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage = http://erratique.ch/software/cmdliner;
     description = "An OCaml module for the declarative definition of command line interfaces";
     license = licenses.bsd3;
-    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms or [];
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/janestreet/async_kernel-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/async_kernel-113_33_00.nix
deleted file mode 100644
index 2110b1d6b50..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/async_kernel-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, core_kernel, ppx_jane
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-async_kernel-113.33.00";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/async_kernel-113.33.00.tar.gz;
-    sha256 = "1kkkqpdd3mq9jh3b3l1yk37841973lh6g3pfv8fcjzif4n7myf15";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
-  propagatedBuildInputs = [ core_kernel ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/async_unix-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/async_unix-113_33_00.nix
deleted file mode 100644
index 595e1198de5..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/async_unix-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, async_kernel, core, ppx_jane
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-async_unix-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/async_unix-113.33.00+4.03.tar.gz;
-    sha256 = "12b0ffq9yhv3f49kk2k7z7hrn2j4xlka7knm99hczl6gmjni7nqv";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
-  propagatedBuildInputs = [ async_kernel core ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/core-113_33_02.nix b/pkgs/development/ocaml-modules/janestreet/core-113_33_02.nix
deleted file mode 100644
index 48bafd5c3c5..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/core-113_33_02.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_jane, core_kernel
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-core-113.33.02+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/core-113.33.02+4.03.tar.gz;
-    sha256 = "1gvd5saa0sdgyv9w09imqlkw0c21v2ixic8fxx14jxrwck0zn4bc";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
-  propagatedBuildInputs = [ core_kernel ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/core_kernel-113_33_01.nix b/pkgs/development/ocaml-modules/janestreet/core_kernel-113_33_01.nix
deleted file mode 100644
index d6da9caed7d..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/core_kernel-113_33_01.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ppx_jane
-, bin_prot, fieldslib, typerep, variantslib
-, ppx_assert, ppx_bench, ppx_expect, ppx_inline_test
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-core_kernel-113.33.01+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/core_kernel-113.33.01+4.03.tar.gz;
-    sha256 = "0ra2frspqjqk1wbb58lrb0anrgsyhja00zsybka85qy71lblamfs";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_jane ];
-  propagatedBuildInputs = [
-    bin_prot fieldslib typerep variantslib
-    ppx_assert ppx_bench ppx_expect ppx_inline_test
-  ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix
new file mode 100644
index 00000000000..d6acbaa7142
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/default.nix
@@ -0,0 +1,600 @@
+{ stdenv, lib, janePackage, ocamlbuild, cryptokit, ctypes, magic-mime,
+  ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith,
+  openssl }:
+
+rec {
+
+  # Jane Street packages, up to ppx_core
+
+  sexplib = janePackage {
+    name = "sexplib";
+    version = "0.9.1";
+    hash = "087md38l73lp24j2lmwi053jjav00k11r06s6whmff1xlhj70wdj";
+    meta.description = "Automated S-expression conversion";
+  };
+
+  base = janePackage {
+    name = "base";
+    version = "0.9.1";
+    hash = "09gj30zyv23gv3gkf2pb3d3ywmkgd74dq8sfaps5xarr3grvndhm";
+    propagatedBuildInputs = [ sexplib ];
+    meta.description = "Full standard library replacement for OCaml";
+  };
+
+  ocaml-compiler-libs = janePackage {
+    name = "ocaml-compiler-libs";
+    hash = "1jz3nfrb6295sj4xj1j0zld8mhfj0xy2k4vlp9yf9sh3748n090l";
+    meta.description = "OCaml compiler libraries repackaged";
+  };
+
+  ppx_ast = janePackage {
+    name = "ppx_ast";
+    hash = "0p9v4q3cjz8wwdrh6bjidani2npzvhdy8isnqwigqkl6n326dba9";
+    propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
+    meta.description = "OCaml AST used by Jane Street ppx rewriters";
+  };
+
+  ppx_traverse_builtins = janePackage {
+    name = "ppx_traverse_builtins";
+    hash = "10ajvz02ka6qimlfrq7py4ljhk8awqkga6240kn8j046b4xfyxzi";
+    meta.description = "Builtins for Ppx_traverse";
+  };
+
+  stdio = janePackage {
+    name = "stdio";
+    hash = "1c08jg930j7yxn0sjvlm3fs2fvwaf15sn9513yf1rb7y1lxrgwc4";
+    propagatedBuildInputs = [ base ];
+    meta.description = "Standard IO library for OCaml";
+  };
+
+  ppx_core = janePackage {
+    name = "ppx_core";
+    hash = "15400zxxkqdimmjpdjcs36gcbxbrhylmaczlzwd6x65v1h9aydz3";
+    propagatedBuildInputs = [ ppx_ast ppx_traverse_builtins stdio ];
+    meta.description = "Jane Street's standard library for ppx rewriters";
+  };
+
+  # Jane Street packages, up to ppx_base
+
+  ppx_optcomp = janePackage {
+    name = "ppx_optcomp";
+    hash = "1wfj6fnh92s81yncq7yyhmax7j6zpjj1sg1f3qa1f9c5kf4kkzrd";
+    propagatedBuildInputs = [ ppx_core ];
+    meta.description = "Optional compilation for OCaml";
+  };
+
+  ppx_driver = janePackage {
+    name = "ppx_driver";
+    hash = "1w3khwnvy18nkh673zrbhcs6051hs7z5z5dib7npkvpxndw22hwj";
+    buildInputs = [ ocamlbuild ];
+    propagatedBuildInputs = [ ppx_optcomp ];
+    meta.description = "Feature-full driver for OCaml AST transformers";
+  };
+
+  ppx_metaquot = janePackage {
+    name = "ppx_metaquot";
+    hash = "15qfd3s4x2pz006nx5316laxd3gqqi472x432qg4rfx4yh3vn31k";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "Metaquotations for ppx_ast";
+  };
+
+  ppx_type_conv = janePackage {
+    name = "ppx_type_conv";
+    hash = "0a0gxjvjiql9vg37k0akn8xr5724nv3xb7v37xpidv7ld927ks7p";
+    propagatedBuildInputs = [ ppx_metaquot ppx_deriving ];
+    meta.description = "Support Library for type-driven code generators";
+  };
+
+  ppx_sexp_conv = janePackage {
+    name = "ppx_sexp_conv";
+    hash = "03cg2sym0wvpd5l7q4w9bclp589z5byygwsmnnq9h1ih56cmd55l";
+    propagatedBuildInputs = [ ppx_type_conv sexplib ];
+    meta.description = "Generation of S-expression conversion functions from type definitions";
+  };
+
+  ppx_compare = janePackage {
+    name = "ppx_compare";
+    hash = "0wrszpvn1nms5sb5rb29p7z1wmqyd15gfzdj4ax8f843p5ywx3w9";
+    propagatedBuildInputs = [ ppx_type_conv ];
+    meta.description = "Generation of comparison functions from types";
+  };
+
+  ppx_enumerate = janePackage {
+    name = "ppx_enumerate";
+    hash = "1dfy86j2z12p5n9yrwaakx1ngphs5246vxy279kz6i6j34cwxm46";
+    propagatedBuildInputs = [ ppx_type_conv ];
+    meta.description = "Generate a list containing all values of a finite type";
+  };
+
+  ppx_hash = janePackage {
+    name = "ppx_hash";
+    hash = "1w1riy2sqd9i611sc5f5z2rqqgjl2gvvkzi5xibpv309nacnl01d";
+    propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
+    meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
+  };
+
+  ppx_js_style = janePackage {
+    name = "ppx_js_style";
+    hash = "09k02b1l2r7svf9l3ls69h8xydsyiang2ziigxnny2i7gy7b0w59";
+    propagatedBuildInputs = [ ppx_metaquot octavius ];
+    meta.description = "Code style checker for Jane Street Packages";
+  };
+
+  ppx_base = janePackage {
+    name = "ppx_base";
+    hash = "0qikfzbkd2wyxfrvizz6rgi6vg4ykvxkivacj4gr178dbgfl5if3";
+    propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
+    meta.description = "Base set of ppx rewriters";
+  };
+
+  # Jane Street packages, up to ppx_bin_prot
+
+  fieldslib = janePackage {
+    name = "fieldslib";
+    hash = "1wxh59888l1bfz9ipnbcas58gwg744icaixzdbsg4v8f7wymc501";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "OCaml record fields as first class values";
+  };
+
+  variantslib = janePackage {
+    name = "variantslib";
+    hash = "0kj53n62193j58q9vip8lfhhyf6w9d25wyvxzc163hx5m68yw0fz";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "OCaml variants as first class values";
+  };
+
+  ppx_traverse = janePackage {
+    name = "ppx_traverse";
+    hash = "1sdqgwyq0w71i03vhc5jq4jk6rsbgwhvain48fnrllpkb5kj2la2";
+    propagatedBuildInputs = [ ppx_type_conv ];
+    meta.description = "Automatic generation of open recursion classes";
+  };
+
+  ppx_custom_printf = janePackage {
+    name = "ppx_custom_printf";
+    hash = "0cjy2c2c5g3qxqvwx1yb6p7kbmmpnpb1hll55f7a44x215lg8x19";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_traverse ];
+    meta.description = "Printf-style format-strings for user-defined string conversion";
+  };
+
+  ppx_fields_conv = janePackage {
+    name = "ppx_fields_conv";
+    hash = "0qp8zgmk58iskzrkf4g06i471kg6lrh3wqpy9klrb8pp9mg0xr9z";
+    propagatedBuildInputs = [ fieldslib ppx_type_conv ];
+    meta.description = "Generation of accessor and iteration functions for OCaml records";
+  };
+
+  ppx_variants_conv = janePackage {
+    name = "ppx_variants_conv";
+    hash = "1xayhyglgbdjqvb9123kjbwjcv0a3n3302nb0j7g8gmja8w5y834";
+    propagatedBuildInputs = [ ppx_type_conv variantslib ];
+    meta.description = "Generation of accessor and iteration functions for OCaml variant types";
+  };
+
+  bin_prot = janePackage {
+    name = "bin_prot";
+    hash = "0cy6lhksx4jypkrnj3ha31p97ghslki0bx5rpnzc2v28mfp6pzh1";
+    propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
+    meta.description = "Binary protocol generator";
+  };
+
+  ppx_here = janePackage {
+    name = "ppx_here";
+    hash = "0pjscw5ydxgy4fcxakgsazpp09ka057w5n2fp2dpkv2k5gil6rzh";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "Expands [%here] into its location";
+  };
+
+  ppx_bin_prot = janePackage {
+    name = "ppx_bin_prot";
+    hash = "0qw9zqrc5yngzrzpk9awnlnd68xrb7wz5lq807c80ibxk0xvnqn3";
+    propagatedBuildInputs = [ ppx_here bin_prot ];
+    meta.description = "Generation of bin_prot readers and writers from types";
+  };
+
+  # Jane Street packages, up to ppx_jane
+
+  ppx_assert = janePackage {
+    name = "ppx_assert";
+    hash = "1s5c75wkc46nlcwmgic5h7f439s26ssrzrcil501c5kpib2hlv6z";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_here ppx_compare ];
+    meta.description = "Assert-like extension nodes that raise useful errors on failure";
+  };
+
+  ppx_inline_test = janePackage {
+    name = "ppx_inline_test";
+    hash = "01xml88ahrzqnc7g1ib184jbqxpdfx4gn2wdvi09dpi4i0jahy33";
+    propagatedBuildInputs = [ ppx_metaquot ];
+    meta.description = "Syntax extension for writing in-line tests in OCaml code";
+  };
+
+  typerep = janePackage {
+    name = "typerep";
+    hash = "0hlc0xiznli1k6azv2mhm1s4xghhxqqd957np7828bfp7r8n2jy3";
+    propagatedBuildInputs = [ base ];
+    meta.description = "Runtime types for OCaml";
+  };
+
+  ppx_bench = janePackage {
+    name = "ppx_bench";
+    hash = "1qk4y6c2mpw7bqjppi2nam74vs2sc89wzq162j92wsqxyqsv4p93";
+    propagatedBuildInputs = [ ppx_inline_test ];
+    meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
+  };
+
+  ppx_expect = janePackage {
+    name = "ppx_expect";
+    hash = "1bik53k51wcqv088f0h10n3ms9h51yvg6ha3g1s903i2bxr3xs6b";
+    propagatedBuildInputs = [ ppx_inline_test ppx_fields_conv ppx_custom_printf ppx_assert ppx_variants_conv re ];
+    meta.description = "Cram like framework for OCaml";
+  };
+
+  ppx_fail = janePackage {
+    name = "ppx_fail";
+    hash = "0qz0vlazasjyg7cv3iwpzxlvsah3zmn9dzd029xxqr1bji067s32";
+    propagatedBuildInputs = [ ppx_here ppx_metaquot ];
+    meta.description = "Add location to calls to failwiths";
+  };
+
+  ppx_let = janePackage {
+    name = "ppx_let";
+    hash = "1b914a5nynwxjvfx42v61yigvjhnd548m4yqjfchf38dmqi1f4nr";
+    propagatedBuildInputs = [ ppx_driver ];
+    meta.description = "Monadic let-bindings";
+  };
+
+  ppx_optional = janePackage {
+    name = "ppx_optional";
+    hash = "1vknsarxba0zcp5k2jb31wfpvqrv3bpanxbahfl5s2fwspsfdc82";
+    propagatedBuildInputs = [ ppx_metaquot ];
+    meta.description = "Pattern matching on flat options";
+  };
+
+  ppx_pipebang = janePackage {
+    name = "ppx_pipebang";
+    hash = "1wyfyyjvyi94ds1p90l60wdr85q2v3fq1qdf3gnv9zjfy6sb0g9h";
+    propagatedBuildInputs = [ ppx_metaquot ];
+    meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
+  };
+
+  ppx_sexp_message = janePackage {
+    name = "ppx_sexp_message";
+    hash = "0r0skyr1zf2jh48xrxbs45gzywynhlivkq24xwc0qq435fmc2jqv";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
+    meta.declarations = "A ppx rewriter for easy construction of s-expressions";
+  };
+
+  ppx_sexp_value = janePackage {
+    name = "ppx_sexp_value";
+    hash = "0hha5mmx700m8fy9g4znb8278l09chgwlpshny83vsmmzgq2jhah";
+    propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
+    meta.declarations = "A ppx rewriter that simplifies building s-expressions from OCaml values";
+  };
+
+  ppx_typerep_conv = janePackage {
+    name = "ppx_typerep_conv";
+    hash = "0bzgfpbqijwxm8x9jq1zb4xi5sbzymk17lw5rylri3hf84p60aq1";
+    propagatedBuildInputs = [ ppx_type_conv typerep ];
+    meta.description = "Generation of runtime types from type declarations";
+  };
+
+  ppx_jane = janePackage {
+    name = "ppx_jane";
+    hash = "16m5iw0qyp452nqj83kd0g0x3rw40lrz7392hwpd4di1wi6v2qzc";
+    propagatedBuildInputs = [ ppx_base ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_let ppx_optional ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv ];
+    meta.description = "Standard Jane Street ppx rewriters";
+  };
+
+  # Jane Street packages, up to core
+
+  configurator = janePackage {
+    name = "configurator";
+    hash = "1ll90pnprc5nah621ckvqi1gwagvglzx2mzjpkppddw1kr320w80";
+    propagatedBuildInputs = [ ppx_base ];
+    meta.description = "Helper library for gathering system configuration";
+  };
+
+  jane-street-headers = janePackage {
+    name = "jane-street-headers";
+    hash = "0cdab6sblsidjbwvyvmspykyhqh44rpsjzi2djbfd5m4vh2h14gy";
+    meta.description = "Jane Street header files";
+  };
+
+  core_kernel = janePackage {
+    name = "core_kernel";
+    hash = "05iwvggx9m81x7ijgv9gcv5znf5rmsmb76dg909bm9gkr3hbh7wh";
+    propagatedBuildInputs = [ configurator jane-street-headers ppx_jane ];
+    meta.description = "Jane Street's standard library overlay (kernel)";
+  };
+
+  spawn = janePackage {
+    name = "spawn";
+    hash = "1w53b8ni06ajj62yaqjy0pkbm952l0m5fzr088yk15078qaxsnb5";
+    meta.description = "Spawning sub-processes";
+  };
+
+  core = janePackage {
+    name = "core";
+    hash = "0x05ky8l75k2dnpsa02vmqcr7p7q0vvc6279psq3iybrwcvab9yi";
+    propagatedBuildInputs = [ core_kernel spawn ];
+    meta.description = "Jane Street's standard library overlay";
+  };
+
+  # Jane Street packages, up to core_extended
+
+  re2 = janePackage {
+    name = "re2";
+    hash = "1qmhl3yd6y0lq401rz72b1bsbpglb0wighpxn3x8y1ixq415p4xi";
+    propagatedBuildInputs = [ core_kernel ];
+    meta = {
+      description = "OCaml bindings for RE2";
+      broken = stdenv.isDarwin;
+    };
+  };
+
+  textutils = janePackage {
+    name = "textutils";
+    hash = "1y6j2qw7rc8d80343lfv1dygnfrhn2qllz57mx28pl5kan743f6d";
+    propagatedBuildInputs = [ core ];
+    meta.description = "Text output utilities";
+  };
+
+  core_extended = janePackage {
+    name = "core_extended";
+    hash = "05cnzzj0kigz9c9gsmd6mfar82wmkbqm9qzrydb80sy2fz5b30rk";
+    propagatedBuildInputs = [ core re2 textutils ];
+    postPatch = ''
+      patchShebangs src/discover.sh
+    '';
+    meta = {
+      description = "Jane Street Capital's standard library overlay";
+    };
+  };
+
+  # Jane Street async packages
+
+  async_kernel = janePackage {
+    name = "async_kernel";
+    hash = "1zwxhzy7f9900rcjls2fql9cpfmwrcah3fazzdz4h2i51f41w62x";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Jane Street Capital's asynchronous execution library (core)";
+  };
+
+  async_rpc_kernel = janePackage {
+    name = "async_rpc_kernel";
+    hash = "1xk3s6s3xkj182p10kig2cqy8md6znif3v661h9cd02n8s57c40b";
+    propagatedBuildInputs = [ core_kernel async_kernel ];
+    meta.description = "Platform-independent core of Async RPC library";
+  };
+
+  async_unix = janePackage {
+    name = "async_unix";
+    hash = "0yd4z28j5vdj2zxqi0fkgh2ic1s9h740is2dk0raga0zr5a1z03d";
+    propagatedBuildInputs = [ core async_kernel ];
+    meta.description = "Jane Street Capital's asynchronous execution library (unix)";
+  };
+
+  async_extra = janePackage {
+    name = "async_extra";
+    hash = "0rpy5lc5dh5mir7flq1jrppd8imby8wyw191yg4nmklg28xp5sx0";
+    propagatedBuildInputs = [ async_rpc_kernel async_unix ];
+    meta.description = "Jane Street's asynchronous execution library (extra)";
+  };
+
+  async = janePackage {
+    name = "async";
+    hash = "10ykzym19srgdiikj0s74dndx5nk15hjq1r2hc61iz48f6caxkb1";
+    propagatedBuildInputs = [ async_extra ];
+    meta.description = "Jane Street Capital's asynchronous execution library";
+  };
+
+  async_find = janePackage {
+    name = "async_find";
+    hash = "11dmhdzgf5kn4m0cm6zr28wpwhi2kr4lak9nmgxbrxsq28bcncxq";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Directory traversal with Async";
+  };
+
+  async_interactive = janePackage {
+    name = "async_interactive";
+    hash = "1mmqqp6bi2wg7bmgf0sw34jn3iyl5kbm200dax8yqq6rfprcs49j";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Utilities for building simple command-line based user interfaces";
+  };
+
+  async_parallel = janePackage {
+    name = "async_parallel";
+    hash = "0mdprhr1pv4g65g10gr3gaifrzknsdgarwfdbjlvhzfs86075kyn";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Distributed computing library";
+  };
+
+  async_shell = janePackage {
+    name = "async_shell";
+    hash = "02clpz3xv3i5avzifwalylb9gfxzpgnr8bnlfsjixxfk2m7kvsj2";
+    propagatedBuildInputs = [ core_extended async ];
+    meta = {
+      description = "Shell helpers for Async";
+    };
+  };
+
+  async_ssl = janePackage {
+    name = "async_ssl";
+    hash = "01w3bg38q61lc3hfh8jsr0sy1ylyv0m6g6h9yvsk8ngj6qk70nss";
+    propagatedBuildInputs = [ async ctypes openssl ];
+    meta.description = "Async wrappers for SSL";
+  };
+
+  # Jane Street packages, up to expect_test_helpers
+
+  sexp_pretty = janePackage {
+    name = "sexp_pretty";
+    hash = "1bx8va468j5b813m0vsh1jzgb6h2qnnjfmjlf2hb82sarv8lllfx";
+    propagatedBuildInputs = [ ppx_base re ];
+    meta.description = "S-expression pretty-printer";
+  };
+
+  expect_test_helpers_kernel = janePackage {
+    name = "expect_test_helpers_kernel";
+    hash = "1ycqir8sqgq5nialnrfg29nqn0cqg6jjpgv24drdycdhqf5r2zg6";
+    propagatedBuildInputs = [ core_kernel sexp_pretty ];
+    meta.description = "Helpers for writing expectation tests";
+  };
+
+  expect_test_helpers = janePackage {
+    name = "expect_test_helpers";
+    hash = "0rsh6rwbqfcrqisk8jp7srlnicsadbzrs02ri6zyx0p3lmznw5r2";
+    propagatedBuildInputs = [ async expect_test_helpers_kernel ];
+    meta.description = "Async helpers for writing expectation tests";
+  };
+
+  # Miscellaneous Jane Street packages
+
+  bignum = janePackage {
+    name = "bignum";
+    hash = "0g80mzsi7vc1kq4mzha8y9nl95h6cd041vix3wjrqgkdvb1qd4f3";
+    propagatedBuildInputs = [ core_kernel zarith ];
+    meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
+  };
+
+  cinaps = janePackage {
+    name = "cinaps";
+    hash = "02fpjiwrygkpx2q4jfldhbqh0mqxmf955wizr8k4vmsq4wsis0p5";
+    propagatedBuildInputs = [ re ];
+    meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
+  };
+
+  command_rpc = janePackage {
+    name = "command_rpc";
+    hash = "0w58z9jkz5qzbvf33wrzhfshzdvnrphj6dq8dmi52ykhfvxm7824";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
+  };
+
+  core_bench = janePackage {
+    name = "core_bench";
+    hash = "1m2q7217nmcsck29i59djkm0h6z3aj0i01niijzr5f6ilbnmyd3h";
+    propagatedBuildInputs = [ core_extended ];
+    meta = {
+      description = "Micro-benchmarking library for OCaml";
+    };
+  };
+
+  core_profiler = janePackage {
+    name = "core_profiler";
+    hash = "1ir2v3wdfbf5xzqcma16asc73mkx2q6dzq5y1bx6q1rpa7iznx44";
+    propagatedBuildInputs = [ core_extended ];
+    meta = {
+      description = "Profiling library";
+    };
+  };
+
+  csvfields = janePackage {
+    name = "csvfields";
+    hash = "0lbvs1kwl22ryxhw6s089f6683hj2920bn518mvr22rnv7qijy0v";
+    propagatedBuildInputs = [ core ];
+    meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
+  };
+
+  ecaml = janePackage {
+    name = "ecaml";
+    hash = "1a2534bzbwgpm71aj3sm71sm0lkcjdfjj1mk91p1pg9kxn8c5x4i";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Writing Emacs plugin in OCaml";
+  };
+
+  email_message = janePackage {
+    name = "email_message";
+    hash = "0cpaf6wn5g883bxdz029bksvrfzih99m7hzbb30fhqglmpmmkniz";
+    propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ];
+    meta = {
+      description = "E-mail message parser";
+    };
+  };
+
+  incremental_kernel = janePackage {
+    name = "incremental_kernel";
+    hash = "0zq48wbgqcflh84n10iygi8aa3f0zzmgc7r0jwvsyg7i8zccgvf5";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Library for incremental computations depending only on core_kernel";
+  };
+
+  incremental = janePackage {
+    name = "incremental";
+    hash = "05sx8ia46v4dlvzcn7xgjcwxvbd0wmvv9r2bpvniapjnwr1nvcfh";
+    propagatedBuildInputs = [ core incremental_kernel ];
+    meta.description = "Library for incremental computations";
+  };
+
+  incr_map = janePackage {
+    name = "incr_map";
+    hash = "0358qg9irxbbhn18laqww3mn43mdwvlbr0h2mvg3vdbb2c5jp4fv";
+    propagatedBuildInputs = [ incremental_kernel ];
+    meta.description = "Helpers for incremental operations on map like data structures";
+  };
+
+  ocaml_plugin = janePackage {
+    name = "ocaml_plugin";
+    hash = "0q33swnlx9p1gcn1aj95501kapb7cnbzbsavid69csczwmzcxr14";
+    buildInputs = [ ocamlbuild ];
+    propagatedBuildInputs = [ async ];
+    meta.description = "Automatically build and dynlink ocaml source files";
+  };
+
+  parsexp = janePackage {
+    name = "parsexp";
+    hash = "0brrifvnfqbfk873v6y5b2jixs2d73hpispj9r440kca5cfsv23b";
+    propagatedBuildInputs = [ ppx_compare ppx_fields_conv ppx_js_style ppx_sexp_value ];
+    meta.description = "S-expression parsing library";
+  };
+
+  parsexp_io = janePackage {
+    name = "parsexp_io";
+    hash = "0gcmh4dg48xgszladq92yhk1hf492zf0smz462xrwknzlfdkz6a5";
+    propagatedBuildInputs = [ parsexp ];
+    meta.description = "S-expression parsing library (IO functions)";
+  };
+
+  patience_diff = janePackage {
+    name = "patience_diff";
+    hash = "0vpx9xj1ich5qmj3m26vlmix3nsdj7pd1xzhqwbc7ad2kqwy3grg";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Tool and library implementing patience diff";
+  };
+
+  posixat = janePackage {
+    name = "posixat";
+    hash = "0ak93dyzi6sc6gb0j07fj85b24d8bv6g2hm7jj5xwb39kjwh51jl";
+    propagatedBuildInputs = [ ppx_sexp_conv ];
+    meta.description = "Binding to the posix *at functions";
+  };
+
+  rpc_parallel = janePackage {
+    name = "rpc_parallel";
+    hash = "0s72msl2p27bz0knjlpgy5qwp0w4z76cq801ps0sab35f8jjfs38";
+    propagatedBuildInputs = [ async ];
+    meta.description = "Type-safe library for building parallel applications";
+  };
+
+  shexp = janePackage {
+    name = "shexp";
+    hash = "1fkz4l9z4i0fz2kccd5blm2j9x2x4z6y1cn29wjmc3spqfxbq37y";
+    propagatedBuildInputs = [ posixat spawn ];
+    meta.description = "Process library and s-expression based shell";
+  };
+
+  topological_sort = janePackage {
+    name = "topological_sort";
+    hash = "1d64fyq0clsgham9p1f5rk01z8pxalglp92xmqw2iznyw0vxhvsy";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Topological sort algorithm";
+  };
+
+  typerep_extended = janePackage {
+    name = "typerep_extended";
+    hash = "15gq8mrvlipd616rffr3f0wqw5d0ijnnizix610g2d5viirh0j9p";
+    propagatedBuildInputs = [ core_kernel ];
+    meta.description = "Runtime types for OCaml (Extended)";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage.nix b/pkgs/development/ocaml-modules/janestreet/janePackage.nix
new file mode 100644
index 00000000000..6d6a4d71442
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/janePackage.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, ocaml, jbuilder, findlib }:
+
+{ name, version ? "0.9.0", buildInputs ? [], hash, meta, ...}@args:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.03"
+then throw "${name}-${version} is not available for OCaml ${ocaml.version}" else
+
+stdenv.mkDerivation (args // {
+  name = "ocaml${ocaml.version}-${name}-${version}";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "janestreet";
+    repo = name;
+    rev = "v${version}";
+    sha256 = hash;
+  };
+
+  buildInputs = [ ocaml jbuilder findlib ] ++ buildInputs;
+
+  inherit (jbuilder) installPhase;
+
+  meta = {
+    license = stdenv.lib.licenses.asl20;
+    inherit (ocaml.meta) platforms;
+    homepage = "https://github.com/janestreet/${name}";
+  } // meta;
+})
diff --git a/pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix b/pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix
deleted file mode 100644
index 7d7e44ab9cc..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
-
-stdenv.mkDerivation {
-	name = "ocaml${ocaml.version}-ocaml-compiler-libs-0.9.0"; 
-	src = fetchurl {
-		url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ocaml-compiler-libs-v0.9.0.tar.gz;
-		sha256 = "0ipi56vg227924ahi9vv926jn16br9zfipm6a3xd4xrl5pxkvzaz";
-	};
-
-	buildInputs = [ ocaml jbuilder findlib ];
-
-	inherit (jbuilder) installPhase;
-
-	meta = {
-		description = "OCaml compiler libraries repackaged";
-		homepage = https://github.com/janestreet/ocaml-compiler-libs;
-		license = stdenv.lib.licenses.asl20;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (ocaml.meta) platforms;
-	};
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_ast.nix b/pkgs/development/ocaml-modules/janestreet/ppx_ast.nix
deleted file mode 100644
index 33f1766cb4a..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_ast.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, ocaml, jbuilder, findlib
-, ocaml-compiler-libs, ocaml-migrate-parsetree
-}:
-
-stdenv.mkDerivation {
-	name = "ocaml${ocaml.version}-ppx_ast-0.9.0";
-	src = fetchurl {
-		url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ppx_ast-v0.9.0.tar.gz;
-		sha256 = "1hirfmxr8hkf3p39k1pqidabxxhd541d6ddfaqpgxbl51bw9ddmz";
-	};
-
-	buildInputs = [ ocaml jbuilder findlib ];
-	propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
-
-	inherit (jbuilder) installPhase;
-
-	meta = {
-		description = "OCaml AST used by Jane Street ppx rewriters";
-		homepage = https://github.com/janestreet/ppx_ast;
-		license = stdenv.lib.licenses.asl20;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (ocaml.meta) platforms;
-	};
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_bench-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_bench-113_33_00.nix
deleted file mode 100644
index 3414324a5c8..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_bench-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools, ppx_inline_test
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_bench-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_bench-113.33.00+4.03.tar.gz;
-    sha256 = "00iv0p3cni4r7iimwm04bjg2hzvlvdb0b1kynjw2xav64xc29q01";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_inline_test ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_bin_prot-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_bin_prot-113_33_00.nix
deleted file mode 100644
index 43517a82d3b..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_bin_prot-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, bin_prot, ppx_deriving, ppx_tools, ppx_type_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_bin_prot-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_bin_prot-113.33.00+4.03.tar.gz;
-    sha256 = "1xw1yjgnd5ny1cq0n6rbsdaywyzq2n0jwg4gjsxv14dhv0alav36";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ bin_prot ppx_deriving ppx_type_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_compare-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_compare-113_33_00.nix
deleted file mode 100644
index 79457040202..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_compare-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools, ppx_deriving, ppx_type_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_compare-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_compare-113.33.00+4.03.tar.gz;
-    sha256 = "07drgg6c857lsvxdjscdcb1ncdr5p3183spw32sbfcrbnr12nzys";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_type_conv ppx_deriving ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_core-113_33_01.nix b/pkgs/development/ocaml-modules/janestreet/ppx_core-113_33_01.nix
deleted file mode 100644
index 71bc62937d4..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_core-113_33_01.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_core-133.33.01+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_core-113.33.01+4.03.tar.gz;
-    sha256 = "0ibww4lx87lmn164mxczl3sa7ldwc7g1zi4m9c4vllsv004iyffl";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_custom_printf-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_custom_printf-113_33_00.nix
deleted file mode 100644
index d75c7f81128..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_custom_printf-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_sexp_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_custom_printf-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_custom_printf-113.33.00+4.03.tar.gz;
-    sha256 = "1hw8q4x0hzyg3brlqpdm0bc7z6lnj6qymzw123cf51q9dq0386jb";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ ppx_sexp_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_enumerate-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_enumerate-113_33_00.nix
deleted file mode 100644
index 77fde21e8d7..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_enumerate-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools, ppx_deriving, ppx_type_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_enumerate-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_enumerate-113.33.00+4.03.tar.gz;
-    sha256 = "0b0kvdw6kids4yrzqq2h82gmnx1zfiahr82rrdbwiwkk4g0pxl93";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_deriving ppx_type_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_expect-113_33_01.nix b/pkgs/development/ocaml-modules/janestreet/ppx_expect-113_33_01.nix
deleted file mode 100644
index 32133dfb689..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_expect-113_33_01.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_driver, ppx_assert, ppx_custom_printf, ppx_inline_test
-, ppx_fields_conv, ppx_variants_conv, re, sexplib, fieldslib
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_expect-113.33.01+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_expect-113.33.01+4.03.tar.gz;
-    sha256 = "1r358vx3wnkzq8kwgi49400l1fx2bnl6gds4hl7s67lxsqxki2z7";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_assert ppx_custom_printf ppx_fields_conv ppx_variants_conv re ];
-  propagatedBuildInputs = [ ppx_driver ppx_inline_test fieldslib sexplib ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_fail-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_fail-113_33_00.nix
deleted file mode 100644
index ba098b9294f..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_fail-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools, ppx_here
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_fail-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_fail-113.33.00+4.03.tar.gz;
-    sha256 = "1fy1aqsylf6yk527w13rm2b20il9vy026c5ww65pj3ks5zykfvx9";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_here ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_fields_conv-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_fields_conv-113_33_00.nix
deleted file mode 100644
index 70d6ec61b0e..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_fields_conv-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, fieldslib, ppx_deriving, ppx_type_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_fields_conv-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_fields_conv-113.33.00+4.03.tar.gz;
-    sha256 = "1wfi8pc0y7wjiscvawhfgbcfx7ypmikmyyagwhzw7jhnldljwrkg";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ fieldslib ppx_deriving ppx_type_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_inline_test-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_inline_test-113_33_00.nix
deleted file mode 100644
index 7b9414353a9..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_inline_test-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools, ppx_driver
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_inline_test-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_inline_test-113.33.00+4.03.tar.gz;
-    sha256 = "1sw71wnwznia1spicilj4bzspgdk1dhp0j4hp57a9xmsscg44i4k";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_driver ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_jane-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_jane-113_33_00.nix
deleted file mode 100644
index 0a5b19051fc..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_jane-113_33_00.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_assert, ppx_bench, ppx_bin_prot, ppx_custom_printf, ppx_enumerate, ppx_expect, ppx_fail, ppx_fields_conv, ppx_let, ppx_pipebang, ppx_sexp_message, ppx_sexp_value, ppx_typerep_conv, ppx_variants_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_jane-113.33.00";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_jane-113.33.00.tar.gz;
-    sha256 = "15lbrc9jj83k208gv7knz7mk9xh9mdb657jdjb1006gdsskfmra6";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ ppx_assert ppx_bench ppx_bin_prot
-    ppx_custom_printf ppx_enumerate ppx_expect ppx_fail ppx_fields_conv
-    ppx_let ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv
-    ppx_variants_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_let-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_let-113_33_00.nix
deleted file mode 100644
index b5f0bd4c932..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_let-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_driver
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_let-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_let-113.33.00+4.03.tar.gz;
-    sha256 = "012yzayknm9qv8ap9rbwf4fwnmx935mfy7c75ifagbnfl4lh7dmp";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ ppx_driver ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_optcomp-113_33_01.nix b/pkgs/development/ocaml-modules/janestreet/ppx_optcomp-113_33_01.nix
deleted file mode 100644
index 05e7f40eb68..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_optcomp-113_33_01.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, opam, topkg, oasis
-, ppx_core, ppx_tools
-}:
-
-let
-  param = {
-    "4.03" = {
-      version = "113.33.00+4.03";
-      sha256 = "1fkz6n40l4ck8bcr548d2yp08zc9fjv42zldlh0cj3ammhiz3gap";
-    };
-    "4.04" = {
-      version = "113.33.01+4.03";
-      sha256 = "1caw5dfgh5rw8mcgar0hdn485j1rqlnkbfb8wd0wdl5zhkg8jk3d";
-    };
-  }."${ocaml.meta.branch}";
-in
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_optcomp-${param.version}";
-  src = fetchzip {
-    url = "http://github.com/janestreet/ppx_optcomp/archive/${param.version}.tar.gz";
-    inherit (param) sha256;
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam oasis ppx_tools ];
-  propagatedBuildInputs = [ ppx_core ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_pipebang-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_pipebang-113_33_00.nix
deleted file mode 100644
index 5aa589e250c..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_pipebang-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_tools, ppx_driver
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_pipebang-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_pipebang-113.33.00+4.03.tar.gz;
-    sha256 = "1rjrpbncy8vzwnmc5n0qs4dd40dmg4h75dvd7h7lm8cpxalifivc";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_driver ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_sexp_conv-113_33_01.nix b/pkgs/development/ocaml-modules/janestreet/ppx_sexp_conv-113_33_01.nix
deleted file mode 100644
index d8c9166585e..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_sexp_conv-113_33_01.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, sexplib, ppx_deriving, ppx_tools, ppx_type_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_sexp_conv-133.33.01+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_conv-113.33.01+4.03.tar.gz;
-    sha256 = "176pydk5fs8m2md9v8v5b16gra90s4v0ssqq38ghfsbv1faca8d6";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ sexplib ppx_deriving ppx_type_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_sexp_message-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_sexp_message-113_33_00.nix
deleted file mode 100644
index ddf66364b30..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_sexp_message-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_sexp_conv, ppx_here
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_sexp_message-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_message-113.33.00+4.03.tar.gz;
-    sha256 = "01vrm8dk413gh19i2y6ffpsmscjhayp3asn5hcbcflxsvlaf4klx";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_sexp_value-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_sexp_value-113_33_00.nix
deleted file mode 100644
index 21b67b9cce7..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_sexp_value-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_here, ppx_sexp_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_sexp_value-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_value-113.33.00+4.03.tar.gz;
-    sha256 = "0pn2v1m479lbdgprv4w9czyv5nim0hz6ailmy1xxlxlhazwbqzwm";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix b/pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix
deleted file mode 100644
index d84983ed634..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
-
-stdenv.mkDerivation {
-	name = "ocaml${ocaml.version}-ppx_traverse_builtins-0.9.0";
-	src = fetchurl {
-		url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ppx_traverse_builtins-v0.9.0.tar.gz;
-		sha256 = "0zmf9kybll0xn8dsj10v260l0zwjyykimqml9rl7xqyjyl1rmnx6";
-	};
-
-	buildInputs = [ ocaml jbuilder findlib ];
-
-	inherit (jbuilder) installPhase;
-
-	meta = {
-		description = "Builtins for Ppx_traverse";
-		homepage = https://github.com/janestreet/ppx_traverse_builtins;
-		license = stdenv.lib.licenses.asl20;
-		inherit (ocaml.meta) platforms;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-	};
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_type_conv-113_33_02.nix b/pkgs/development/ocaml-modules/janestreet/ppx_type_conv-113_33_02.nix
deleted file mode 100644
index 49cfc19321d..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_type_conv-113_33_02.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, ppx_core, ppx_deriving, ppx_driver
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_type_conv-133.33.02+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_type_conv-113.33.02+4.03.tar.gz;
-    sha256 = "0y7hsh152gcj89i6cr3b9kxgdnb2sx8vhaq2bdvbcc9zrirwq4d2";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_deriving ];
-  propagatedBuildInputs = [ ppx_core ppx_driver ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_typerep_conv-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_typerep_conv-113_33_00.nix
deleted file mode 100644
index 69a4ad7e69a..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_typerep_conv-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, typerep, ppx_tools, ppx_type_conv, ppx_deriving
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_typerep_conv-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_typerep_conv-113.33.00+4.03.tar.gz;
-    sha256 = "0k03wp07jvv3zpsm8n5hvskd5iagjvpcpxj9rpj012nia5iqfaj6";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ppx_tools ];
-  propagatedBuildInputs = [ ppx_type_conv typerep ppx_deriving ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_variants_conv-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/ppx_variants_conv-113_33_00.nix
deleted file mode 100644
index fb8a994790c..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/ppx_variants_conv-113_33_00.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
-, variantslib, ppx_deriving, ppx_type_conv
-}:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-ppx_variants_conv-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_variants_conv-113.33.00+4.03.tar.gz;
-    sha256 = "0il0nkdwwsc1ymshj4q9nzw5ixm12ls0jj7z3q16k48bg3z5ibc0";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-  propagatedBuildInputs = [ variantslib ppx_deriving ppx_type_conv ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/janestreet/sexplib-113_33_00.nix b/pkgs/development/ocaml-modules/janestreet/sexplib-113_33_00.nix
deleted file mode 100644
index 4f86f080738..00000000000
--- a/pkgs/development/ocaml-modules/janestreet/sexplib-113_33_00.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg }:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-sexplib-113.33.00+4.03";
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/113.33/files/sexplib-113.33.00+4.03.tar.gz;
-    sha256 = "1dirdrags3z8m80z1vczfnpdfzgcvm2wyy7g61fxdr8h3jgixpl3";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild opam ];
-
-  inherit (topkg) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/mparser/default.nix b/pkgs/development/ocaml-modules/mparser/default.nix
index 6490eeb2f38..9a935cf4a5a 100644
--- a/pkgs/development/ocaml-modules/mparser/default.nix
+++ b/pkgs/development/ocaml-modules/mparser/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchzip, ocaml, findlib, ocamlbuild }:
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-mparser-1.2.1";
+  name = "ocaml${ocaml.version}-mparser-1.2.3";
   src = fetchzip {
-    url = http://github.com/cakeplus/mparser/archive/1.2.1.tar.gz;
-    sha256 = "1g1r3p0inmm5xwh9i5mrc4s414b0j8l13a66hpvwhqcpp6qglfh3";
+    url = http://github.com/cakeplus/mparser/archive/1.2.3.tar.gz;
+    sha256 = "1f8vpagmv0jdm50pxs2xwh2xcmvgaprx4kw871hlml9ahsflxgnw";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild ];
diff --git a/pkgs/development/ocaml-modules/stdio/default.nix b/pkgs/development/ocaml-modules/stdio/default.nix
deleted file mode 100644
index 87382330022..00000000000
--- a/pkgs/development/ocaml-modules/stdio/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, ocaml, jbuilder, findlib, base }:
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-stdio-0.9.0";
-
-  src = fetchurl {
-    url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/stdio-v0.9.0.tar.gz;
-    sha256 = "008b5y03223107gfv8qawdfyjvf5g97l472i5p5v8mp512wr7kj5";
-  };
-
-  buildInputs = [ ocaml jbuilder findlib ];
-  propagatedBuildInputs = [ base ];
-
-  inherit (jbuilder) installPhase;
-
-  meta = {
-    license = stdenv.lib.licenses.asl20;
-    description = "Standard IO library for OCaml";
-    homepage = https://github.com/janestreet/stdio;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/python-modules/3to2/default.nix b/pkgs/development/python-modules/3to2/default.nix
index 4941db3c996..9efcbbfa7d3 100644
--- a/pkgs/development/python-modules/3to2/default.nix
+++ b/pkgs/development/python-modules/3to2/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchurl
+, fetchPypi
 , pytest
 }:
 
@@ -9,8 +9,9 @@ buildPythonPackage rec {
   version = "1.1.1";
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://files.pythonhosted.org/packages/8f/ab/58a363eca982c40e9ee5a7ca439e8ffc5243dde2ae660ba1ffdd4868026b/${pname}-${version}.zip";
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
     sha256 = "fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c";
   };
 
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
new file mode 100644
index 00000000000..5ba7c0d0413
--- /dev/null
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, doit
+, glibcLocales
+, pytest
+, pytestcov
+, pytest-mock
+, pygments
+, pillow
+, dateutil
+, docutils
+, Mako
+, unidecode
+, lxml
+, Yapsy
+, PyRSS2Gen
+, Logbook
+, blinker
+, setuptools
+, natsort
+, requests
+, piexif
+, markdown
+, phpserialize
+, jinja2
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "Nikola";
+  version = "7.8.7";
+
+  # Nix contains only Python 3 supported version of doit, which is a dependency
+  # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
+  # other hand doesn't support Python 3.3). So, just disable Python 2.
+  disabled = !isPy3k;
+
+  buildInputs = [ pytest pytestcov pytest-mock glibcLocales ];
+
+  propagatedBuildInputs = [
+    pygments pillow dateutil docutils Mako unidecode lxml Yapsy PyRSS2Gen
+    Logbook blinker setuptools natsort requests piexif markdown phpserialize
+    jinja2 doit
+  ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d9c77ce9758cc0e848d4c99229a28314e8bd2a590c77c56540fa919fca4d779f";
+  };
+
+  meta = {
+    homepage = "https://getnikola.com/";
+    description = "A modular, fast, simple, static website and blog generator";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/Pmw/default.nix b/pkgs/development/python-modules/Pmw/default.nix
new file mode 100644
index 00000000000..893caa88d67
--- /dev/null
+++ b/pkgs/development/python-modules/Pmw/default.nix
@@ -0,0 +1,24 @@
+{ lib , buildPythonPackage , fetchPypi, tkinter }:
+
+buildPythonPackage rec {
+  pname = "Pmw";
+  version = "2.0.1";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "080iml3868nxniyn56kcwnbghm10j7fw74a5nj0s19sm4zsji78b";
+  };
+
+  propagatedBuildInputs = [ tkinter ];
+
+  # Disable tests due to their xserver requirement
+  doCheck = false;
+
+  meta = {
+    description = "A toolkit for building high-level compound widgets in Python using the Tkinter module";
+    homepage = "http://pmw.sourceforge.net/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ mounium ];
+  };
+}
diff --git a/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix b/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix
index c9ea79bef9a..f8b7a713d08 100644
--- a/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix
+++ b/pkgs/development/python-modules/Theano/theano-with-cuda/default.nix
@@ -1,5 +1,7 @@
 { buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+, future
 , numpy
 , six
 , scipy
@@ -56,7 +58,8 @@ buildPythonPackage rec {
     pycuda
     cudatoolkit
     libgpuarray
-  ] ++ (stdenv.lib.optional (cudnn != null) [ cudnn ]);
+    cudnn
+  ] ++ (stdenv.lib.optional (pythonOlder "3.0") future);
 
   passthru.cudaSupport = true;
 }
diff --git a/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix b/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix
index 6efa945b0e6..90255407002 100644
--- a/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix
+++ b/pkgs/development/python-modules/Theano/theano-without-cuda/default.nix
@@ -12,13 +12,13 @@
 }:
 
 buildPythonPackage rec {
-  name = "Theano-0.8.2";
+  name = "Theano-0.9.0";
 
   disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3");
 
   src = fetchurl {
     url = "mirror://pypi/T/Theano/${name}.tar.gz";
-    sha256 = "7463c8f7ed1a787bf881f36d38a38607150186697e7ce7e78bfb94b7c6af8930";
+    sha256 = "05xwg00da8smkvkh6ywbywqzj8dw7x840jr74wqhdy9icmqncpbl";
   };
 
   #preCheck = ''
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 9d6fe94a262..61edcca4804 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.0.6";
+  version = "2.0.7";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rlhb5wzlyyz0l44r2jxn3m0nh51ifih97dk2y7zfs1m299gwcv6";
+    sha256 = "2c5db863b5531cc059313018e57bc765b0ef1fc96ba799f105ea45d99b1c2d23";
   };
 
   doCheck = !isPy3k;
diff --git a/pkgs/development/python-modules/aiofiles/default.nix b/pkgs/development/python-modules/aiofiles/default.nix
new file mode 100644
index 00000000000..d1c6e279064
--- /dev/null
+++ b/pkgs/development/python-modules/aiofiles/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy33
+, pythonOlder
+, asyncio
+, singledispatch
+}:
+
+buildPythonPackage rec {
+  pname = "aiofiles";
+  version = "0.3.1";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6c4936cea65175277183553dbc27d08b286a24ae5bd86f44fbe485dfcf77a14a";
+  };
+
+  disabled = pythonOlder "3.3";
+
+  propagatedBuildInputs = lib.optionals isPy33 [ asyncio singledispatch ];
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = {
+    description = "File support for asyncio";
+    homepage = https://github.com/Tinche/aiofiles;
+    license = with lib.licenses; [ asl20 ];
+    maintainer = with lib.maintainers; [ fridh ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/alembic/default.nix b/pkgs/development/python-modules/alembic/default.nix
new file mode 100644
index 00000000000..0538e7cf416
--- /dev/null
+++ b/pkgs/development/python-modules/alembic/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, pytest, pytestcov, mock, coverage
+, Mako, sqlalchemy, python-editor, dateutil
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "alembic";
+  version = "0.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0iw6wysm83hycvrycymf9b4mkji47536kl3x7grynfcbyjcvbdm2";
+  };
+
+  buildInputs = [ pytest pytestcov mock coverage ];
+  propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil ];
+
+  meta = with stdenv.lib; {
+    homepage = http://bitbucket.org/zzzeek/alembic;
+    description = "A database migration tool for SQLAlchemy";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/appdirs/default.nix b/pkgs/development/python-modules/appdirs/default.nix
new file mode 100644
index 00000000000..211d51c241d
--- /dev/null
+++ b/pkgs/development/python-modules/appdirs/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "appdirs";
+  version = "1.4.3";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92";
+  };
+
+  meta = {
+    description = "A python module for determining appropriate platform-specific dirs";
+    homepage = http://github.com/ActiveState/appdirs;
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix
new file mode 100644
index 00000000000..cd0cc47d9e7
--- /dev/null
+++ b/pkgs/development/python-modules/argcomplete/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonPackage, fetchPypi, lib,
+  coverage, dicttoxml, flake8, pexpect, prettytable, requests_toolbelt
+}:
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "argcomplete";
+  version = "1.8.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0sslhl1klvh92c8hjsz3y3mmnpcqspcgi49g5cik2rpbfkhcsb3s";
+  };
+
+  doCheck = false; # bash-completion test fails with "compgen: command not found".
+
+  # re-enable if we are able to make testing work
+  # buildInputs = [ coverage flake8 ];
+
+  propagatedBuildInputs = [ dicttoxml pexpect prettytable requests_toolbelt ];
+
+  meta = with lib; {
+    description = "Bash tab completion for argparse";
+    homepage = "https://argcomplete.readthedocs.io";
+    maintainers = [ maintainers.womfoo ];
+    license = [ licenses.asl20 ];
+  };
+}
diff --git a/pkgs/development/python-modules/asgi_ipc/default.nix b/pkgs/development/python-modules/asgi_ipc/default.nix
index 9774433ddc5..e282294ef0c 100644
--- a/pkgs/development/python-modules/asgi_ipc/default.nix
+++ b/pkgs/development/python-modules/asgi_ipc/default.nix
@@ -2,12 +2,13 @@
   asgiref, msgpack, posix_ipc
 }:
 buildPythonPackage rec {
-  name = "asgi_ipc-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
+  pname = "asgi_ipc";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/a/asgi_ipc/${name}.tar.gz";
-    sha256 = "1dm8xvm1z28f421ck1ympxsq2sjm9xb7dla6p8yd2bz6gn6p5h7v";
+    sha256 = "1bae453d771eb92c0ec558b826fc0bce75a2a61bf21187784d4e4dc11710e588";
   };
 
   propagatedBuildInputs = [ asgiref msgpack posix_ipc ];
diff --git a/pkgs/development/python-modules/asgi_redis/default.nix b/pkgs/development/python-modules/asgi_redis/default.nix
index 5576fc0e68b..1ca6f417bd8 100644
--- a/pkgs/development/python-modules/asgi_redis/default.nix
+++ b/pkgs/development/python-modules/asgi_redis/default.nix
@@ -2,12 +2,13 @@
   asgiref, asgi_ipc, msgpack, six, redis, cryptography
 }:
 buildPythonPackage rec {
-  name = "asgi_redis-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
+  pname = "asgi_redis";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/a/asgi_redis/${name}.tar.gz";
-    sha256 = "0zhv51w0fx3i8m0032nk9v00l6mxaswyi95yzy7p7fjww4q74ncl";
+    sha256 = "ec137829a9ebfb0de1c034bc699240c9747b97a3eb2dc4df6c812f82290a0f9f";
   };
 
   # Requires a redis server available
diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix
index 1bd3ef19f7e..1b5112fb335 100644
--- a/pkgs/development/python-modules/asgiref/default.nix
+++ b/pkgs/development/python-modules/asgiref/default.nix
@@ -1,11 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, six }:
 buildPythonPackage rec {
-  name = "asgiref-${version}";
-  version = "1.1.1";
+  version = "1.1.2";
+  pname = "asgiref";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/a/asgiref/${name}.tar.gz";
-    sha256 = "0gayxnysknwg8hxb5kvmi2mmd5dnrhgza23daf8j25w3nj2drars";
+    sha256 = "8b46c3d6e2ad354d9da3cfb9873f9bd46fe1b768fbc11065275ba5430a46700c";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index a690399118d..fd742031d5a 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -1,34 +1,39 @@
-{ stdenv, fetchurl, buildPythonPackage, python, logilab_common, six,
-  lazy-object-proxy, wrapt }:
+{ lib, fetchPypi, buildPythonPackage, python, logilab_common, six
+, lazy-object-proxy, wrapt, singledispatch, enum34, pythonOlder
+, backports_functools_lru_cache
+}:
 
-  buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "astroid";
-    version = "1.4.9";
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "astroid";
+  version = "1.5.3";
 
-    src = fetchurl {
-      url = "mirror://pypi/a/${pname}/${name}.tar.gz";
-      sha256 = "1mw5q20b80j55vbpcdfl824sbb1q15dhkfbczjnnv8733j4yg0x4";
-    };
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35";
+  };
 
-    propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ];
+  propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ]
+    ++ lib.optionals (pythonOlder "3.4") [ enum34 singledispatch]
+    ++ lib.optionals (pythonOlder "3.3") [ backports_functools_lru_cache ];
 
-    postPatch = ''
-      cd astroid/tests
-      for i in $(ls unittest*); do mv -v $i test_$i; done 
-      cd ../..
-      rm -vf astroid/tests/test_unittest_inference.py
-    '';
+  postPatch = ''
+    cd astroid/tests
+    for i in $(ls unittest*); do mv -v $i test_$i; done
+    cd ../..
+    rm -vf astroid/tests/test_unittest_inference.py
+    rm -vf astroid/tests/test_unittest_manager.py
+  '';
 
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover
-    '';
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
 
-    meta = with stdenv.lib; {
-      description = "A abstract syntax tree for Python with inference support";
-      homepage = http://bitbucket.org/logilab/astroid;
-      license = licenses.lgpl2;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ nand0p ]; 
-    };
-  }
+  meta = with lib; {
+    description = "A abstract syntax tree for Python with inference support";
+    homepage = http://bitbucket.org/logilab/astroid;
+    license = licenses.lgpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
new file mode 100644
index 00000000000..6e3e66167f1
--- /dev/null
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, numpy
+, cython
+, h5py
+, scipy }:
+
+buildPythonPackage rec {
+  
+  pname = "astropy";
+  version = "1.3.3";
+
+  name = "${pname}-${version}";
+  doCheck = false; #Some tests are failing. More importantly setup.py hangs on completion. Needs fixing with a proper shellhook.
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ed093e033fcbee5a3ec122420c3376f8a80f74663214560727d3defe82170a99";
+  };
+  propagatedBuildInputs = [ numpy cython h5py scipy ];
+
+
+  meta = {
+    description = "Astronomy/Astrophysics library for Python";
+    homepage = "http://www.astropy.org";
+    license = lib.licenses.bsd3;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ kentjames ];
+  };
+}
+
+
diff --git a/pkgs/development/python-modules/async_timeout/default.nix b/pkgs/development/python-modules/async_timeout/default.nix
index d5009e9bccb..aa548602d37 100644
--- a/pkgs/development/python-modules/async_timeout/default.nix
+++ b/pkgs/development/python-modules/async_timeout/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "async-timeout";
-  version = "1.1.0";
+  version = "1.2.1";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "b88bd1fe001b800ec23c7bf27a81b32819e2a56668e9fba5646a7f3618143081";
+    sha256 = "380e9bfd4c009a14931ffe487499b0906b00b3378bb743542cfd9fbb6d8e4657";
   };
 
   buildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/automat/default.nix b/pkgs/development/python-modules/automat/default.nix
index 146f47bd945..e4f3e061dd4 100644
--- a/pkgs/development/python-modules/automat/default.nix
+++ b/pkgs/development/python-modules/automat/default.nix
@@ -1,12 +1,13 @@
 { stdenv, buildPythonPackage, fetchurl,
   m2r, setuptools_scm, six, attrs }:
 buildPythonPackage rec {
-  name = "Automat-${version}";
-  version = "0.5.0";
+  version = "0.6.0";
+  pname = "Automat";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/A/Automat/${name}.tar.gz";
-    sha256 = "1hnpknkqnc2m900kkzrzx9l6g5dy5dassrdj9pn34x1pcdkyr2a8";
+    sha256 = "3c1fd04ecf08ac87b4dd3feae409542e9bf7827257097b2b6ed5692f69d6f6a8";
   };
 
   buildInputs = [ m2r setuptools_scm ];
diff --git a/pkgs/development/python-modules/bap/default.nix b/pkgs/development/python-modules/bap/default.nix
index 9362729af44..6a8e33dc2ee 100644
--- a/pkgs/development/python-modules/bap/default.nix
+++ b/pkgs/development/python-modules/bap/default.nix
@@ -1,8 +1,9 @@
 {stdenv, buildPythonPackage, fetchFromGitHub, bap, requests}:
 
 buildPythonPackage rec {
-  name = "bap";
+  pname = "bap";
   version = "1.1.0";
+  name = "${pname}-${version}";
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
     repo = "bap-python";
diff --git a/pkgs/development/python-modules/bcrypt.nix b/pkgs/development/python-modules/bcrypt.nix
index 8a099983521..d159ff8fe90 100644
--- a/pkgs/development/python-modules/bcrypt.nix
+++ b/pkgs/development/python-modules/bcrypt.nix
@@ -4,12 +4,13 @@
 with stdenv.lib;
 
 buildPythonPackage rec {
-  name = "bcrypt-${version}";
-  version = "3.1.2";
+  version = "3.1.3";
+  pname = "bcrypt";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/b/bcrypt/${name}.tar.gz";
-    sha256 = "1al54xafv1aharpb22yv5rjjc63fm60z3pn2shbiq48ah9f1fvil";
+    sha256 = "6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488";
   };
   buildInputs = [ pycparser mock pytest py ];
   propagatedBuildInputs = [ six ] ++ optional (!isPyPy) cffi;
diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix
index 42a7401b09d..19acf7b49ef 100644
--- a/pkgs/development/python-modules/blivet/default.nix
+++ b/pkgs/development/python-modules/blivet/default.nix
@@ -7,7 +7,8 @@ let
   selinuxWithPython = libselinux.override pyenable;
   cryptsetupWithPython = cryptsetup.override pyenable;
 in buildPythonPackage rec {
-  name = "blivet-${version}";
+  pname = "blivet";
+  name = "${pname}-${version}";
   version = "0.67";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 7c992921e94..3e07806986b 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -1,24 +1,35 @@
-{ stdenv, python, fetchurl, makeWrapper, unzip }:
+{ stdenv, python, fetchPypi, fetchurl, makeWrapper, unzip }:
 
 let
-  wheel_source = fetchurl {
-    url = "https://pypi.python.org/packages/py2.py3/w/wheel/wheel-0.29.0-py2.py3-none-any.whl";
+  wheel_source = fetchPypi {
+    pname = "wheel";
+    version = "0.29.0";
+    format = "wheel";
     sha256 = "ea8033fc9905804e652f75474d33410a07404c1a78dd3c949a66863bd1050ebd";
   };
-  setuptools_source = fetchurl {
-    url = "https://files.pythonhosted.org/packages/b8/cb/b919f52dd81b4b2210d0c5529b6b629a4002e08d49a90183605d1181b10c/setuptools-30.2.0-py2.py3-none-any.whl";
-    sha256 = "b7e7b28d6a728ea38953d66e12ef400c3c153c523539f1b3997c5a42f3770ff1";
+  setuptools_source = fetchPypi {
+    pname = "setuptools";
+    version = "36.0.1";
+    format = "wheel";
+    sha256 = "f2900e560efc479938a219433c48f15a4ff4ecfe575a65de385eeb44f2425587";
   };
-  argparse_source = fetchurl {
-    url = "https://pypi.python.org/packages/2.7/a/argparse/argparse-1.4.0-py2.py3-none-any.whl";
-    sha256 = "0533cr5w14da8wdb2q4py6aizvbvsdbk3sj7m1jx9lwznvnlf5n3";
+
+  # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
+  # https://github.com/NixOS/nixpkgs/issues/26392
+  # https://github.com/pypa/setuptools/issues/885
+  pkg_resources = fetchurl {
+    url = https://raw.githubusercontent.com/pypa/setuptools/v36.0.1/pkg_resources/__init__.py;
+    sha256 = "1wdnq3mammk75mifkdmmjx7yhnpydvnvi804na8ym4mj934l2jkv";
   };
+
 in stdenv.mkDerivation rec {
-  name = "${python.libPrefix}-bootstrapped-pip-${version}";
+  pname = "pip";
   version = "9.0.1";
+  name = "${python.libPrefix}-bootstrapped-${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://files.pythonhosted.org/packages/b6/ac/7015eb97dc749283ffdec1c3a88ddb8ae03b8fad0f0e611408f196358da3/pip-9.0.1-py2.py3-none-any.whl";
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
     sha256 = "690b762c0a8460c303c089d5d0be034fb15a5ea2b75bdf565f40421f542fefb0";
   };
 
@@ -27,11 +38,10 @@ in stdenv.mkDerivation rec {
     unzip -d $out/${python.sitePackages} $src
     unzip -d $out/${python.sitePackages} ${setuptools_source}
     unzip -d $out/${python.sitePackages} ${wheel_source}
-  '' + stdenv.lib.optionalString (python.isPy26 or false) ''
-    unzip -d $out/${python.sitePackages} ${argparse_source}
+    # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
+    cp ${pkg_resources} $out/${python.sitePackages}/pip/_vendor/pkg_resources/__init__.py
   '';
 
-
   patchPhase = ''
     mkdir -p $out/bin
   '';
diff --git a/pkgs/development/python-modules/breathe/default.nix b/pkgs/development/python-modules/breathe/default.nix
index d27a6537556..08d66e539ad 100644
--- a/pkgs/development/python-modules/breathe/default.nix
+++ b/pkgs/development/python-modules/breathe/default.nix
@@ -1,12 +1,13 @@
 { lib, fetchurl, buildPythonPackage, docutils, six, sphinx, isPy3k }:
 
 buildPythonPackage rec {
-  name = "breathe-${version}";
-  version = "4.2.0";
+  version = "4.6.0";
+  pname = "breathe";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/b/breathe/${name}.tar.gz";
-    sha256 = "0m3w8yx24nm01xxx6aj08cklnifwlzzmczc5b0ni40l63lhvm3lp";
+    sha256 = "9db2ba770f824da323b9ea3db0b98d613a4e0af094c82ccb0a82991da81b736a";
   };
 
   propagatedBuildInputs = [ docutils six sphinx ];
diff --git a/pkgs/development/python-modules/btrees/default.nix b/pkgs/development/python-modules/btrees/default.nix
index 8e69a207628..7cb10d96f90 100644
--- a/pkgs/development/python-modules/btrees/default.nix
+++ b/pkgs/development/python-modules/btrees/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "BTrees";
-  version = "4.3.1";
+  version = "4.4.1";
   name = "${pname}-${version}";
 
   propagatedBuildInputs = [ persistent zope_interface transaction ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15as34f9sa4nnd62nnjkik2jd4rg1byp0i4kwaqwdpv0ab9vfr95";
+    sha256 = "a2738b71693971c1f7502888d649bef270c65f026db731e03d53f1ec4edfe8a3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix
index 8658c76df79..a2cf4633d30 100644
--- a/pkgs/development/python-modules/certifi/default.nix
+++ b/pkgs/development/python-modules/certifi/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "certifi";
-  version = "2017.1.23";
+  version = "2017.4.17";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1klrzl3hgvcf2mjk00g0k3kk1p2z27vzwnxivwar4vhjmjvpz1w1";
+    sha256 = "f7527ebf7461582ce95f7a9e03dd141ce810d40590834f4ec20cddd54234c10a";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/channels/default.nix b/pkgs/development/python-modules/channels/default.nix
index a589369210d..e99fcdc4802 100644
--- a/pkgs/development/python-modules/channels/default.nix
+++ b/pkgs/development/python-modules/channels/default.nix
@@ -2,7 +2,8 @@
   asgiref, django, daphne
 }:
 buildPythonPackage rec {
-  name = "channels-${version}";
+  pname = "channels";
+  name = "${pname}-${version}";
   version = "1.1.3";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/characteristic/default.nix b/pkgs/development/python-modules/characteristic/default.nix
new file mode 100644
index 00000000000..c44989ab5b7
--- /dev/null
+++ b/pkgs/development/python-modules/characteristic/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "characteristic";
+  version = "14.3.0";
+  name = "${pname}-${version}";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ded68d4e424115ed44e5c83c2a901a0b6157a959079d7591d92106ffd3ada380";
+  };
+
+  checkInputs = [ pytest ];
+
+  meta = {
+    description = "Python attributes without boilerplate";
+    homepage = https://characteristic.readthedocs.org;
+  };
+}
diff --git a/pkgs/development/python-modules/colorama/default.nix b/pkgs/development/python-modules/colorama/default.nix
new file mode 100644
index 00000000000..99a59ae8fd4
--- /dev/null
+++ b/pkgs/development/python-modules/colorama/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "colorama";
+  version = "0.3.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1wd1szk0z3073ghx26ynw43gnc140ibln1safgsis6s6z3s25ss8";
+  };
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/tartley/colorama;
+    license = licenses.bsd3;
+    description = "Cross-platform colored terminal text";
+  };
+}
+
diff --git a/pkgs/development/python-modules/constantly/default.nix b/pkgs/development/python-modules/constantly/default.nix
index 44fbeb6d39f..50216c7ae1f 100644
--- a/pkgs/development/python-modules/constantly/default.nix
+++ b/pkgs/development/python-modules/constantly/default.nix
@@ -1,7 +1,8 @@
 { stdenv, buildPythonPackage, fetchurl
 }:
 buildPythonPackage rec {
-  name = "constantly-${version}";
+  pname = "constantly";
+  name = "${pname}-${version}";
   version = "15.1.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/daphne/default.nix b/pkgs/development/python-modules/daphne/default.nix
index 34cc597ede9..562b29cf062 100644
--- a/pkgs/development/python-modules/daphne/default.nix
+++ b/pkgs/development/python-modules/daphne/default.nix
@@ -2,7 +2,8 @@
   asgiref, autobahn, twisted, hypothesis
 }:
 buildPythonPackage rec {
-  name = "daphne-${version}";
+  pname = "daphne";
+  name = "${pname}-${version}";
   version = "1.2.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
new file mode 100644
index 00000000000..6d5388a443c
--- /dev/null
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, cloudpickle
+, numpy
+, toolz
+, dill
+, pandas
+, partd
+}:
+
+buildPythonPackage rec {
+  pname = "dask";
+  version = "0.14.3";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9bf007f9cedc08f73089f0621ff65ec0882fc0a834acef56830dfd2872908211";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ cloudpickle  numpy toolz dill pandas partd ];
+
+  checkPhase = ''
+    py.test dask
+  '';
+
+  # URLError
+  doCheck = false;
+
+  meta = {
+    description = "Minimal task scheduling abstraction";
+    homepage = "http://github.com/ContinuumIO/dask/";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
diff --git a/pkgs/development/python-modules/dateutil/default.nix b/pkgs/development/python-modules/dateutil/default.nix
index 8e05ee34357..c814b82dad0 100644
--- a/pkgs/development/python-modules/dateutil/default.nix
+++ b/pkgs/development/python-modules/dateutil/default.nix
@@ -1,6 +1,7 @@
 { stdenv, buildPythonPackage, fetchurl, six }:
 buildPythonPackage rec {
-  name = "dateutil-${version}";
+  pname = "dateutil";
+  name = "${pname}-${version}";
   version = "2.6.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/dbfread/default.nix b/pkgs/development/python-modules/dbfread/default.nix
index 6bbc4775605..facdd00edac 100644
--- a/pkgs/development/python-modules/dbfread/default.nix
+++ b/pkgs/development/python-modules/dbfread/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "dbfread";
-    version = "2.0.5";
+    version = "2.0.7";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0r5axq9ax0czyapm7b69krcv22r1nyb4vci7c5x8mx8pq1axim93";
+      sha256 = "07c8a9af06ffad3f6f03e8fe91ad7d2733e31a26d2b72c4dd4cfbae07ee3b73d";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index d2e1d2dc86f..ab6e70a9a64 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -2,7 +2,9 @@
 , ncurses, pygobject3 }:
 
 if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else buildPythonPackage rec {
-  name = "dbus-python-1.2.4";
+  pname = "dbus-python";
+  version = "1.2.4";
+  name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/discordpy/default.nix b/pkgs/development/python-modules/discordpy/default.nix
index c4f92caf8d5..53a4a51fcd8 100644
--- a/pkgs/development/python-modules/discordpy/default.nix
+++ b/pkgs/development/python-modules/discordpy/default.nix
@@ -11,13 +11,13 @@
 
 let
   pname = "discord.py";
-  version = "0.16.4";
+  version = "0.16.8";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "04q4gknv9lb8r2sdnsqs5nfcyyl850j4pcqcs0xjvmqhd7axa5ai";
+    sha256 = "d775b701383e3a5762accf3816b819f357f299476701615ac30c7715a5ea79aa";
   };
 
   propagatedBuildInputs = [ asyncio aiohttp websockets pynacl ];
diff --git a/pkgs/development/python-modules/distro/default.nix b/pkgs/development/python-modules/distro/default.nix
index 9b79d82328f..49349839331 100644
--- a/pkgs/development/python-modules/distro/default.nix
+++ b/pkgs/development/python-modules/distro/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "distro";
-  version = "1.0.3";
+  version = "1.0.4";
 
   buildInputs = [ pytest pytestcov tox];
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kmjdz1kxspsmps73m2kzhxz86jj43ikx825hmgmwbx793ywv69d";
+    sha256 = "9b000b0d637bb0cbd130a7a4835681e6993e309a85564dfea9d884825fe46954";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/django-compat/default.nix b/pkgs/development/python-modules/django-compat/default.nix
index d8a314750ca..59103191285 100644
--- a/pkgs/development/python-modules/django-compat/default.nix
+++ b/pkgs/development/python-modules/django-compat/default.nix
@@ -1,23 +1,43 @@
-{ stdenv, buildPythonPackage, fetchurl,
+{ stdenv, buildPythonPackage, fetchFromGitHub, python,
   django, django_nose, six
 }:
 buildPythonPackage rec {
-  name = "django-compat-${version}";
+  pname = "django-compat";
+  name = "${pname}-${version}";
   version = "1.0.14";
 
-  src = fetchurl {
-    url = "mirror://pypi/d/django-compat/${name}.tar.gz";
-    sha256 = "18y5bxxmafcd4np42mzbalva5lpssq0b8ki7zckbzvdv2mnv43xj";
+  # the pypi packages don't include everything required for the tests
+  src = fetchFromGitHub {
+    owner = "arteria";
+    repo = "django-compat";
+    rev = "v${version}";
+    sha256 = "11g6ra6djkchqk44v8k7biaxd1v69qyyyask5l92vmrvb0qiwvm8";
   };
 
-  doCheck = false;
+  checkPhase = ''
+    runHook preCheck
 
-  buildInputs = [ django_nose ];
+    # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
+    # source directory
+    mkdir -p testbase/compat
+    pushd testbase
+    # note we're not copying the direct contents of compat/ (notably __init__.py) so python won't recognize this as a
+    # package, but the tests need to be in a specific path for the test templates to get picked up.
+    cp -r ../compat/tests compat/
+    cp ../runtests.py .
+    ${python.interpreter} runtests.py compat/tests
+    popd
+
+    runHook postCheck
+  '';
+
+  checkInputs = [ django_nose ];
   propagatedBuildInputs = [ django six ];
 
   meta = with stdenv.lib; {
     description = "Forward and backwards compatibility layer for Django 1.4, 1.7, 1.8, 1.9, 1.10 and 1.11";
     homepage = https://github.com/arteria/django-compat;
     license = licenses.mit;
+    maintainers = with maintainers; [ ris ];
   };
 }
diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix
new file mode 100644
index 00000000000..8eb98924491
--- /dev/null
+++ b/pkgs/development/python-modules/django-hijack/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, python,
+  django, django_compat, django_nose
+}:
+buildPythonPackage rec {
+  name = "django-hijack-${version}";
+  version = "2.1.4";
+
+  # the pypi packages don't include everything required for the tests
+  src = fetchFromGitHub {
+    owner = "arteria";
+    repo = "django-hijack";
+    rev = "v${version}";
+    sha256 = "1wbm6l8mzpkj4wsj4fyfamzpzi3day2v1cva5j89v4dn4403jq21";
+  };
+
+  checkInputs = [ django_nose ];
+  propagatedBuildInputs = [ django django_compat ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
+    # source directory
+    mkdir testbase
+    pushd testbase
+    cp ../runtests.py .
+    ${python.interpreter} runtests.py hijack
+    popd
+
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Allows superusers to hijack (=login as) and work on behalf of another user";
+    homepage = https://github.com/arteria/django-hijack;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ris ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/django-raster/default.nix b/pkgs/development/python-modules/django-raster/default.nix
index e673d587e3e..2332229100c 100644
--- a/pkgs/development/python-modules/django-raster/default.nix
+++ b/pkgs/development/python-modules/django-raster/default.nix
@@ -3,12 +3,13 @@
   pyparsing, django, celery
 }:
 buildPythonPackage rec {
-  name = "django-raster-${version}";
-  version = "0.3.1";
+  version = "0.4";
+  pname = "django-raster";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/django-raster/${name}.tar.gz";
-    sha256 = "1hsrkvybak1adn9d9qdw7hx3rcxsbzas4ixwll6vrjkrizgfihk3";
+    sha256 = "7fd6afa42b07ac51a3873e3d4840325dd3a8a631fdb5b853c76fbbfe59a2b17f";
   };
 
   # Tests require a postgresql + postgis server
diff --git a/pkgs/development/python-modules/django/1_10.nix b/pkgs/development/python-modules/django/1_10.nix
index 6cc3af8c270..52b62e8d8b8 100644
--- a/pkgs/development/python-modules/django/1_10.nix
+++ b/pkgs/development/python-modules/django/1_10.nix
@@ -3,7 +3,8 @@
   geos, gdal
 }:
 buildPythonPackage rec {
-  name = "Django-${version}";
+  pname = "Django";
+  name = "${pname}-${version}";
   version = "1.10.7";
   disabled = pythonOlder "2.7";
 
diff --git a/pkgs/development/python-modules/django/1_11.nix b/pkgs/development/python-modules/django/1_11.nix
index 01d9992220f..f0035095b04 100644
--- a/pkgs/development/python-modules/django/1_11.nix
+++ b/pkgs/development/python-modules/django/1_11.nix
@@ -3,13 +3,15 @@
   geos, gdal, pytz
 }:
 buildPythonPackage rec {
-  name = "Django-${version}";
-  version = "1.11.1";
+  pname = "Django";
+  name = "${pname}-${version}";
+  version = "1.11.2";
+
   disabled = pythonOlder "2.7";
 
   src = fetchurl {
     url = "http://www.djangoproject.com/m/releases/1.11/${name}.tar.gz";
-    sha256 = "131swdygapgrnkicvksqf904gkrfvljcrsqq8z82rvzf4bwgvkmv";
+    sha256 = "05q6bgm3vkdqg72i1m1z8bp2jdrm9n1c37aka1brwkyzh820fnrw";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/django_guardian.nix b/pkgs/development/python-modules/django_guardian.nix
index aee9707a523..b6df932e658 100644
--- a/pkgs/development/python-modules/django_guardian.nix
+++ b/pkgs/development/python-modules/django_guardian.nix
@@ -3,7 +3,8 @@
 , pytest, pytestrunner, pytest-django, setuptools_scm
 }:
 buildPythonPackage rec {
-  name = "django-guardian-${version}";
+  pname = "django-guardian";
+  name = "${pname}-${version}";
   version = "1.4.8";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix
index 5ad026a8255..8bbce992c1b 100644
--- a/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/pkgs/development/python-modules/djangorestframework/default.nix
@@ -1,11 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, django }:
 buildPythonPackage rec {
-  name = "djangorestframework-${version}";
-  version = "3.5.4";
+  version = "3.6.3";
+  pname = "djangorestframework";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/djangorestframework/${name}.tar.gz";
-    sha256 = "1rays9d8jxqng13fv18ldf11y44w0ln6vvj2k8m4sd9gw9da75gr";
+    sha256 = "6aa6aafdfb7f6152a401873ecae93aff9eb54d7a74266065347cf4de68278ae4";
   };
 
   # Test settings are missing
diff --git a/pkgs/development/python-modules/docker.nix b/pkgs/development/python-modules/docker.nix
index 84c7b5ff38b..58c7da4cbe5 100644
--- a/pkgs/development/python-modules/docker.nix
+++ b/pkgs/development/python-modules/docker.nix
@@ -3,12 +3,13 @@
 , ipaddress, backports_ssl_match_hostname, docker_pycreds
 }:
 buildPythonPackage rec {
-  name = "docker-${version}";
-  version = "2.0.2";
+  version = "2.3.0";
+  pname = "docker";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/docker/${name}.tar.gz";
-    sha256 = "1m16n2r8is1gxwmyr6163na2jdyzsnhhk2qj12l7rzm1sr9nhx7z";
+    sha256 = "b0e3f353a3df3eedfbbcaf48235117263479b893edfa0cf6d8d056cca5edde1c";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/docker_compose.nix b/pkgs/development/python-modules/docker_compose.nix
index 9af95f72598..25435c396d7 100644
--- a/pkgs/development/python-modules/docker_compose.nix
+++ b/pkgs/development/python-modules/docker_compose.nix
@@ -6,12 +6,13 @@
 , enum34, functools32
 }:
 buildPythonApplication rec {
-  version = "1.10.0";
-  name = "docker-compose-${version}";
+  version = "1.13.0";
+  pname = "docker-compose";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/docker-compose/${name}.tar.gz";
-    sha256 = "023y2yhkvglaq07d78i89g2p8h040d71il8nfbyg2f9fkffigx9z";
+    sha256 = "3c7b62cd0ab5f33d21db197d8a74739d320a6fe32e4ef8282c35d4dee5a7c77c";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/development/python-modules/dogpile.cache/default.nix b/pkgs/development/python-modules/dogpile.cache/default.nix
index de6efe40af7..25913f3a497 100644
--- a/pkgs/development/python-modules/dogpile.cache/default.nix
+++ b/pkgs/development/python-modules/dogpile.cache/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "dogpile.cache";
-  version = "0.6.2";
+  version = "0.6.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73793471af07af6dc5b3ee015abfaca4220caaa34c615537f5ab007ed150726d";
+    sha256 = "e9747f5e31f8dea1b80d6204358885f943f69e53574d88005438ca3651c44553";
   };
 
   # Disable concurrency tests that often fail,
diff --git a/pkgs/development/python-modules/ds4drv.nix b/pkgs/development/python-modules/ds4drv.nix
index 8698a65ea11..ba40b0b3f85 100644
--- a/pkgs/development/python-modules/ds4drv.nix
+++ b/pkgs/development/python-modules/ds4drv.nix
@@ -4,7 +4,8 @@
 }:
 
 buildPythonPackage rec {
-  name = "ds4drv-${version}";
+  pname = "ds4drv";
+  name = "${pname}-${version}";
   version = "0.5.1";
 
   # PyPi only carries py3 wheel
diff --git a/pkgs/development/python-modules/dulwich.nix b/pkgs/development/python-modules/dulwich.nix
index d482aa14627..804419d0fca 100644
--- a/pkgs/development/python-modules/dulwich.nix
+++ b/pkgs/development/python-modules/dulwich.nix
@@ -3,12 +3,13 @@
 , git, glibcLocales }:
 
 buildPythonPackage rec {
-  name = "dulwich-${version}";
-  version = "0.14.1";
+  version = "0.17.3";
+  pname = "dulwich";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/dulwich/${name}.tar.gz";
-    sha256 = "14xsyxha6qyxxyf0ma3zv1sy31iy22vzwayk519n7a1gwzk4j7vw";
+    sha256 = "0c3eccac93823e172b05d57aaeab3d6f03c6c0f1867613606d1909a3ab4100ca";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix
new file mode 100644
index 00000000000..57549792d21
--- /dev/null
+++ b/pkgs/development/python-modules/ecpy/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchPypi, buildPythonPackage, hidapi
+, pycrypto, pillow, protobuf, future, ecpy
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "ECPy";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l";
+  };
+
+  buildInputs = [ hidapi pycrypto pillow protobuf future ];
+
+  meta = with stdenv.lib; {
+    description = "Pure Pyhton Elliptic Curve Library";
+    homepage = "https://github.com/ubinity/ECPy";
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/ed25519/default.nix b/pkgs/development/python-modules/ed25519/default.nix
new file mode 100644
index 00000000000..1cdf85385e8
--- /dev/null
+++ b/pkgs/development/python-modules/ed25519/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "ed25519";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Ed25519 public-key signatures";
+    homepage = "https://github.com/warner/python-ed25519";
+    license = licenses.mit;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/edward/default.nix b/pkgs/development/python-modules/edward/default.nix
index 0ae81aef096..4d78acf78de 100644
--- a/pkgs/development/python-modules/edward/default.nix
+++ b/pkgs/development/python-modules/edward/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "edward";
-  version = "1.2.2";
+  version = "1.3.2";
   name  = "${pname}-${version}";
 
   disabled = !(isPy27 || pythonAtLeast "3.4");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0h9i15l7mczwx8jvabjbvxjjidr13x81h6vylb1p8r308w01r2as";
+    sha256 = "24aa0bf237965f47dd39d2b2ff43718ba75cb12c471b26ff80a972a66ff32de3";
   };
 
   # disabled for now due to Tensorflow trying to create files in $HOME:
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
new file mode 100644
index 00000000000..321259d9939
--- /dev/null
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "emoji";
+  name = "${pname}-${version}";
+  version = "0.4.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13i9mgkpll8m92b8mgm5yab4i78nwsl9h38nriavg105id94mg6q";
+  };
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''nosetests'';
+
+  meta = with lib; {
+    description = "Emoji for Python";
+    homepage = https://pypi.python.org/pypi/emoji/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ joachifm ];
+  };
+}
diff --git a/pkgs/development/python-modules/ezdxf/default.nix b/pkgs/development/python-modules/ezdxf/default.nix
index c6c6137a2d4..1f457235b6a 100644
--- a/pkgs/development/python-modules/ezdxf/default.nix
+++ b/pkgs/development/python-modules/ezdxf/default.nix
@@ -2,7 +2,8 @@
 
 buildPythonPackage rec {
   version = "0.8.1";
-  name = "ezdxf-${version}";
+  pname = "ezdxf";
+  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "mozman";
diff --git a/pkgs/development/python-modules/feedgenerator/default.nix b/pkgs/development/python-modules/feedgenerator/default.nix
new file mode 100644
index 00000000000..d5ce8f8afc2
--- /dev/null
+++ b/pkgs/development/python-modules/feedgenerator/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, glibcLocales, fetchurl, six, pytz }:
+
+buildPythonPackage rec {
+  pname = "feedgenerator";
+  version = "1.9";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/f/feedgenerator/${name}.tar.gz";
+    sha256 = "01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s";
+  };
+
+  buildInputs = [ glibcLocales ];
+
+  LC_ALL="en_US.UTF-8";
+
+  propagatedBuildInputs = [ six pytz ];
+
+  meta = with stdenv.lib; {
+    description = "Standalone version of django.utils.feedgenerator, compatible with Py3k";
+    homepage = https://github.com/dmdm/feedgenerator-py3k.git;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/flake8-blind-except/default.nix b/pkgs/development/python-modules/flake8-blind-except/default.nix
index 88b4f811e94..a657c25eed7 100644
--- a/pkgs/development/python-modules/flake8-blind-except/default.nix
+++ b/pkgs/development/python-modules/flake8-blind-except/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "flake8-blind-except-${version}";
+  pname = "flake8-blind-except";
+  name = "${pname}-${version}";
   version = "0.1.1";
   src = fetchurl {
     url = "mirror://pypi/f/flake8-blind-except/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index b383c5db008..c00bf0c8551 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchurl, buildPythonPackage, flake8, nose }:
 
 buildPythonPackage rec {
-  name = "flake8-debugger-${version}";
+  pname = "flake8-debugger";
+  name = "${pname}-${version}";
   version = "1.4.0";
   src = fetchurl {
     url = "mirror://pypi/f/flake8-debugger/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/flask-elastic.nix b/pkgs/development/python-modules/flask-elastic.nix
index 9ea9616fbda..4181d964787 100644
--- a/pkgs/development/python-modules/flask-elastic.nix
+++ b/pkgs/development/python-modules/flask-elastic.nix
@@ -2,7 +2,8 @@
 , flask, elasticsearch }:
 
 buildPythonPackage rec {
-  name = "Flask-Elastic-${version}";
+  pname = "Flask-Elastic";
+  name = "${pname}-${version}";
   version = "0.2";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/flask-ldap-login.nix b/pkgs/development/python-modules/flask-ldap-login.nix
index 37f9d72dd3f..cdc7cefff95 100644
--- a/pkgs/development/python-modules/flask-ldap-login.nix
+++ b/pkgs/development/python-modules/flask-ldap-login.nix
@@ -3,7 +3,9 @@
 , mock, nose }:
 
 buildPythonPackage rec {
-  name = "flask-ldap-login-0.3.0";
+  pname = "flask-ldap-login";
+  version = "0.3.0";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/f/flask-ldap-login/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/flask-login.nix b/pkgs/development/python-modules/flask-login.nix
index 0149e29bcf7..a463964b312 100644
--- a/pkgs/development/python-modules/flask-login.nix
+++ b/pkgs/development/python-modules/flask-login.nix
@@ -2,7 +2,8 @@
 , flask, nose, mock, blinker}:
 
 buildPythonPackage rec {
-  name = "Flask-Login-${version}";
+  pname = "Flask-Login";
+  name = "${pname}-${version}";
   version = "0.4.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/flask-migrate/default.nix b/pkgs/development/python-modules/flask-migrate/default.nix
new file mode 100644
index 00000000000..3e2c7ac4602
--- /dev/null
+++ b/pkgs/development/python-modules/flask-migrate/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, python, glibcLocales, flask, flask_sqlalchemy, flask_script, alembic
+}:
+
+with stdenv.lib;
+
+buildPythonPackage rec {
+  pname = "Flask-Migrate";
+  version = "2.0.4";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1e6dc83bed93aef9a4791d5daaa03b186c8ef5d96c99c7d88166da683c86e42d";
+  };
+
+  checkInputs = optional isPy3k glibcLocales;
+  propagatedBuildInputs = [ flask flask_sqlalchemy flask_script alembic ];
+
+  # tests invoke the flask cli which uses click and therefore has py3k encoding troubles
+  preCheck = optionalString isPy3k ''
+    export LANG="en_US.UTF-8"
+  '';
+
+  meta = {
+    description = "SQLAlchemy database migrations for Flask applications using Alembic";
+    license = licenses.mit;
+    homepage = https://github.com/miguelgrinberg/Flask-Migrate;
+  };
+}
diff --git a/pkgs/development/python-modules/flask-oauthlib.nix b/pkgs/development/python-modules/flask-oauthlib.nix
index 83413dadb7f..cacb16cb7bb 100644
--- a/pkgs/development/python-modules/flask-oauthlib.nix
+++ b/pkgs/development/python-modules/flask-oauthlib.nix
@@ -2,7 +2,8 @@
 , flask, oauthlib, requests_oauthlib, flask_sqlalchemy
 , mock, nose}:
 buildPythonPackage rec {
-  name = "Flask-OAuthlib-${version}";
+  pname = "Flask-OAuthlib";
+  name = "${pname}-${version}";
   version = "0.9.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/flask-wtf.nix b/pkgs/development/python-modules/flask-wtf.nix
index 24e66ea4e98..a0b623c6b6a 100644
--- a/pkgs/development/python-modules/flask-wtf.nix
+++ b/pkgs/development/python-modules/flask-wtf.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage, flask, wtforms, nose }:
 
 buildPythonPackage rec {
-  name = "Flask-WTF-0.14.2";
+  pname = "Flask-WTF";
+  version = "0.14.2";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/F/Flask-WTF/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
new file mode 100644
index 00000000000..b9ef3ba94b6
--- /dev/null
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, fetchPypi
+, numpy
+, pytest
+, pytestrunner
+}:
+
+buildPythonPackage rec {
+  pname = "fonttools";
+  version = "3.13.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5ec278ff231d0c88afe8266e911ee0f8e66c8501c53f5f144a1a0abbc936c6b8";
+    extension = "zip";
+  };
+
+  buildInputs = [
+    numpy
+  ];
+
+  checkInputs = [
+    pytest
+    pytestrunner
+  ];
+
+  meta = {
+    homepage = "https://github.com/fonttools/fonttools";
+    description = "A library to manipulate font files from Python";
+  };
+}
diff --git a/pkgs/development/python-modules/future/default.nix b/pkgs/development/python-modules/future/default.nix
new file mode 100644
index 00000000000..c368913caae
--- /dev/null
+++ b/pkgs/development/python-modules/future/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy26
+, importlib
+, argparse
+}:
+
+buildPythonPackage rec {
+  pname = "future";
+  version = "0.16.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773";
+  };
+
+  propagatedBuildInputs = lib.optionals isPy26 [ importlib argparse ];
+  doCheck = false;
+
+  meta = {
+    description = "Clean single-source support for Python 3 and 2";
+    longDescription = ''
+      python-future is the missing compatibility layer between Python 2 and
+      Python 3. It allows you to use a single, clean Python 3.x-compatible
+      codebase to support both Python 2 and Python 3 with minimal overhead.
+
+      It provides future and past packages with backports and forward ports
+      of features from Python 3 and 2. It also comes with futurize and
+      pasteurize, customized 2to3-based scripts that helps you to convert
+      either Py2 or Py3 code easily to support both Python 2 and 3 in a
+      single clean Py3-style codebase, module by module.
+    '';
+    homepage = https://python-future.org;
+    downloadPage = https://github.com/PythonCharmers/python-future/releases;
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ prikhi ];
+  };
+}
diff --git a/pkgs/development/python-modules/ghdiff.nix b/pkgs/development/python-modules/ghdiff.nix
index 1f14b661d53..5dfd399ac7d 100644
--- a/pkgs/development/python-modules/ghdiff.nix
+++ b/pkgs/development/python-modules/ghdiff.nix
@@ -2,7 +2,9 @@
 , zope_testrunner, six, chardet}:
 
 buildPythonPackage rec {
-  name = "ghdiff-0.4";
+  pname = "ghdiff";
+  version = "0.4";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/g/ghdiff/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/guessit/default.nix b/pkgs/development/python-modules/guessit/default.nix
index 7cf051b89a6..b0c0bb9496f 100644
--- a/pkgs/development/python-modules/guessit/default.nix
+++ b/pkgs/development/python-modules/guessit/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "guessit";
-  version = "2.1.2";
+  version = "2.1.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f7e12b7f2215548284631a20aae6fc009c8af2bb8cc5d5e5e339cb15361dd95";
+    sha256 = "90e6f9fb49246ad27f34f8b9984357e22562ccc3059241cbc08b4fac1d401c56";
   };
 
   # Tests require more packages.
diff --git a/pkgs/development/python-modules/gunicorn.nix b/pkgs/development/python-modules/gunicorn.nix
index 026e9df360c..cc8017f0cd8 100644
--- a/pkgs/development/python-modules/gunicorn.nix
+++ b/pkgs/development/python-modules/gunicorn.nix
@@ -2,11 +2,13 @@
 , pytest, mock, pytestcov, coverage }:
 
 buildPythonPackage rec {
-  name = "gunicorn-19.3.0";
+  pname = "gunicorn";
+  version = "19.7.1";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/g/gunicorn/${name}.tar.gz";
-    sha256 = "12d0jd9y9fyssc28mn8j6nzrck8y05hc946p5h0rmbc25043bj4b";
+    sha256 = "eee1169f0ca667be05db3351a0960765620dad53f53434262ff8901b68a1b622";
   };
 
   buildInputs = [ pytest mock pytestcov coverage ];
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index e2cb11cedb4..7b517df0922 100644
--- a/pkgs/development/python-modules/h5py/default.nix
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -11,12 +11,13 @@ let
   mpiSupport = hdf5.mpiSupport;
 
 in buildPythonPackage rec {
-  name = "h5py-${version}";
-  version = "2.6.0";
+  version = "2.7.0";
+  pname = "h5py";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/h/h5py/${name}.tar.gz";
-    sha256 = "0df46dg7i7xfking9lp221bfm8dbl974yvlrbi1w7r6m61ac7bxj";
+    sha256 = "79254312df2e6154c4928f5e3b22f7a2847b6e5ffb05ddc33e37b16e76d36310";
   };
 
   configure_flags = "--hdf5=${hdf5}" + optionalString mpiSupport " --mpi";
diff --git a/pkgs/development/python-modules/hidapi/default.nix b/pkgs/development/python-modules/hidapi/default.nix
new file mode 100644
index 00000000000..697bc1cd0e3
--- /dev/null
+++ b/pkgs/development/python-modules/hidapi/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, libusb1, udev, fetchPypi, buildPythonPackage, cython }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "hidapi";
+  version = "0.7.99.post20";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1k7z5m7xsqy8j4qkjy4pfxdx4hm36ha68vi65z6smvnyg4zgv22z";
+  };
+
+  propagatedBuildInputs = [ libusb1 udev cython ];
+
+  # Fix the USB backend library lookup
+  postPatch = ''
+    libusb=${libusb1.dev}/include/libusb-1.0
+    test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
+    sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi";
+    homepage = https://github.com/trezor/cython-hidapi;
+    # license can actually be either bsd3 or gpl3
+    # see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/hieroglyph/default.nix b/pkgs/development/python-modules/hieroglyph/default.nix
index e79cdede092..9e97e56c134 100644
--- a/pkgs/development/python-modules/hieroglyph/default.nix
+++ b/pkgs/development/python-modules/hieroglyph/default.nix
@@ -1,8 +1,9 @@
 { stdenv , fetchurl , buildPythonPackage , sphinx }:
 
 buildPythonPackage rec {
+  pname = "hieroglyph";
   version = "0.7.1";
-  name = "hieroglyph-${version}";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/h/hieroglyph/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/hypothesis.nix b/pkgs/development/python-modules/hypothesis.nix
index d5251f1fa55..ab56cde9c13 100644
--- a/pkgs/development/python-modules/hypothesis.nix
+++ b/pkgs/development/python-modules/hypothesis.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, python
 , pythonOlder, pythonAtLeast, enum34
-, doCheck ? true, pytest, flake8, flaky
+, doCheck ? true, pytest, pytest_xdist, flake8, flaky
 }:
 buildPythonPackage rec {
   # http://hypothesis.readthedocs.org/en/latest/packaging.html
@@ -9,25 +9,27 @@ buildPythonPackage rec {
   # pytz fake_factory django numpy pytest
   # If you need these, you can just add them to your environment.
 
-  name = "hypothesis-${version}";
-  version = "3.7.0";
+  version = "3.11.1";
+  pname = "hypothesis";
+  name = "${pname}-${version}";
 
   # Upstream prefers github tarballs
   src = fetchFromGitHub {
     owner = "HypothesisWorks";
-    repo = "hypothesis";
+    repo = "hypothesis-python";
     rev = "${version}";
-    sha256 = "1zsv1ggf3g9rrigxl3zd1z8qc6fcj8lmszm8ib1ya4ar6r64x0yz";
+    sha256 = "0damf6zbm0db2a3gfwrbbj92yal576wpmhhchc0w0np8vdnax70n";
   };
 
-  buildInputs = stdenv.lib.optionals doCheck [ pytest flake8 flaky ];
+  checkInputs = stdenv.lib.optionals doCheck [ pytest pytest_xdist flake8 flaky ];
   propagatedBuildInputs = stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ];
 
   inherit doCheck;
 
   # https://github.com/DRMacIver/hypothesis/issues/300
   checkPhase = ''
-    ${python.interpreter} -m pytest tests/cover
+    rm tox.ini # This file changes how py.test runs and breaks it
+    py.test tests/cover
   '';
 
   # Unsupport by upstream on certain versions
diff --git a/pkgs/development/python-modules/incremental/default.nix b/pkgs/development/python-modules/incremental/default.nix
index b8565a8b758..0c54c3ab8ae 100644
--- a/pkgs/development/python-modules/incremental/default.nix
+++ b/pkgs/development/python-modules/incremental/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "incremental";
-  version = "16.10.1";
+  version = "17.5.0";
 
   src = fetchurl {
     url = "mirror://pypi/i/${pname}/${name}.tar.gz";
-    sha256 = "0hh382gsj5lfl3fsabblk2djngl4n5yy90xakinasyn41rr6pb8l";
+    sha256 = "7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index de7d0a8d81b..af5bf5c4faa 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -21,12 +21,12 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "6.0.0";
+  version = "6.1.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f429b82b8d9807068da734b15965768bd21b15d0b706340b6d1b4d6f6f5b98a4";
+    sha256 = "5c53e8ee4d4bec27879982b9f3b4aa2d6e3cfd7b26782d250fa117f85bb29814";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/jabberbot.nix b/pkgs/development/python-modules/jabberbot.nix
index efbd4b981fa..9161f3f6f0b 100644
--- a/pkgs/development/python-modules/jabberbot.nix
+++ b/pkgs/development/python-modules/jabberbot.nix
@@ -1,7 +1,9 @@
 { stdenv, buildPythonPackage, isPy3k, fetchurl, xmpppy }:
 
 buildPythonPackage rec {
-  name = "jabberbot-0.16";
+  pname = "jabberbot";
+  version = "0.16";
+  name = "${pname}-${version}";
 
   disabled = isPy3k;
   src = fetchurl {
diff --git a/pkgs/development/python-modules/jsbeautifier/default.nix b/pkgs/development/python-modules/jsbeautifier/default.nix
index fa4ba7bffb5..c199b2f50db 100644
--- a/pkgs/development/python-modules/jsbeautifier/default.nix
+++ b/pkgs/development/python-modules/jsbeautifier/default.nix
@@ -1,21 +1,23 @@
 { stdenv, fetchurl, buildPythonApplication, EditorConfig, pytest, six }:
 
 buildPythonApplication rec {
-    name = "jsbeautifier-1.6.14";
+  pname = "jsbeautifier";
+  version = "1.6.14";
+  name = "jsbeautifier-1.6.14";
 
-    propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six ];
 
-    buildInputs = [ EditorConfig pytest ];
+  buildInputs = [ EditorConfig pytest ];
 
-    src = fetchurl {
-      url = "mirror://pypi/j/jsbeautifier/${name}.tar.gz";
-      sha256 = "50b2af556aa1da7283a6a92eaa699668312cb91f2ba6b78a4422b1d42af964a2";
-    };
+  src = fetchurl {
+    url = "mirror://pypi/j/jsbeautifier/${name}.tar.gz";
+    sha256 = "50b2af556aa1da7283a6a92eaa699668312cb91f2ba6b78a4422b1d42af964a2";
+  };
 
-    meta = with stdenv.lib; {
-      homepage    = "http://jsbeautifier.org";
-      description = "JavaScript unobfuscator and beautifier.";
-      license     = licenses.mit;
-      maintainers = with maintainers; [ apeyroux ];
-    };
-  }
+  meta = with stdenv.lib; {
+    homepage    = "http://jsbeautifier.org";
+    description = "JavaScript unobfuscator and beautifier.";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ apeyroux ];
+  };
+}
diff --git a/pkgs/development/python-modules/keepkey/default.nix b/pkgs/development/python-modules/keepkey/default.nix
new file mode 100644
index 00000000000..0d7f7661e7d
--- /dev/null
+++ b/pkgs/development/python-modules/keepkey/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchPypi, buildPythonPackage, ecdsa
+, mnemonic, protobuf3_0, hidapi }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "keepkey";
+  version = "0.7.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714";
+  };
+
+  propagatedBuildInputs = [ protobuf3_0 hidapi ];
+
+  buildInputs = [ ecdsa mnemonic ];
+
+  # There are no actual tests: "ImportError: No module named tests"
+  doCheck = false;
+
+  # Remove impossible dependency constraint
+  postPatch = "sed -i -e 's|hidapi==|hidapi>=|' setup.py";
+
+  meta = with stdenv.lib; {
+    description = "KeepKey Python client";
+    homepage = https://github.com/keepkey/python-keepkey;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index ab9d315e794..c397ff43074 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "Keras";
-  version = "2.0.3";
+  version = "2.0.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1x4p179smmnki6mng9n3lsi9glv2jg0y1ls154msplz9jm5bv39r";
+    sha256 = "1cbe62af6821963321b275d5598fd94e63c11feaa1d4deaa79c9eb9ee0e1d68a";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix
index 28b5e11223f..d43e56781a7 100644
--- a/pkgs/development/python-modules/koji/default.nix
+++ b/pkgs/development/python-modules/koji/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage, pycurl }:
 
 buildPythonPackage rec {
-  name = "koji-1.8";
+  pname = "koji";
+  version = "1.8";
+  name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/ldap.nix b/pkgs/development/python-modules/ldap.nix
index 95243f52a38..b583a2ae2d8 100644
--- a/pkgs/development/python-modules/ldap.nix
+++ b/pkgs/development/python-modules/ldap.nix
@@ -1,15 +1,41 @@
-{ buildPythonPackage, isPy3k, fetchurl
+{ lib, writeText, buildPythonPackage, isPy3k, fetchPypi
 , openldap, cyrus_sasl, openssl }:
 
 buildPythonPackage rec {
-  name = "ldap-2.4.22";
+  pname = "python-ldap";
+  version = "2.4.39";
+  name = "${pname}-${version}";
   disabled = isPy3k;
 
-  src = fetchurl {
-    url = "mirror://pypi/p/python-ldap/python-${name}.tar.gz";
-    sha256 = "1dshpq84kl4xpa0hmnjrh6q5h5bybn09r83sa3z3ybr9jlm8gxcy";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3fb75108d27e8091de80dffa2ba3bf45c7a3bdc357e2959006aed52fa58bb2f3";
   };
 
+  # Needed by tests to setup a mockup ldap server.
+  preCheck = ''
+    export BIN="${openldap}/bin"
+    export SBIN="${openldap}/bin"
+    export SLAPD="${openldap}/libexec/slapd"
+    export SCHEMA="${openldap}/etc/schema"
+  '';
+
+  patches = lib.singleton (writeText "avoid-syslog.diff" ''
+    diff a/Lib/slapdtest.py b/Lib/slapdtest.py
+    --- a/Lib/slapdtest.py
+    +++ b/Lib/slapdtest.py
+    @@ -60,7 +60,8 @@ def combined_logger(
+                 pass
+         # for writing to syslog
+         new_logger = logging.getLogger(log_name)
+    -    if sys_log_format:
+    +    # /dev/log does not exist in nix build environment.
+    +    if False:
+             my_syslog_formatter = logging.Formatter(
+                 fmt=' '.join((log_name, sys_log_format)))
+             my_syslog_handler = logging.handlers.SysLogHandler(
+  '');
+
   NIX_CFLAGS_COMPILE = "-I${cyrus_sasl.dev}/include/sasl";
   propagatedBuildInputs = [openldap cyrus_sasl openssl];
 }
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
new file mode 100644
index 00000000000..9ed18190a8e
--- /dev/null
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchPypi, buildPythonPackage, hidapi
+, pycrypto, pillow, protobuf, future, ecpy
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "ledgerblue";
+  version = "0.1.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09bsiylvgax6m47w8r0myaf61xj9j0h1spvadx6fx31qy0iqicw0";
+  };
+
+  buildInputs = [ hidapi pycrypto pillow protobuf future ecpy ];
+
+  meta = with stdenv.lib; {
+    description = "Python library to communicate with Ledger Blue/Nano S";
+    homepage = "https://github.com/LedgerHQ/blue-loader-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/libagent/default.nix b/pkgs/development/python-modules/libagent/default.nix
new file mode 100644
index 00000000000..5192abf8200
--- /dev/null
+++ b/pkgs/development/python-modules/libagent/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchPypi, buildPythonPackage, ed25519, ecdsa
+, semver, keepkey, trezor, mnemonic, ledgerblue
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "libagent";
+  version = "0.9.1";
+
+  src = fetchPypi{
+    inherit pname version;
+    sha256 = "1g19lsid7lqw567w31fif89w088lzbgh27xpb1pshjk1gvags3bc";
+  };
+
+  buildInputs = [
+    ed25519 ecdsa semver keepkey
+    trezor mnemonic ledgerblue
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Using hardware wallets as SSH/GPG agent";
+    homepage = "https://github.com/romanz/trezor-agent";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/libais/default.nix b/pkgs/development/python-modules/libais/default.nix
index 85b5d92e79f..5d8c886e00b 100644
--- a/pkgs/development/python-modules/libais/default.nix
+++ b/pkgs/development/python-modules/libais/default.nix
@@ -2,7 +2,8 @@
   six, pytest, pytestrunner, pytestcov, coverage
 }:
 buildPythonPackage rec {
-  name = "libais-${version}";
+  pname = "libais";
+  name = "${pname}-${version}";
   version = "0.16";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/libarcus/default.nix b/pkgs/development/python-modules/libarcus/default.nix
index cae6ac62e1e..bfe3b7bbb66 100644
--- a/pkgs/development/python-modules/libarcus/default.nix
+++ b/pkgs/development/python-modules/libarcus/default.nix
@@ -5,7 +5,8 @@ then throw "libArcus not supported for interpreter ${python.executable}"
 else
 
 stdenv.mkDerivation rec {
-  name = "libarcus-${version}";
+  pname = "libarcus";
+  name = "${pname}-${version}";
   version = "2.4.0";
   
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/libasyncns/default.nix b/pkgs/development/python-modules/libasyncns/default.nix
index 63bcad285c4..b27dbc2935a 100644
--- a/pkgs/development/python-modules/libasyncns/default.nix
+++ b/pkgs/development/python-modules/libasyncns/default.nix
@@ -2,7 +2,8 @@
 , libasyncns, pkgconfig }:
 
 buildPythonPackage rec {
-  name = "libasyncns-python-${version}";
+  pname = "libasyncns-python";
+  name = "${pname}-${version}";
   version = "0.7.1";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix
index 79eb8ab2f83..69d9dde6cba 100644
--- a/pkgs/development/python-modules/libsexy/default.nix
+++ b/pkgs/development/python-modules/libsexy/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, gtk2, glib }:
 
 buildPythonPackage rec {
-  name = "libsexy-${version}";
+  pname = "libsexy";
+  name = "${pname}-${version}";
   version = "0.1.9";
   format = "other";
 
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
new file mode 100644
index 00000000000..203b9e6bf75
--- /dev/null
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchPypi, buildPythonPackage, pytest_29 }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "libtmux";
+  version = "0.7.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "111qbgq28za12la5b0aa9rr7hg8235zy0kyzzryn7fa6z3i5k5z8";
+  };
+
+  buildInputs = [ pytest_29 ];
+  patchPhase = ''
+    sed -i 's/==.*$//' requirements/test.txt
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Scripting library for tmux";
+    homepage = https://libtmux.readthedocs.io/;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jgeerds ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index 6b6be639851..c08d05c0341 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -11,13 +11,13 @@
 buildPythonPackage rec {
   pname = "llvmlite";
   name = "${pname}-${version}";
-  version = "0.16.0";
+  version = "0.18.0";
 
   disabled = isPyPy;
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "ef3bae32482f91742d91571b5225a6943804291eb9405b98090a7b50942ec5e9";
+    sha256 = "25a38af925f0523b834b92216d7f7cc997624942d5958287350c254f5e730404";
   };
 
   propagatedBuildInputs = [ llvm ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
diff --git a/pkgs/development/python-modules/m2r/default.nix b/pkgs/development/python-modules/m2r/default.nix
index 49f1e2da5ba..74cc87d5d89 100644
--- a/pkgs/development/python-modules/m2r/default.nix
+++ b/pkgs/development/python-modules/m2r/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, buildPythonPackage, fetchurl,
+{ stdenv, buildPythonPackage, fetchPypi,
   mistune, docutils } :
 buildPythonPackage rec {
-  name = "m2r-${version}";
-  version = "0.1.5";
+  pname = "m2r";
+  name = "${pname}-${version}";
+  version = "0.1.6";
 
-  src = fetchurl {
-    url = "mirror://pypi/m/m2r/${name}.tar.gz";
-    sha256 = "08rjn3x1qag60wawjnq95wmgijrn33apr4fhj01s2p6hmrqgfj1l";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a26bc2e25e0ad3f8650385aea25cf734ac4fcd30e54faec92fd39675da75e527";
   };
 
   propagatedBuildInputs = [ mistune docutils ];
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index 99da5e83a87..a777094aea1 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonAtLeast
 , nettools
 , glibcLocales
 , autobahn
@@ -12,21 +13,25 @@
 , tqdm
 , python
 , mock
+, ipaddress
+, humanize
+, pyopenssl
+, service-identity
 }:
 
 buildPythonPackage rec {
   pname = "magic-wormhole";
-  version = "0.8.1";
+  version = "0.9.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yh5nbhh9z1am2pqnb5qqyq1zjl1m7z6jnkmvry2q14qwspw9had";
+    sha256 = "14aed4b453278651d92c3fd8955a105e2d33dcde279fa25d1d759e0e769f16b3";
   };
 
   checkInputs = [ mock ];
   buildInputs = [ nettools glibcLocales ];
-  propagatedBuildInputs = [ autobahn cffi click hkdf pynacl spake2 tqdm ];
+  propagatedBuildInputs = [ autobahn cffi click hkdf pynacl spake2 tqdm ipaddress humanize pyopenssl service-identity ];
 
   postPatch = ''
     sed -i -e "s|'ifconfig'|'${nettools}/bin/ifconfig'|" src/wormhole/ipaddrs.py
@@ -34,6 +39,8 @@ buildPythonPackage rec {
     # XXX: disable one test due to warning:
     # setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
     sed -i -e "s|def test_text_subprocess|def skip_test_text_subprocess|" src/wormhole/test/test_scripts.py
+  '' + lib.optionalString (pythonAtLeast "3.3") ''
+    sed -i -e 's|"ipaddress",||' setup.py
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/markdown2.nix b/pkgs/development/python-modules/markdown2.nix
index af7511bc9aa..e5c22bc4dc6 100644
--- a/pkgs/development/python-modules/markdown2.nix
+++ b/pkgs/development/python-modules/markdown2.nix
@@ -1,8 +1,9 @@
 { stdenv, buildPythonPackage, fetchurl }:
 
 buildPythonPackage rec {
-  name = "markdown2-${version}";
+  pname = "markdown2";
   version = "2.3.1";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/markdown2/${name}.zip";
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index b917575e239..03a03007cf9 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -20,12 +20,13 @@ assert enableTk -> (tcl != null)
 assert enableQt -> pyqt4 != null;
 
 buildPythonPackage rec {
-  name = "matplotlib-${version}";
-  version = "2.0.0";
+  version = "2.0.2";
+  pname = "matplotlib";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/matplotlib/${name}.tar.gz";
-    sha256 = "04zqymd5dw6lxvfbxf1sycdnibjk5qky5rfsn6wb46lwha2hkkrn";
+    sha256 = "0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/mnemonic/default.nix b/pkgs/development/python-modules/mnemonic/default.nix
new file mode 100644
index 00000000000..9f71fdb8e74
--- /dev/null
+++ b/pkgs/development/python-modules/mnemonic/default.nix
@@ -0,0 +1,21 @@
+{ lib, fetchurl, buildPythonPackage, pbkdf2 }:
+
+buildPythonPackage rec {
+  pname = "mnemonic";
+  version = "0.17";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/m/${pname}/${name}.tar.gz";
+    sha256 = "1hq6xb47jagfqf65iwcrh0065mj3521d2mxmahg7vfraihqyqdjn";
+  };
+
+  propagatedBuildInputs = [ pbkdf2 ];
+
+  meta = {
+    description = "Implementation of Bitcoin BIP-0039";
+    homepage = https://github.com/trezor/python-mnemonic;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index c38d948dd6b..a9ffe37a463 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
 
 buildPythonPackage rec {
-  name = "mpi4py-1.3.1";
+  pname = "mpi4py";
+  version = "2.0.0";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz";
-    sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507";
+    sha256 = "6543a05851a7aa1e6d165e673d422ba24e45c41e4221f0993fe1e5924a00cb81";
   };
 
   passthru = {
diff --git a/pkgs/development/python-modules/multidict/default.nix b/pkgs/development/python-modules/multidict/default.nix
index 9a2e13f0c59..faece73e172 100644
--- a/pkgs/development/python-modules/multidict/default.nix
+++ b/pkgs/development/python-modules/multidict/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "multidict";
-  version = "2.1.4";
+  version = "2.1.6";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "a77aa8c9f68846c3b5db43ff8ed2a7a884dbe845d01f55113a3fba78518c4cd7";
+    sha256 = "9ec33a1da4d2096949e29ddd66a352aae57fad6b5483087d54566a2f6345ae10";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
new file mode 100644
index 00000000000..881895ba6ba
--- /dev/null
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, nose
+, entrypoints
+, bleach
+, mistune
+, jinja2
+, pygments
+, traitlets
+, testpath
+, jupyter_core
+, nbformat
+, nbconvert
+, ipykernel
+, pandocfilters
+, tornado
+, jupyter_client
+}:
+
+buildPythonPackage rec {
+  pname = "nbconvert";
+  version = "5.2.1";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9ed68ec7fe90a8672b43795b29ea91cc75ea355c83debc83ebd12171521ec274";
+  };
+
+  checkInputs = [ nose pytest ];
+
+  propagatedBuildInputs = [
+    entrypoints bleach mistune jinja2 pygments traitlets testpath
+    jupyter_core nbformat ipykernel pandocfilters tornado jupyter_client
+  ];
+
+  checkPhase = ''
+    nosetests -v
+  '';
+
+  # PermissionError. Likely due to being in a chroot
+  doCheck = false;
+
+  meta = {
+    description = "Converting Jupyter Notebooks";
+    homepage = http://jupyter.org/;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
diff --git a/pkgs/development/python-modules/nbformat/default.nix b/pkgs/development/python-modules/nbformat/default.nix
new file mode 100644
index 00000000000..143c57321b6
--- /dev/null
+++ b/pkgs/development/python-modules/nbformat/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, glibcLocales
+, ipython_genutils
+, traitlets
+, testpath
+, jsonschema
+, jupyter_core
+}:
+
+buildPythonPackage rec {
+  pname = "nbformat";
+  version = "4.3.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5febcce872672f1c97569e89323992bdcb8573fdad703f835e6521253191478b";
+  };
+  LC_ALL="en_US.UTF-8";
+
+  checkInputs = [ pytest glibcLocales ];
+  propagatedBuildInputs = [ ipython_genutils traitlets testpath jsonschema jupyter_core ];
+
+  # Failing tests and permission issues
+  doCheck = false;
+
+  meta = {
+    description = "The Jupyter Notebook format";
+    homepage = "http://jupyter.org/";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
diff --git a/pkgs/development/python-modules/netcdf4.nix b/pkgs/development/python-modules/netcdf4/default.nix
index 979a741e1ab..8f06957bf22 100644
--- a/pkgs/development/python-modules/netcdf4.nix
+++ b/pkgs/development/python-modules/netcdf4/default.nix
@@ -1,17 +1,22 @@
 { stdenv, buildPythonPackage, fetchurl, isPyPy
-, numpy, zlib, netcdf, hdf5, curl, libjpeg
+, numpy, zlib, netcdf, hdf5, curl, libjpeg, cython
 }:
 buildPythonPackage rec {
-  name = "netCDF4-${version}";
-  version = "1.2.7";
+  pname = "netCDF4";
+  name = "${pname}-${version}";
+  version = "1.2.8";
 
   disabled = isPyPy;
 
   src = fetchurl {
     url = "mirror://pypi/n/netCDF4/${name}.tar.gz";
-    sha256 = "1fllizmnpw0zkzzm4j9pgamarlzfn3kmv9zrm0w65q1y31h9ni0c";
+    sha256 = "31eb4eae5fd3b2bd8f828721142ddcefdbf10287281bf6f636764dd7957f8450";
   };
 
+  buildInputs = [
+    cython
+  ];
+
   propagatedBuildInputs = [
     numpy
     zlib
diff --git a/pkgs/development/python-modules/nltk.nix b/pkgs/development/python-modules/nltk.nix
index c436e40d238..302bd89be02 100644
--- a/pkgs/development/python-modules/nltk.nix
+++ b/pkgs/development/python-modules/nltk.nix
@@ -1,12 +1,13 @@
 { fetchurl, buildPythonPackage, isPy33, lib, six, pythonAtLeast, pythonOlder }:
 
 buildPythonPackage rec {
-  name = "nltk-${version}";
-  version = "3.2.2";
+  version = "3.2.4";
+  pname = "nltk";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/n/nltk/nltk-${version}.tar.gz";
-    sha256 = "13m8i393h5mhpyvh5rghxxpax3bscv8li3ynwfdiq0kh8wsdndqv";
+    sha256 = "8682ae52f5de4f2ba7b77bd78222a38575ad01ef29946214b254dfdf93a3a0eb";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/ntlm-auth/default.nix b/pkgs/development/python-modules/ntlm-auth/default.nix
new file mode 100644
index 00000000000..03890f712af
--- /dev/null
+++ b/pkgs/development/python-modules/ntlm-auth/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, pytest
+, unittest2
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "ntlm-auth";
+  version = "1.0.3";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jborean93";
+    repo = "ntlm-auth";
+    rev = "v${version}";
+    sha256 = "09f2g4ivfi9lh1kr30hlg0q4n2imnvmd79w83gza11q9nmhhiwpz";
+  };
+
+  checkInputs = [ mock pytest unittest2 ];
+  propagatedBuildInputs = [ six ];
+
+  # Functional tests require networking
+  checkPhase = ''
+    py.test --ignore=tests/functional/test_iis.py
+  '';
+
+  meta = with lib; {
+    description = "Calculates NTLM Authentication codes";
+    homepage = https://github.com/jborean93/ntlm-auth;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ elasticdog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index 3ce40f2618a..99c7ce00853 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -14,12 +14,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.31.0";
-  name = "numba-${version}";
+  version = "0.33.0";
+  pname = "numba";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/n/numba/${name}.tar.gz";
-    sha256 = "69f8ecacca687e89625abbc9f9ff2b64b3cc8649c284a3bc92f2df6dc82a7c80";
+    sha256 = "56c5fcf3175f72b67ba8998d02870e3ea598e10c41d93289cecb9d89be7669fd";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/os-testr/default.nix b/pkgs/development/python-modules/os-testr/default.nix
index 3dbf54102e9..d97c525b17a 100644
--- a/pkgs/development/python-modules/os-testr/default.nix
+++ b/pkgs/development/python-modules/os-testr/default.nix
@@ -3,12 +3,13 @@
   coverage, oslosphinx, oslotest, testscenarios, six, ddt 
 }:
 buildPythonPackage rec {
-  name = "os-testr-${version}";
-  version = "0.8.1";
+  version = "0.8.2";
+  pname = "os-testr";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/o/os-testr/${name}.tar.gz";
-    sha256 = "10ws7l5p25psnp6rwymwdzh4zagmmnbf56xwg06cn2292m95l4i7";
+    sha256 = "d8a60bd56c541714a5cab4d1996c8ddfdb5c7c35393d55be617803048c170837";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index eb5b5987a40..ee75d211ad8 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -19,7 +19,6 @@
 , openpyxl
 , tables
 , xlwt
-, darwin ? {}
 , libcxx ? null
 }:
 
@@ -28,12 +27,12 @@ let
   inherit (stdenv) isDarwin;
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.20.1";
+  version = "0.20.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42707365577ef69f7c9c168ddcf045df2957595a9ee71bc13c7997eecb96b190";
+    sha256 = "92173c976fcca70cb19a958eccdacf98af62ef7301bf786d0321cb8857cdfae6";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -53,7 +52,7 @@ in buildPythonPackage rec {
     openpyxl
     tables
     xlwt
-  ] ++ optional isDarwin darwin.locale; # provides the locale command
+  ];
 
   # For OSX, we need to add a dependency on libcxx, which provides
   # `complex.h` and other libraries that pandas depends on to build.
@@ -63,17 +62,22 @@ in buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "['pandas/src/klib', 'pandas/src']" \
                 "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
-
-  # disable clipboard tests since pbcopy/pbpaste are not open source
-    substituteInPlace pandas/io/tests/test_clipboard.py \
-      --replace pandas.util.clipboard no_such_module \
-      --replace OSError ImportError
   '';
 
-  # The flag `-A 'not network'` will disable tests that use internet.
   checkPhase = ''
     runHook preCheck
-    py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network
+  ''
+  # TODO: Get locale and clipboard support working on darwin.
+  #       Until then we disable the tests.
+  + optionalString isDarwin ''
+    # Fake the impure dependencies pbpaste and pbcopy
+    echo "#!/bin/sh" > pbcopy
+    echo "#!/bin/sh" > pbpaste
+    chmod a+x pbcopy pbpaste
+    export PATH=$(pwd):$PATH
+  '' + ''
+    py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network \
+      ${if isDarwin then "-k 'not test_locale and not test_clipboard'" else ""}
     runHook postCheck
   '';
 
@@ -84,7 +88,7 @@ in buildPythonPackage rec {
     homepage = "http://pandas.pydata.org/";
     description = "Python Data Analysis Library";
     license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ raskin fridh ];
+    maintainers = with stdenv.lib.maintainers; [ raskin fridh knedlsepp ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix
new file mode 100644
index 00000000000..a40635b8d33
--- /dev/null
+++ b/pkgs/development/python-modules/path.py/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, pytestrunner
+, pytest
+, glibcLocales
+}:
+
+buildPythonPackage rec {
+  pname = "path.py";
+  version = "10.3.1";
+  name = "path.py-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "412706be1cd8ab723c77829f9aa0c4d4b7c7b26c7b1be0275a6841c3cb1001e0";
+  };
+
+  checkInputs = [ pytest pytestrunner ];
+  buildInputs = [setuptools_scm glibcLocales ];
+
+  LC_ALL="en_US.UTF-8";
+
+  meta = {
+    description = "A module wrapper for os.path";
+    homepage = http://github.com/jaraco/path.py;
+    license = lib.licenses.mit;
+  };
+
+  checkPhase = ''
+    py.test test_path.py
+  '';
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index 15c0d921ef8..68a2ef484c5 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pbr";
-  version = "2.0.0";
+  version = "3.0.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ccd2db529afd070df815b1521f01401d43de03941170f8a800e7531faba265d";
+    sha256 = "d7e8917458094002b9a2e0030ba60ba4c834c456071f2d0c1ccb5265992ada91";
   };
 
   # circular dependencies with fixtures
diff --git a/pkgs/development/python-modules/pelican/default.nix b/pkgs/development/python-modules/pelican/default.nix
new file mode 100644
index 00000000000..b54bcc0ed1d
--- /dev/null
+++ b/pkgs/development/python-modules/pelican/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy26
+, glibcLocales, pandoc, git
+, mock, nose, markdown, lxml, typogrify
+, jinja2, pygments, docutils, pytz, unidecode, six, dateutil, feedgenerator
+, blinker, pillow, beautifulsoup4, markupsafe }:
+
+buildPythonPackage rec {
+  pname = "pelican";
+  name = "${pname}-${version}";
+  version = "3.7.1";
+  disabled = isPy26;
+
+  src = fetchFromGitHub {
+    owner = "getpelican";
+    repo = "pelican";
+    rev = version;
+    sha256 = "0nkxrb77k2bra7bqckg7f5k73wk98hcbz7rimxl8sw05b2bvd62g";
+  };
+
+  doCheck = true;
+
+  checkPhase = ''
+    python -Wd -m unittest discover
+  '';
+
+  buildInputs = [
+    glibcLocales
+    pandoc
+    git
+    mock
+    nose
+    markdown
+    typogrify
+  ];
+
+  propagatedBuildInputs = [
+    jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
+    blinker pillow beautifulsoup4 markupsafe lxml
+  ];
+
+  postPatch= ''
+    substituteInPlace pelican/tests/test_pelican.py \
+      --replace "'git'" "'${git}/bin/git'"
+  '';
+
+  LC_ALL="en_US.UTF-8";
+
+  meta = with stdenv.lib; {
+    description = "A tool to generate a static blog from reStructuredText or Markdown input files";
+    homepage = "http://getpelican.com/";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ offline prikhi garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/pep257.nix b/pkgs/development/python-modules/pep257.nix
index 1cd0e4afc0c..9f61619e12b 100644
--- a/pkgs/development/python-modules/pep257.nix
+++ b/pkgs/development/python-modules/pep257.nix
@@ -1,6 +1,7 @@
 { stdenv, buildPythonPackage, fetchurl, pytest, mock }:
 buildPythonPackage rec {
-  name = "pep257-${version}";
+  pname = "pep257";
+  name = "${pname}-${version}";
   version = "0.7.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index ead0e3d858d..5c1d69b00be 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "phonenumbers-8.4.0";
+  pname = "phonenumbers";
+  version = "8.5.0";
+  name = "${pname}-${version}";
 
   meta = {
     description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers";
@@ -12,6 +14,6 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "mirror://pypi/p/phonenumbers/${name}.tar.gz";
-    sha256 = "1c052gd7ra3v183jq2x5nwa428wxh1g3psfh0ay5jwwmcxy78vab";
+    sha256 = "6d3d82a3dcb0418431099d1b1c24efb280cbec8f81c7ce3d1abf417c238b8859";
   };
 }
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index fe307513de7..df2bcc03de4 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, buildPythonPackage, pip, pytest, click, six, first, glibcLocales }:
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "1.8.1rc3";
+  version = "1.9.0";
   name = "pip-tools-${version}";
 
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = "pip-tools";
     rev = version;
-    sha256 = "09rbgzj71bfp1x1jfr1zx3vax4qjbw5l6vcd3fqvshsdvg9lcnpx";
+    sha256 = "0706feb27263a2dade6d39cc508e718282bd08f455d0643f251659f905be4d56";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 6e5627a58ca..4c78ac63d30 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "2.0.8";
+  version = "2.0.9";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zbwx771w6425w4g6l9fhq4x1854fdnni6xq9xhvs8xqgxkrljm5";
+    sha256 = "1b82ec9e09179b5191297b82a3f89f61055b730b09a1821c71fac18e82857e8f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/powerline/default.nix b/pkgs/development/python-modules/powerline/default.nix
new file mode 100644
index 00000000000..86f5adb2824
--- /dev/null
+++ b/pkgs/development/python-modules/powerline/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchurl
+, buildPythonPackage
+, git
+, mercurial
+, bazaar
+, psutil
+, pygit2
+}:
+
+buildPythonPackage rec {
+  rev  = "2.6";
+  name = "powerline-${rev}";
+  src = fetchurl {
+    url    = "https://github.com/powerline/powerline/archive/${rev}.tar.gz";
+    name   = "${name}.tar.gz";
+    sha256 = "c108f11fe10dc910febb94b87d3abded85d4363fb950366a9e30282b9ba7c272";
+  };
+
+  propagatedBuildInputs = [ git mercurial bazaar psutil pygit2];
+
+# error: This is still beta and some tests still fail
+  doCheck = false;
+
+  postInstall = ''
+    install -dm755 "$out/share/fonts/OTF/"
+    install -dm755 "$out/etc/fonts/conf.d"
+    install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf"
+    install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf"
+
+    install -dm755 "$out/share/vim/vimfiles/plugin"
+    install -m644 "powerline/bindings/vim/plugin/powerline.vim" "$out/share/vim/vimfiles/plugin/powerline.vim"
+
+    install -dm755 "$out/share/zsh/site-contrib"
+    install -m644 "powerline/bindings/zsh/powerline.zsh" "$out/share/zsh/site-contrib/powerline.zsh"
+
+    install -dm755 "$out/share/tmux"
+    install -m644 "powerline/bindings/tmux/powerline.conf" "$out/share/tmux/powerline.conf"
+    '';
+
+  meta = {
+    homepage    = https://github.com/powerline/powerline;
+    description = "The ultimate statusline/prompt utility";
+    license     = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pyatspi/default.nix b/pkgs/development/python-modules/pyatspi/default.nix
index 012c8c42d6a..d96a4c8cea3 100644
--- a/pkgs/development/python-modules/pyatspi/default.nix
+++ b/pkgs/development/python-modules/pyatspi/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchurl, pkgconfig, at_spi2_core, pythonPackages }:
 
 stdenv.mkDerivation rec {
+  pname = "pyatspi";
   version = "2.18.0";
-  name = "pyatspi-${version}";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pyatspi/2.18/${name}.tar.xz";
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 2919506e931..284736fd475 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -3,14 +3,15 @@
 if (isPyPy) then throw "pycairo not supported for interpreter ${python.executable}" else let
 
   patch_waf = fetchpatch {
-    url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_python_3_4-1.patch;
+    url = http://www.linuxfromscratch.org/patches/blfs/8.0/pycairo-1.10.0-waf_python_3_4-1.patch;
     sha256 = "0xfl1i9dips2nykyg91f5h5r3xpk2hp1js1gq5z0hwjr0in55id4";
   };
   patch_waf-py3_5 = ./waf-py3_5.patch;
 
 in buildPythonPackage rec {
+  pname = "pycairo";
   version = "1.10.0";
-  name = "pycairo-${version}";
+  name = "${pname}-${version}";
   format = "other";
 
   src = if isPy3k
@@ -25,7 +26,7 @@ in buildPythonPackage rec {
 
   patches = [
     (fetchpatch {
-      url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_unpack-1.patch;
+      url = http://www.linuxfromscratch.org/patches/blfs/8.0/pycairo-1.10.0-waf_unpack-1.patch;
       sha256 = "1bmrhq2nmhx4l5glvyi59r0hc7w5m56kz41frx7v3dcp8f91p7xd";
     })
   ];
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index d465c0befe1..71b90d242f0 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, python, buildPythonPackage, gmp }:
 
 buildPythonPackage rec {
-  version = "3.4.3";
-  name = "pycryptodome-${version}";
+  version = "3.4.6";
+  pname = "pycryptodome";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pycryptodome/${name}.tar.gz";
-    sha256 = "1x2kk2va77lqys2dd7gwh35m4vrp052zz5hvv1zqxzksg2srf5jb";
+    sha256 = "df1be662060cf3abdcf2086ebb401f750744106425ddebf74c57feab410e4923";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix
index 471ffbe6c35..71bf64b7733 100644
--- a/pkgs/development/python-modules/pycuda/default.nix
+++ b/pkgs/development/python-modules/pycuda/default.nix
@@ -22,12 +22,12 @@ let
 in
 buildPythonPackage rec {
   pname = "pycuda";
-  version = "2016.1.2";
+  version = "2017.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "0dvf1cnrlvmrc7i100n2ndrnd7fjm7aq3wpmk2nx5h7hwb3xmnx7";
+    sha256 = "a92725ccd8515b4d7284b9127184b6fdb61f224daa086e7fc6b926e2094b055f";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/pyexiv2/default.nix b/pkgs/development/python-modules/pyexiv2/default.nix
index 1bdf61904eb..5d11b716a2f 100644
--- a/pkgs/development/python-modules/pyexiv2/default.nix
+++ b/pkgs/development/python-modules/pyexiv2/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, python, exiv2, scons, boost }:
 
-let version = "0.3.2"; in
-
 stdenv.mkDerivation rec {
-  name = "pyexiv2-${version}";
+  pname = "pyexiv2";
+  version = "0.3.2";
+  name = "${pname}-${version}";
   
   src = fetchurl {
     url = "http://launchpad.net/pyexiv2/0.3.x/0.3.2/+download/${name}.tar.bz2";
diff --git a/pkgs/development/python-modules/pyext/default.nix b/pkgs/development/python-modules/pyext/default.nix
index 6f03a2edf79..563a3217e8c 100644
--- a/pkgs/development/python-modules/pyext/default.nix
+++ b/pkgs/development/python-modules/pyext/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
     name = pname + "-" + version;
     pname = "pyext";
-    version = "0.7";
+    version = "0.6";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1pvwjkrjqajzh4wiiw1mzqp0bb81cqc2gk23nj24m32fpqssc676";
+      sha256 = "6c406cf71b991e1fc5a7f963d3a289525bce5e7ad1c43b697d9f5223185fcaef";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix
index af7b7aca93c..a10c858c233 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame/default.nix
@@ -3,7 +3,8 @@
 }:
 
 buildPythonPackage rec {
-  name = "pygame-${version}";
+  pname = "pygame";
+  name = "${pname}-${version}";
   version = "1.9.3";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pylibmc/default.nix b/pkgs/development/python-modules/pylibmc/default.nix
index c91930292c2..7f57f17efeb 100644
--- a/pkgs/development/python-modules/pylibmc/default.nix
+++ b/pkgs/development/python-modules/pylibmc/default.nix
@@ -1,11 +1,12 @@
-{ buildPythonPackage, fetchurl, stdenv, libmemcached, zlib }:
+{ buildPythonPackage, fetchPypi, stdenv, libmemcached, zlib }:
 buildPythonPackage rec {
-  name = "pylibmc-${version}";
-  version = "1.5.1";
+  version = "1.5.2";
+  pname = "pylibmc";
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://pypi.python.org/packages/source/p/pylibmc/${name}.tar.gz";
-    sha256 = "1mnd8lng9wmcihl7mxd940hy1dzzvzsb971qclrvmqf3b4c2dfpc";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fc54e28a9f1b5b2ec0c030da29c7ad8a15c2755bd98aaa4142eaf419d5fabb33";
   };
 
   buildInputs = [ libmemcached zlib ];
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 67604c3f253..130aef60f97 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, buildPythonPackage, python, astroid, isort,
-  pytest,  mccabe, configparser, backports_functools_lru_cache }:
+  pytest, pytestrunner,  mccabe, configparser, backports_functools_lru_cache }:
 
   buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "pylint";
-    version = "1.6.5";
+    version = "1.7.1";
 
     src = fetchurl {
       url = "mirror://pypi/p/${pname}/${name}.tar.gz";
-      sha256 = "06b78nl996949a7h01c4ycy8779hl5cm7vpxij5lm3npim59hwx6";
+      sha256 = "8b4a7ab6cf5062e40e2763c0b4a596020abada1d7304e369578b522e46a6264a";
     };
 
-    buildInputs = [ pytest mccabe configparser backports_functools_lru_cache ];
+    buildInputs = [ pytest pytestrunner mccabe configparser backports_functools_lru_cache ];
 
     propagatedBuildInputs = [ astroid isort ];
 
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index 7be60b1e69b..ddab1cde1e6 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , Mako
 , pytest
@@ -15,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2016.2";
+  version = "2017.1.1";
   name = "${pname}-${version}";
 
   buildInputs = [ pytest opencl-headers ocl-icd ];
 
   propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ];
 
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "1b94540cf59ea71a3ef234a8f1d0eb2b4633c112f0f554fb69e52b4a0337d82b";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "928c458a463321c6c91e7fa54bf325bf71d7a8aa5ff750ec8fed2472f6aeb323";
   };
 
   # gcc: error: pygpu_language_opencl.cpp: No such file or directory
diff --git a/pkgs/development/python-modules/pyrax.nix b/pkgs/development/python-modules/pyrax.nix
index 87c0c3db264..7857f46e242 100644
--- a/pkgs/development/python-modules/pyrax.nix
+++ b/pkgs/development/python-modules/pyrax.nix
@@ -1,7 +1,9 @@
 { lib, buildPythonPackage, fetchurl, requests, novaclient, keyring,
   rackspace-novaclient, six, isPy3k, pytest, glibcLocales }:
 buildPythonPackage rec {
-  name = "pyrax-1.9.8";
+  pname = "pyrax";
+  version = "1.9.8";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pyrax/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 1b47b7f3f7d..757933bd6b6 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -1,11 +1,13 @@
 {stdenv, buildPythonPackage, fetchurl}:
 
 buildPythonPackage rec {
-  name = "pyroute2-0.4.13";
+  pname = "pyroute2";
+  version = "0.4.15";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pyroute2/${name}.tar.gz";
-    sha256 = "0f8a1ihxc1r78m6dqwhks2vdp4vwwbw72mbv88v70qmkb0pxgwwk";
+    sha256 = "273530e78261ac5e9e2985f12fad9e6c4231f8e49b8c285c05a23dcda5afce58";
   };
 
   # requires root priviledges
diff --git a/pkgs/development/python-modules/pyscard/default.nix b/pkgs/development/python-modules/pyscard/default.nix
index bb2291fb4ac..796bc88430a 100644
--- a/pkgs/development/python-modules/pyscard/default.nix
+++ b/pkgs/development/python-modules/pyscard/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, buildPythonPackage, swig, pcsclite }:
 
 buildPythonPackage rec {
-  name = "pyscard-${version}";
-  version = "1.9.4";
+  version = "1.9.5";
+  pname = "pyscard";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pyscard/${name}.tar.gz";
-    sha256 = "0gn0p4p8dhk99g8vald0dcnh45jbf82bj72n4djyr8b4hawkck4v";
+    sha256 = "7eef027e1939b7595fc13c03616f262f90d118594fdb6f7620af46b54fa06835";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index 009afdd3a03..9d7f11b939d 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -2,7 +2,8 @@
 
 # This derivation provides a Python module and should therefore be called via `python-packages.nix`.
 buildPythonPackage rec {
-  name = "pyside-${version}";
+  pname = "pyside";
+  name = "${pname}-${version}";
   version = "1.2.4";
   format = "other";
 
diff --git a/pkgs/development/python-modules/pysrt/default.nix b/pkgs/development/python-modules/pysrt/default.nix
index 076838425a4..147e9773fbf 100644
--- a/pkgs/development/python-modules/pysrt/default.nix
+++ b/pkgs/development/python-modules/pysrt/default.nix
@@ -6,7 +6,8 @@
 }:
 
 buildPythonApplication rec {
-  name = "pysrt-${version}";
+  pname = "pysrt";
+  name = "${pname}-${version}";
   version = "1.1.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytest-django/default.nix b/pkgs/development/python-modules/pytest-django/default.nix
index 56fc72ebcce..0fd48568446 100644
--- a/pkgs/development/python-modules/pytest-django/default.nix
+++ b/pkgs/development/python-modules/pytest-django/default.nix
@@ -3,7 +3,8 @@
 , fetchpatch
 }:
 buildPythonPackage rec {
-  name = "pytest-django-${version}";
+  pname = "pytest-django";
+  name = "${pname}-${version}";
   version = "3.1.2";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pytest-httpbin/default.nix b/pkgs/development/python-modules/pytest-httpbin/default.nix
index 34a2bf7e31c..6f6f79109d9 100644
--- a/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/pkgs/development/python-modules/pytest-httpbin/default.nix
@@ -10,7 +10,8 @@
 }:
 
 buildPythonPackage rec {
-  name = "pytest-httpbin-${version}";
+  pname = "pytest-httpbin";
+  name = "${pname}-${version}";
   version = "0.2.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytest-localserver/default.nix b/pkgs/development/python-modules/pytest-localserver/default.nix
new file mode 100644
index 00000000000..fdd1986c04f
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-localserver/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, requests
+, pytest
+, six
+, werkzeug
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-localserver";
+  name = "${pname}-${version}";
+  version = "0.3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1c11hn61n06ms0wmw6536vs5k4k9hlndxsb3p170nva56a9dfa6q";
+  };
+
+  propagatedBuildInputs = [ werkzeug ];
+  buildInputs = [ pytest six requests ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = {
+    description = "Plugin for the pytest testing framework to test server connections locally";
+    homepage = https://pypi.python.org/pypi/pytest-localserver;
+    license = lib.licenses.mit;
+  };
+}
+
diff --git a/pkgs/development/python-modules/pytest-pep257.nix b/pkgs/development/python-modules/pytest-pep257.nix
index 7ce63ebc7a6..1509d80feb1 100644
--- a/pkgs/development/python-modules/pytest-pep257.nix
+++ b/pkgs/development/python-modules/pytest-pep257.nix
@@ -1,19 +1,21 @@
 { stdenv, buildPythonPackage, fetchurl, pytest, pep257 }:
+
 buildPythonPackage rec {
-   name = "pytest-pep257-${version}";
-   version = "0.0.5";
+  pname = "pytest-pep257";
+  name = "${pname}-${version}";
+  version = "0.0.5";
 
-   src = fetchurl {
-     url = "mirror://pypi/p/pytest-pep257/${name}.tar.gz";
-     sha256 = "082v3d5k4331x53za51kl8zxsndsw1pcyf1xdfpb2gjdjrhixb8w";
-   };
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest-pep257/${name}.tar.gz";
+    sha256 = "082v3d5k4331x53za51kl8zxsndsw1pcyf1xdfpb2gjdjrhixb8w";
+  };
 
-   buildInputs = [ pytest ];
-   propagatedBuildInputs = [ pep257 ];
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ pep257 ];
 
-   meta = with stdenv.lib; {
-     homepage = https://github.com/anderslime/pytest-pep257;
-     description = "py.test plugin for PEP257";
-     license = licenses.mit;
-   };
+  meta = with stdenv.lib; {
+    homepage = https://github.com/anderslime/pytest-pep257;
+    description = "py.test plugin for PEP257";
+    license = licenses.mit;
+  };
 }
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 90b67022c5b..402c869c98c 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -1,7 +1,8 @@
 { stdenv, buildPythonPackage, fetchurl, isPy26, argparse, hypothesis, py }:
 buildPythonPackage rec {
-  name = "pytest-${version}";
   version = "3.0.7";
+  pname = "pytest";
+  name = "${pname}-${version}";
 
   preCheck = ''
     # don't test bash builtins
diff --git a/pkgs/development/python-modules/pytestdjango.nix b/pkgs/development/python-modules/pytestdjango.nix
deleted file mode 100644
index 5a8dd85f4bd..00000000000
--- a/pkgs/development/python-modules/pytestdjango.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, buildPythonPackage, fetchurl
-, pytest, django, setuptools_scm
-}:
-buildPythonPackage rec {
-  name = "pytest-django-${version}";
-  version = "3.1.2";
-
-  src = fetchurl {
-    url = "mirror://pypi/p/pytest-django/${name}.tar.gz";
-    sha256 = "02932m2sr8x22m4az8syr8g835g4ak77varrnw71n6xakmdcr303";
-  };
-
-  buildInputs = [ pytest setuptools_scm ];
-  propagatedBuildInputs = [ django ];
-
-  meta = with stdenv.lib; {
-    description = "py.test plugin for testing of Django applications";
-    homepage = http://pytest-django.readthedocs.org/en/latest/;
-    license = licenses.bsd3;
-  };
-}
diff --git a/pkgs/development/python-modules/python-jose/default.nix b/pkgs/development/python-modules/python-jose/default.nix
index da4dd410746..c1472bc66a8 100644
--- a/pkgs/development/python-modules/python-jose/default.nix
+++ b/pkgs/development/python-modules/python-jose/default.nix
@@ -3,7 +3,8 @@
 }:
 
 buildPythonPackage rec {
-  name = "python-jose-${version}";
+  pname = "python-jose";
+  name = "${pname}-${version}";
   version = "1.3.2";
   src = fetchFromGitHub {
     owner = "mpdavis";
diff --git a/pkgs/development/python-modules/python-sql/default.nix b/pkgs/development/python-modules/python-sql/default.nix
index 30f734d5719..f5ce3a15626 100644
--- a/pkgs/development/python-modules/python-sql/default.nix
+++ b/pkgs/development/python-modules/python-sql/default.nix
@@ -1,11 +1,12 @@
 { lib, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "python-sql-${version}";
-  version = "0.8";
+  pname = "python-sql";
+  name = "${pname}-${version}";
+  version = "0.9";
   src = fetchurl {
     url = "mirror://pypi/p/python-sql/${name}.tar.gz";
-    sha256 = "0xik939sxqfqqbpgcsnfjnws692bjip32khgwhq1ycphfy7df3h2";
+    sha256 = "07b51cc1c977ef5480fe671cae5075ad4b68a6fc67f4569782e06f012456d35c";
   };
   meta = {
     homepage = http://python-sql.tryton.org/;
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index fe85b7bb0d3..337577141c2 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -1,13 +1,14 @@
 { lib, fetchurl, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
-  name = "python-stdnum-${version}";
-  version = "1.5";
+  version = "1.6";
+  pname = "python-stdnum";
+  name = "${pname}-${version}";
   # Failing tests and dependency issue on Py3k
   disabled = isPy3k;
   src = fetchurl {
     url = "mirror://pypi/p/python-stdnum/${name}.tar.gz";
-    sha256 = "0zkkpjy4gc161dkyxjmingjw48glljlqqrl4fh2k5idf0frkvzhh";
+    sha256 = "157a0aef01b1e846ddd11252dc516637da6b3347e32f0130825b7fae1d8b4655";
   };
   meta = {
     homepage = "http://arthurdejong.org/python-stdnum/";
diff --git a/pkgs/development/python-modules/pyudev.nix b/pkgs/development/python-modules/pyudev.nix
index e9a3ecaac5b..70950e4e927 100644
--- a/pkgs/development/python-modules/pyudev.nix
+++ b/pkgs/development/python-modules/pyudev.nix
@@ -3,7 +3,8 @@
 }:
 
 buildPythonPackage rec {
-  name = "pyudev-${version}";
+  pname = "pyudev";
+  name = "${pname}-${version}";
   version = "0.21.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pywebdav/default.nix b/pkgs/development/python-modules/pywebdav/default.nix
index 27925a619f2..a69c8568aca 100644
--- a/pkgs/development/python-modules/pywebdav/default.nix
+++ b/pkgs/development/python-modules/pywebdav/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchurl, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
-  name = "PyWebDAV-${version}";
+  pname = "pywebdav";
+  name = "${pname}-${version}";
   version = "0.9.8";
   disabled = isPy3k;
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pywinrm/default.nix b/pkgs/development/python-modules/pywinrm/default.nix
new file mode 100644
index 00000000000..b2b5ba20801
--- /dev/null
+++ b/pkgs/development/python-modules/pywinrm/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mock
+, pytest
+, requests
+, requests_ntlm
+, six
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "pywinrm";
+  version = "0.2.2";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06xc0mbqf718vmsp0fq0rb64nql66l5w2x23bmqnzl6nzc0gfc1h";
+  };
+
+  checkInputs = [ mock pytest ];
+  propagatedBuildInputs = [ requests requests_ntlm six xmltodict ];
+
+  meta = with lib; {
+    description = "Python library for Windows Remote Management";
+    homepage = "http://github.com/diyan/pywinrm/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ elasticdog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/pyxml/default.nix b/pkgs/development/python-modules/pyxml/default.nix
index b85b2042369..0ef91fda9e3 100644
--- a/pkgs/development/python-modules/pyxml/default.nix
+++ b/pkgs/development/python-modules/pyxml/default.nix
@@ -1,7 +1,9 @@
 {lib, fetchurl, python, buildPythonPackage, makeWrapper}:
 
 buildPythonPackage rec {
-  name = "PyXML-0.8.4";
+  pname = "PyXML";
+  version = "0.8.4";
+  name = "${pname}-${pname}";
   format = "other";
   src = fetchurl {
     url = "mirror://sourceforge/pyxml/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/rarfile/default.nix b/pkgs/development/python-modules/rarfile/default.nix
index 7231da9d3d0..c2c8c926432 100644
--- a/pkgs/development/python-modules/rarfile/default.nix
+++ b/pkgs/development/python-modules/rarfile/default.nix
@@ -1,7 +1,14 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, nose, unrar, glibcLocales }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, nose, libarchive, glibcLocales
+# unrar is non-free software
+, useUnrar ? false, unrar
+}:
+
+assert useUnrar -> unrar != null;
+assert !useUnrar -> libarchive != null;
 
 buildPythonPackage rec {
-  name = "rarfile-${version}";
+  pname = "rarfile";
+  name = "${pname}-${version}";
   version = "3.0";
 
   src = fetchFromGitHub {
@@ -14,8 +21,16 @@ buildPythonPackage rec {
 
   prePatch = ''
     substituteInPlace rarfile.py \
-      --replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
-  '';
+  '' + (if useUnrar then
+        ''--replace 'UNRAR_TOOL = "unrar"' "UNRAR_TOOL = \"${unrar}/bin/unrar\""
+        ''
+       else
+        ''--replace 'ALT_TOOL = "bsdtar"' "ALT_TOOL = \"${libarchive}/bin/bsdtar\""
+        '')
+     + ''
+   '';
+  # the tests only work with the standard unrar package
+  doCheck = useUnrar;
   LC_ALL = "en_US.UTF-8";
   checkPhase = ''
     py.test test -k "not test_printdir"
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index 14ebe52eae9..d8b380896cc 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -14,11 +14,11 @@
 buildPythonPackage rec {
   pname = "reikna";
   name = "${pname}-${version}";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "810b349eb9339aa0d13bca99a3d8a380972708474b8c0990d188ec6074358d62";
+    sha256 = "34d92786237bef9ab5d37d78f01c155d0dcd1fc24df7782af9498a9f1786890c";
   };
 
   buildInputs = [ sphinx pytestcov pytest ];
diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix
index 4f2c3da8936..dc42449a339 100644
--- a/pkgs/development/python-modules/relatorio/default.nix
+++ b/pkgs/development/python-modules/relatorio/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchurl, buildPythonPackage, genshi, lxml }:
 
 buildPythonPackage rec {
-  name = "relatorio-${version}";
+  pname = "relatorio";
+  name = "${pname}-${version}";
   version = "0.6.4";
   src = fetchurl {
     url = "mirror://pypi/r/relatorio/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/requests-oauthlib.nix b/pkgs/development/python-modules/requests-oauthlib.nix
index 62ecf134b49..0162d6f6eb5 100644
--- a/pkgs/development/python-modules/requests-oauthlib.nix
+++ b/pkgs/development/python-modules/requests-oauthlib.nix
@@ -2,12 +2,13 @@
 , oauthlib, requests }:
 
 buildPythonPackage rec {
-  version = "0.7.0";
-  name = "requests-oauthlib-${version}";
+  version = "0.8.0";
+  pname = "requests-oauthlib";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://github.com/requests/requests-oauthlib/archive/v${version}.tar.gz";
-    sha256 = "0cdn45k7qla0qwha0rm9pk9bcfhghvmqrdsphs73irs2rzk5cp2j";
+    sha256 = "883ac416757eada6d3d07054ec7092ac21c7f35cb1d2cf82faf205637081f468";
   };
 
   doCheck = false;        # Internet tests fail when building in chroot
diff --git a/pkgs/development/python-modules/requests_ntlm/default.nix b/pkgs/development/python-modules/requests_ntlm/default.nix
new file mode 100644
index 00000000000..c475ff85ff3
--- /dev/null
+++ b/pkgs/development/python-modules/requests_ntlm/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ntlm-auth
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "requests_ntlm";
+  version = "1.0.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hb689p2jyb867c2wlq5mjkqxgc0jq6lxv3rmhw8rq9qangk3jjk";
+  };
+
+  propagatedBuildInputs = [ ntlm-auth requests ];
+
+  # Tests require networking
+  doCheck = false;
+
+  meta = with lib; {
+    description = "HTTP NTLM authentication support for python-requests";
+    homepage = https://github.com/requests/requests-ntlm;
+    license = licenses.isc;
+    maintainers = with maintainers; [ elasticdog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/rfc3986/default.nix b/pkgs/development/python-modules/rfc3986/default.nix
index dde36e7592e..a8848fcac33 100644
--- a/pkgs/development/python-modules/rfc3986/default.nix
+++ b/pkgs/development/python-modules/rfc3986/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "rfc3986";
-  version = "0.4.1";
+  version = "1.0.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5ac85eb132fae7bbd811fa48d11984ae3104be30d44d397a351d004c633a68d2";
+    sha256 = "2faacfabcc13ed89b061b5f21cbbf330f82400654b317b5907d311c3478ec4c4";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/rhpl/default.nix b/pkgs/development/python-modules/rhpl/default.nix
index 7ba1c79cd05..d502ad75566 100644
--- a/pkgs/development/python-modules/rhpl/default.nix
+++ b/pkgs/development/python-modules/rhpl/default.nix
@@ -1,16 +1,18 @@
 {stdenv, fetchurl, rpmextract, python, wirelesstools, gettext}:
 
-stdenv.mkDerivation {
-  name = "rhpl-0.218";
-  
+stdenv.mkDerivation rec {
+  pname = "rhpl";
+  version = "0.218";
+  name = "${pname}-${version}";
+
   src = fetchurl {
     url = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org/fedora/linux/releases/10/Everything/source/SRPMS//rhpl-0.218-1.src.rpm;
     sha256 = "0c3sc74cjzz5dmpr2gi5naxcc5p2qmzagz7k561xj07njn0ddg16";
   };
-  
+
   inherit python;
-  
+
   builder = ./builder.sh;
-  
+
   buildInputs = [ rpmextract python wirelesstools gettext ];
 }
diff --git a/pkgs/development/python-modules/ropper/default.nix b/pkgs/development/python-modules/ropper/default.nix
new file mode 100644
index 00000000000..37369b8f0bd
--- /dev/null
+++ b/pkgs/development/python-modules/ropper/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonApplication
+, fetchPypi
+, capstone
+, filebytes
+, pytest }:
+
+buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "ropper";
+  version = "1.10.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1676e07947a19df9d17002307a7555c2647a4224d6f2869949e8fc4bd18f2e87";
+  };
+  checkPhase = ''
+    py.test testcases
+  '';
+  buildInputs = [pytest];
+  propagatedBuildInputs = [ capstone filebytes ];
+  meta = with stdenv.lib; {
+    homepage = "https://scoding.de/ropper/";
+    license = licenses.gpl2;
+    description = "Show information about files in different file formats";
+    maintainers = with maintainers; [ bennofs ];
+  };
+}
diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix
new file mode 100644
index 00000000000..6ac787bc82b
--- /dev/null
+++ b/pkgs/development/python-modules/scikitlearn/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, buildPythonPackage, fetchpatch, fetchPypi, python
+, nose, pillow
+, gfortran, glibcLocales
+, numpy, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "scikit-learn";
+  version = "0.18.1";
+  name = "${pname}-${version}";
+  disabled = stdenv.isi686;  # https://github.com/scikit-learn/scikit-learn/issues/5534
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1eddfc27bb37597a5d514de1299981758e660e0af56981c0bfdf462c9568a60c";
+  };
+
+  patches = [
+    # python 3.6 test fixes (will be part of 0.18.2)
+    (fetchpatch {
+       url = https://github.com/scikit-learn/scikit-learn/pull/8123/commits/b77f28a7163cb4909da1b310f1fb741bee3cabfe.patch;
+       sha256 = "1rp6kr6hiabb6s0vh7mkgr10qwrqlq3z1fhpi0s011hg434ckh19";
+     })
+  ];
+
+  buildInputs = [ nose pillow gfortran glibcLocales ];
+  propagatedBuildInputs = [ numpy scipy numpy.blas ];
+
+  LC_ALL="en_US.UTF-8";
+
+  checkPhase = ''
+    HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A set of python modules for machine learning and data mining";
+    homepage = http://scikit-learn.org;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fridh ];
+  };
+}
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 8f3b2ef74b2..2fcc0659384 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -2,8 +2,9 @@
   testfixtures, pillow, six, twisted, w3lib, lxml, queuelib, pyopenssl,
   service-identity, parsel, pydispatcher, cssselect, lib }:
 buildPythonPackage rec {
-    name = "Scrapy-${version}";
-    version = "1.3.1";
+    version = "1.4.0";
+    pname = "Scrapy";
+    name = "${pname}-${version}";
 
     buildInputs = [ glibcLocales mock pytest botocore testfixtures pillow ];
     propagatedBuildInputs = [
@@ -25,7 +26,7 @@ buildPythonPackage rec {
 
     src = fetchurl {
       url = "mirror://pypi/S/Scrapy/${name}.tar.gz";
-      sha256 = "0s5qkxwfq842maxjd2j82ldp4dyb70kla3z5rr56z0p7ig53cbvk";
+      sha256 = "04a08f027eef5d271342a016439533c81ba46f14bfcf230fecf602e99beaf233";
     };
 
     meta = with lib; {
diff --git a/pkgs/development/python-modules/scrapy/permissions-fix.patch b/pkgs/development/python-modules/scrapy/permissions-fix.patch
index 5ea5269c799..53038cf74e5 100644
--- a/pkgs/development/python-modules/scrapy/permissions-fix.patch
+++ b/pkgs/development/python-modules/scrapy/permissions-fix.patch
@@ -21,8 +21,3 @@ index 5941066..89f8edb 100644
  
      def run(self, args, opts):
          if len(args) not in (1, 2):
-@@ -118,4 +117,3 @@ class Command(ScrapyCommand):
-         _templates_base_dir = self.settings['TEMPLATES_DIR'] or \
-             join(scrapy.__path__[0], 'templates')
-         return join(_templates_base_dir, 'project')
--    
diff --git a/pkgs/development/python-modules/semver/default.nix b/pkgs/development/python-modules/semver/default.nix
new file mode 100644
index 00000000000..285da546071
--- /dev/null
+++ b/pkgs/development/python-modules/semver/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "semver";
+  version = "2.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "161gvsfpw0l8lnf1v19rvqc8b9f8n70cc8ppya4l0n6rwc1c1n4m";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python package to work with Semantic Versioning (http://semver.org/)";
+    homepage = "https://github.com/k-bx/python-semver";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 63e05736d79..59fe5f14839 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, lib, fetchurl, python, wrapPython }:
+{ stdenv
+, fetchPypi
+, python
+, wrapPython
+, unzip
+}:
 
+# Should use buildPythonPackage here somehow
 stdenv.mkDerivation rec {
   pname = "setuptools";
-  shortName = "${pname}-${version}";
-  name = "${python.libPrefix}-${shortName}";
+  version = "36.0.1";
+  name = "${python.libPrefix}-${pname}-${version}";
 
-  version = "30.2.0";
-
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${shortName}.tar.gz";
-    sha256 = "f865709919903e3399343c0b3c42f95e9aeddc41e38cfb334fb2bb5dfa384857";
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "e17c4687fddd6d70a6604ac0ad25e33324cec71b5137267dd5c45e103c4b288a";
   };
 
-  buildInputs = [ python wrapPython ];
+  buildInputs = [ python wrapPython unzip ];
   doCheck = false;  # requires pytest
   installPhase = ''
       dst=$out/${python.sitePackages}
@@ -27,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Utilities to facilitate the installation of Python packages";
     homepage = http://pypi.python.org/pypi/setuptools;
-    license = with lib.licenses; [ psfl zpt20 ];
+    license = with licenses; [ psfl zpt20 ];
     platforms = platforms.all;
     priority = 10;
   };
diff --git a/pkgs/development/python-modules/simpleeval/default.nix b/pkgs/development/python-modules/simpleeval/default.nix
index cd77f66b56e..78dc82bc770 100644
--- a/pkgs/development/python-modules/simpleeval/default.nix
+++ b/pkgs/development/python-modules/simpleeval/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "simpleeval-${version}";
+  pname = "simpleeval";
+  name = "${pname}-${version}";
   version = "0.9.5";
   src = fetchurl {
     url = "mirror://pypi/s/simpleeval/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix
new file mode 100644
index 00000000000..4deac80fb06
--- /dev/null
+++ b/pkgs/development/python-modules/simplejson/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, stdenv
+}:
+
+buildPythonPackage rec {
+  pname = "simplejson";
+  version = "3.10.0";
+  name = "${pname}-${version}";
+  doCheck = !stdenv.isDarwin;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "953be622e88323c6f43fad61ffd05bebe73b9fd9863a46d68b052d2aa7d71ce2";
+  };
+
+  meta = {
+    description = "A simple, fast, extensible JSON encoder/decoder for Python";
+    longDescription = ''
+      simplejson is compatible with Python 2.4 and later with no
+      external dependencies.  It covers the full JSON specification
+      for both encoding and decoding, with unicode support.  By
+      default, encoding is done in an encoding neutral fashion (plain
+      ASCII with \uXXXX escapes for unicode characters).
+    '';
+    homepage = http://code.google.com/p/simplejson/;
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index 76652954cf0..b6094f37c3a 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,7 +1,9 @@
 { lib, fetchurl, buildPythonPackage, python, isPyPy }:
 
 if isPyPy then throw "sip not supported for interpreter ${python.executable}" else buildPythonPackage rec {
-  name = "sip-4.19.1";
+  pname = "sip";
+  version = "4.19.1";
+  name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/snakeviz/default.nix b/pkgs/development/python-modules/snakeviz/default.nix
index be6f86dae54..6754089ffce 100644
--- a/pkgs/development/python-modules/snakeviz/default.nix
+++ b/pkgs/development/python-modules/snakeviz/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, buildPythonPackage, tornado }:
 
 buildPythonPackage rec {
-  name = "snakeviz-${version}";
+  pname = "snakeviz";
+  name = "${pname}-${version}";
   version = "0.4.1";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
index 11ed3a8d673..9cf1ba1b3d8 100644
--- a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
@@ -3,7 +3,8 @@
   pbr, tempita, decorator, sqlalchemy, six, sqlparse 
 }:
 buildPythonPackage rec {
-  name = "sqlalchemy-migrate-${version}";
+  pname = "sqlalchemy-migrate";
+  name = "${pname}-${version}";
   version = "0.11.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
new file mode 100644
index 00000000000..3fdb7cf9a6e
--- /dev/null
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytest
+, mock
+, pytest_xdist
+, isPy3k
+, pysqlite
+}:
+
+buildPythonPackage rec {
+  pname = "SQLAlchemy";
+  name = "${pname}-${version}";
+  version = "1.1.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "dbd92b8af2306d600efa98ed36262d73aad227440a758c8dc3a067ca30096bd3";
+  };
+
+  checkInputs = [ pytest mock pytest_xdist ]
+    ++ lib.optional (!isPy3k) pysqlite;
+
+  # Test-only dependency pysqlite doesn't build on Python 3. This isn't an
+  # acceptable reason to make all dependents unavailable on Python 3 as well
+  #doCheck = !(isPyPy || isPy3k);
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    homepage = http://www.sqlalchemy.org/;
+    description = "A Python SQL toolkit and Object Relational Mapper";
+    license = licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/stringtemplate/default.nix b/pkgs/development/python-modules/stringtemplate/default.nix
index 50a425132a2..cd7bb2b9507 100644
--- a/pkgs/development/python-modules/stringtemplate/default.nix
+++ b/pkgs/development/python-modules/stringtemplate/default.nix
@@ -1,7 +1,8 @@
 {stdenv, fetchurl, buildPythonPackage, antlr, isPy3k}:
 
 buildPythonPackage rec {
-  name = "PyStringTemplate-${version}";
+  pname = "PyStringTemplate";
+  name = "${pname}-${version}";
   version = "3.2b1";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/subliminal/default.nix b/pkgs/development/python-modules/subliminal/default.nix
index 545916858d4..0788ddaeec6 100644
--- a/pkgs/development/python-modules/subliminal/default.nix
+++ b/pkgs/development/python-modules/subliminal/default.nix
@@ -19,7 +19,8 @@
 }:
 
 buildPythonApplication rec {
-  name = "subliminal-${version}";
+  pname = "subliminal";
+  name = "${pname}-${version}";
   version = "2.0.5";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/systemd/default.nix b/pkgs/development/python-modules/systemd/default.nix
new file mode 100644
index 00000000000..4786e7eb7e1
--- /dev/null
+++ b/pkgs/development/python-modules/systemd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, systemd, pkgconfig }:
+
+buildPythonPackage rec {
+  name = "python-systemd-${version}";
+  version = "234";
+
+  src = fetchFromGitHub {
+    owner = "systemd";
+    repo = "python-systemd";
+    rev = "v${version}";
+    sha256 = "1fakw7qln44mfd6pj4kqsgyrhkc6cyr653id34kv0rdnb1bvysrz";
+  };
+
+  buildInputs = [ systemd ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python module for native access to the systemd facilities";
+    homepage = http://www.freedesktop.org/software/systemd/python-systemd/;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix
index 7faad8ec4f4..f80dcdf74fd 100644
--- a/pkgs/development/python-modules/tables/default.nix
+++ b/pkgs/development/python-modules/tables/default.nix
@@ -2,12 +2,13 @@
 , cython, bzip2, lzo, numpy, numexpr, hdf5, six, c-blosc }:
 
 buildPythonPackage rec {
-  version = "3.3.0";
-  name = "tables-${version}";
+  version = "3.4.2";
+  pname = "tables";
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/t/tables/${name}.tar.gz";
-    sha256 = "0b4211s0zzdmh74k49ss0m9lc2ql2iazq2aa95ams6h45vqcr0w3";
+    sha256 = "fdbbea4edb6bad0ac0e53fc7bc6970e78e12eef4944aa4146bcdcb573201676c";
   };
 
   buildInputs = [ hdf5 cython bzip2 lzo c-blosc ];
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 8946877eb14..388d27e0686 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -5,7 +5,6 @@
 , cudaSupport ? false
 , cudatoolkit ? null
 , cudnn ? null
-, gcc49 ? null
 , linuxPackages ? null
 , numpy
 , six
@@ -13,13 +12,11 @@
 , swig
 , werkzeug
 , mock
-, gcc
 , zlib
 }:
 
 assert cudaSupport -> cudatoolkit != null
                    && cudnn != null
-                   && gcc49 != null
                    && linuxPackages != null;
 
 # unsupported combination
@@ -98,7 +95,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = with stdenv.lib;
     [ numpy six protobuf3_2 swig werkzeug mock ]
-    ++ optionals cudaSupport [ cudatoolkit cudnn gcc49 ];
+    ++ optionals cudaSupport [ cudatoolkit cudnn stdenv.cc ];
 
   # Note that we need to run *after* the fixup phase because the
   # libraries are loaded at runtime. If we run in preFixup then
@@ -106,10 +103,10 @@ buildPythonPackage rec {
   postFixup = let
     rpath = stdenv.lib.makeLibraryPath
       (if cudaSupport then
-        [ gcc49.cc.lib zlib cudatoolkit cudnn
+        [ stdenv.cc.cc.lib zlib cudatoolkit cudnn
           linuxPackages.nvidia_x11 ]
       else
-        [ gcc.cc.lib zlib ]
+        [ stdenv.cc.cc.lib zlib ]
       );
   in
   ''
diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix
index 14a2ac9cb92..7bb028b233d 100644
--- a/pkgs/development/python-modules/treq/default.nix
+++ b/pkgs/development/python-modules/treq/default.nix
@@ -1,45 +1,38 @@
-{ stdenv, fetchurl, buildPythonPackage, service-identity, requests,
-  six, mock, twisted, incremental, coreutils, gnumake, pep8, sphinx,
-  openssl, pyopenssl }:
+{ stdenv, fetchPypi, buildPythonPackage, service-identity, requests, six
+, mock, twisted, incremental, pep8 }:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "treq";
-  version = "16.12.0";
+  version = "17.3.1";
 
-  src = fetchurl {
-    url = "mirror://pypi/t/${pname}/${name}.tar.gz";
-    sha256 = "1aci3f3rmb5mdf4s6s4k4kghmnyy784cxgi3pz99m5jp274fs25h";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1xhcpvsl3xqw0dq9sixk80iwyiv17djigp3815sy5pfgvvggcfii";
   };
 
-  buildInputs = [
+  propagatedBuildInputs = [ twisted requests six incremental service-identity ];
+
+  checkInputs = [
     pep8
     mock
   ];
 
-  propagatedBuildInputs = [
-    service-identity
-    requests
-    twisted
-    incremental
-    sphinx
-    six
-    openssl
-    pyopenssl
-  ];
-
-  checkPhase = ''
-    ${pep8}/bin/pep8 --ignore=E902 treq
-    trial treq
+  postPatch = ''
+    rm -fv src/treq/test/test_treq_integration.py
   '';
 
-  doCheck = false;
-  # Failure: twisted.web._newclient.RequestTransmissionFailed: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]>]
+  # XXX tox tries to install coverage despite it is installed
+  #postBuild = ''
+  #  # build documentation and install in $out
+  #  tox -e docs
+  #  mkdir -pv $out/docs
+  #  cp -rv docs/* $out/docs/
+  #'';
 
-  postBuild = ''
-    ${coreutils}/bin/mkdir -pv treq
-    ${coreutils}/bin/echo "${version}" | ${coreutils}/bin/tee treq/_version
-    cd docs && ${gnumake}/bin/make html && cd ..
+  checkPhase = ''
+    pep8 --ignore=E902 treq
+    trial treq
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/trezor.nix b/pkgs/development/python-modules/trezor/default.nix
index 36bf0c15de2..6fc6622cf3f 100644
--- a/pkgs/development/python-modules/trezor.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -1,13 +1,13 @@
-{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
+{ lib, fetchPypi, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
 
 buildPythonPackage rec {
-  pname = "trezor";
-  version = "0.7.12";
   name = "${pname}-${version}";
+  pname = "trezor";
+  version = "0.7.13";
 
-  src = fetchurl {
-    url = "mirror://pypi/t/${pname}/${name}.tar.gz";
-    sha256 = "0ryqdk13x60qq5s68i9dfc1na4dka66kdxqycxignzg9k9ykaa8g";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d05f388bb56b6f61cc727999cc725078575238a0b6172450322bc55c437fefe5";
   };
 
   propagatedBuildInputs = [ protobuf3_0 hidapi ];
diff --git a/pkgs/development/python-modules/twill/default.nix b/pkgs/development/python-modules/twill/default.nix
index f3e7bb7025b..8f0fbbd6dfb 100644
--- a/pkgs/development/python-modules/twill/default.nix
+++ b/pkgs/development/python-modules/twill/default.nix
@@ -1,12 +1,14 @@
 { stdenv, buildPythonPackage, fetchurl, isPy3k, pythonPackages }:
 buildPythonPackage rec {
-  name = "twill-0.9.1";
+  pname = "twill";
+  version = "1.8.0";
+  name = "${pname}-${version}";
 
   disabled = isPy3k;
 
   src = fetchurl {
     url    = "mirror://pypi/t/twill/${name}.tar.gz";
-    sha256 = "0zmssp41cgb5sz1jym7rxy6mamb64dxq3wra1bn6snna9v653pyj";
+    sha256 = "d63e8b09aa4f6645571c70cd3ba47a911abbae4d7baa4b38fc7eb72f6cfda188";
   };
 
   propagatedBuildInputs = with pythonPackages; [ nose ];
diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix
index 0cfb00c48b8..6898863e8af 100644
--- a/pkgs/development/python-modules/twisted/default.nix
+++ b/pkgs/development/python-modules/twisted/default.nix
@@ -2,8 +2,8 @@
   zope_interface, incremental, automat, constantly
 }:
 buildPythonPackage rec {
-
-  name = "Twisted-${version}";
+  pname = "Twisted";
+  name = "${pname}-${version}";
   version = "17.1.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/txaio/default.nix b/pkgs/development/python-modules/txaio/default.nix
index 66b01d61094..98060536638 100644
--- a/pkgs/development/python-modules/txaio/default.nix
+++ b/pkgs/development/python-modules/txaio/default.nix
@@ -1,22 +1,28 @@
-{ stdenv, buildPythonPackage, fetchurl,
-  pytest, mock, six, twisted
-}:
+{ stdenv, buildPythonPackage, fetchPypi, pytest, mock, six, twisted }:
+
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "txaio";
-  version = "2.7.0";
+  version = "2.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lmllmjjsqzl3w4faq2qhlgkaqn1yn1m7d99k822ib7qgz18bsly";
+  };
 
   buildInputs = [ pytest mock ];
+
   propagatedBuildInputs = [ six twisted ];
 
-  checkPhase = ''
-    py.test -k "not test_sdist"
+  patchPhase = ''
+    sed -i '152d' test/test_logging.py
   '';
 
-  src = fetchurl {
-    url = "mirror://pypi/t/${pname}/${name}.tar.gz";
-    sha256 = "0hwd6jx6hb44p40id9r0m42y07rav5jvddf0f1bcm269i3dnwr47";
-  };
+  # test_chained_callback has been removed just post-2.7.1 because the functionality was decided against and the test
+  # breaks on python 3.6 https://github.com/crossbario/txaio/pull/104
+  checkPhase = ''
+    py.test -k "not (test_sdist or test_chained_callback)"
+  '';
 
   meta = with stdenv.lib; {
     description = "Utilities to support code that runs unmodified on Twisted and asyncio.";
diff --git a/pkgs/development/python-modules/typed-ast/default.nix b/pkgs/development/python-modules/typed-ast/default.nix
index 02a60323420..213f2d33f3b 100644
--- a/pkgs/development/python-modules/typed-ast/default.nix
+++ b/pkgs/development/python-modules/typed-ast/default.nix
@@ -1,11 +1,11 @@
 { buildPythonPackage, fetchPypi, isPy3k, lib, pythonOlder }:
 buildPythonPackage rec {
   pname = "typed-ast";
-  version = "1.0.2";
+  version = "1.0.3";
   name = "${pname}-${version}";
   src = fetchPypi{
     inherit pname version;
-    sha256 = "13e02b10479ddff07eb546f9638743702ab9b175bfa3cdf2482688df91b5766d";
+    sha256 = "67184179697ea9128fa8fec1d3b4e26b41d6a2eceab4674c6e3da4b024309862";
   };
   # Only works with Python 3.3 and newer;
   disabled = pythonOlder "3.3";
diff --git a/pkgs/development/python-modules/u-msgpack-python/default.nix b/pkgs/development/python-modules/u-msgpack-python/default.nix
index 34d88d74c55..aca4e370e46 100644
--- a/pkgs/development/python-modules/u-msgpack-python/default.nix
+++ b/pkgs/development/python-modules/u-msgpack-python/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "u-msgpack-python";
-  version = "2.3.0";
+  version = "2.4.1";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "d8df6bb0e2a838aa227c39cfd14aa147ab32b3df6871001874e9b9da9ce1760c";
+    sha256 = "2f31fc1b6dd8632c230ea7012470e40f77119f20999274dda6f1afa9c305e590";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix
new file mode 100644
index 00000000000..a0aa1478944
--- /dev/null
+++ b/pkgs/development/python-modules/uncertainties/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchPypi, buildPythonPackage, nose, numpy }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "uncertainties";
+  version = "3.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "de0765cac6911e5afa93ee941063a07b4a98dbd9c314c5eea4ab14bfff0054a4";
+  };
+
+  buildInputs = [ nose numpy ];
+
+  # No tests included
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "http://pythonhosted.org/uncertainties/";
+    description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)";
+    maintainer = with maintainers; [ rnhmjoj ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/uranium/default.nix b/pkgs/development/python-modules/uranium/default.nix
index bce88635d3c..066230d0a1f 100644
--- a/pkgs/development/python-modules/uranium/default.nix
+++ b/pkgs/development/python-modules/uranium/default.nix
@@ -5,8 +5,9 @@ then throw "Uranium not supported for interpreter ${python.executable}"
 else
 
 stdenv.mkDerivation rec {
-  name = "uranium-${version}";
   version = "2.4.0";
+  pname = "uranium";
+  name = "${pname}-${version}";
   
   src = fetchFromGitHub {
     owner = "Ultimaker";
diff --git a/pkgs/development/python-modules/vcrpy/default.nix b/pkgs/development/python-modules/vcrpy/default.nix
index c82a02cb4a4..9387c7de792 100644
--- a/pkgs/development/python-modules/vcrpy/default.nix
+++ b/pkgs/development/python-modules/vcrpy/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "vcrpy";
-  version = "1.10.5";
+  version = "1.11.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12kncg6jyvj15mi8ca74514f2x1ih753nhyz769nwvh39r468167";
+    sha256 = "f434fe7e05d940d576ac850709ae57a738ba40e7f317076ea8d359ced5b32320";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix
index 4c343985c59..8c980cf2b2c 100644
--- a/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -1,32 +1,33 @@
 { fetchurl, boost, zlib, clang, ncurses, pythonPackages, lib }:
-pythonPackages.buildPythonPackage rec {
-    name = "vowpalwabbit-${version}";
-    version = "8.3.2";
 
-    src = fetchurl{
-      url = "mirror://pypi/v/vowpalwabbit/${name}.tar.gz";
-      sha256 = "0qm8rlrs2gfgamqnpx4lapxakpzgh0yh3kp1lbd7lhb0r748m3k7";
-    };
-    # vw tries to write some explicit things to home
-    # python installed: The directory '/homeless-shelter/.cache/pip/http'
-    preInstall = ''
-      export HOME=$PWD
-    '';
+pythonPackages.buildPythonPackage rec {
+  pname = "vowpalwabbit";
+  name = "${pname}-${version}";
+  version = "8.3.2";
 
-    buildInputs = with pythonPackages; [ boost.dev zlib.dev clang ncurses pytest docutils pygments ];
-    propagatedBuildInputs = with pythonPackages; [ numpy scipy scikitlearn ];
+  src = fetchurl{
+    url = "mirror://pypi/v/vowpalwabbit/${name}.tar.gz";
+    sha256 = "0qm8rlrs2gfgamqnpx4lapxakpzgh0yh3kp1lbd7lhb0r748m3k7";
+  };
+  # vw tries to write some explicit things to home
+  # python installed: The directory '/homeless-shelter/.cache/pip/http'
+  preInstall = ''
+    export HOME=$PWD
+  '';
 
-    checkPhase = ''
-      # check-manifest requires a git clone, not a tarball
-      # check-manifest --ignore "Makefile,PACKAGE.rst,*.cc,tox.ini,tests*,examples*,src*"
-      python setup.py check -mrs
-    '';
+  buildInputs = with pythonPackages; [ boost.dev zlib.dev clang ncurses pytest docutils pygments ];
+  propagatedBuildInputs = with pythonPackages; [ numpy scipy scikitlearn ];
 
-    meta = with lib; {
-      description = "Vowpal Wabbit is a fast machine learning library for online learning, and this is the python wrapper for the project.";
-      homepage    = https://github.com/JohnLangford/vowpal_wabbit;
-      license     = licenses.bsd3;
-      maintainers = with maintainers; [ teh ];
-    };
+  checkPhase = ''
+    # check-manifest requires a git clone, not a tarball
+    # check-manifest --ignore "Makefile,PACKAGE.rst,*.cc,tox.ini,tests*,examples*,src*"
+    python setup.py check -mrs
+  '';
 
+  meta = with lib; {
+    description = "Vowpal Wabbit is a fast machine learning library for online learning, and this is the python wrapper for the project.";
+    homepage    = https://github.com/JohnLangford/vowpal_wabbit;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ teh ];
+  };
 }
diff --git a/pkgs/development/python-modules/webencodings/default.nix b/pkgs/development/python-modules/webencodings/default.nix
index 54f3517ca00..834a0ab07fb 100644
--- a/pkgs/development/python-modules/webencodings/default.nix
+++ b/pkgs/development/python-modules/webencodings/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "webencodings";
-  version = "0.5";
+  version = "0.5.1";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "a5c55ee93b24e740fe951c37b5c228dccc1f171450e188555a775261cce1b904";
+    sha256 = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix
index 8c66dc60407..7e29b2b6190 100644
--- a/pkgs/development/python-modules/websockets/default.nix
+++ b/pkgs/development/python-modules/websockets/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "websockets";
-  version = "3.2";
+  version = "3.3";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "1dah1faywsnrlqyzagb1qc1cxrq9145srkdy118yhy9s8dyq4dmm";
+    sha256 = "305ab7fdd86afd08c2723461c949e153f7b01233f95a108619a15e41b7a74c93";
   };
 
   disabled = pythonOlder "3.3";
diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix
new file mode 100644
index 00000000000..5574a800b5b
--- /dev/null
+++ b/pkgs/development/python-modules/wheel/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pytestcov
+, coverage
+, jsonschema
+}:
+
+buildPythonPackage rec {
+  pname = "wheel";
+  version = "0.29.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648";
+  };
+
+  buildInputs = [ pytest pytestcov coverage ];
+
+  propagatedBuildInputs = [ jsonschema ];
+
+  # We add this flag to ignore the copy installed by bootstrapped-pip
+  installFlags = [ "--ignore-installed" ];
+
+  meta = {
+    description = "A built-package format for Python";
+    license = with lib.licenses; [ mit ];
+    homepage = https://bitbucket.org/pypa/wheel/;
+  };
+}
diff --git a/pkgs/development/python-modules/xlwt/default.nix b/pkgs/development/python-modules/xlwt/default.nix
index 01f920a387a..f25646fffdb 100644
--- a/pkgs/development/python-modules/xlwt/default.nix
+++ b/pkgs/development/python-modules/xlwt/default.nix
@@ -8,21 +8,13 @@
 buildPythonPackage rec {
   pname = "xlwt";
   name = "${pname}-${version}";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "aed648c17731f40f84550dd2a1aaa53569f0cbcaf5610ba895cd2632587b723c";
+    sha256 = "505669c1eb6a60823fd3e2e723b60eea95f2c56254113bf163091ed2bedb4ac9";
   };
 
-  # re.LOCALE was removed in Python 3.6
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/python-excel/xlwt/commit/86564ef26341020316cd8a27c704ef1dc5a6129b.patch";
-      sha256 = "0ifavfld3rrqjb0iyriy4c0drw31gszvlg3nmnn9dmfsh91vxhs6";
-    })
-  ];
-
   buildInputs = [ nose ];
   checkPhase = ''
     nosetests -v
diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix
index 332feef9e49..33adac52c90 100644
--- a/pkgs/development/python-modules/xmpppy/default.nix
+++ b/pkgs/development/python-modules/xmpppy/default.nix
@@ -1,6 +1,7 @@
 { stdenv, buildPythonPackage, fetchurl, isPy3k }:
 buildPythonPackage rec {
-  name = "xmpp.py-${version}";
+  pname = "xmpp.py";
+  name = "${pname}-${version}";
   version = "0.5.0rc1";
 
   patches = [ ./ssl.patch ];
diff --git a/pkgs/development/python-modules/yarl/default.nix b/pkgs/development/python-modules/yarl/default.nix
index 246b761fa53..03732c5343b 100644
--- a/pkgs/development/python-modules/yarl/default.nix
+++ b/pkgs/development/python-modules/yarl/default.nix
@@ -8,12 +8,12 @@
 
 let
   pname = "yarl";
-  version = "0.8.1";
+  version = "0.10.2";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "9f0397ae540124bf16a8a5b89bc3ea1c07f8ae70c3e44231a40a9edd254d5712";
+    sha256 = "a042c5b3584531cd09cd5ca647f71553df7caaa3359b9b3f7eb34c3b1045b38d";
   };
 
   buildInputs = [ pytest pytestrunner ];
diff --git a/pkgs/development/python-modules/yolk/default.nix b/pkgs/development/python-modules/yolk/default.nix
index 33e9cfeab3a..f6bbb8f4b86 100644
--- a/pkgs/development/python-modules/yolk/default.nix
+++ b/pkgs/development/python-modules/yolk/default.nix
@@ -3,7 +3,8 @@
 with lib;
 
 buildPythonApplication rec {
-  name = "yolk-${version}";
+  pname = "yolk";
+  name = "${pname}-${version}";
   version = "0.4.3";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix
index c6ae3881f1f..41418a99c8d 100644
--- a/pkgs/development/python-modules/zeep/default.nix
+++ b/pkgs/development/python-modules/zeep/default.nix
@@ -24,13 +24,13 @@
 
 let
   pname = "zeep";
-  version = "1.1.0";
+  version = "2.0.0";
 in buildPythonPackage {
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83e82b6cb59e84bf4725add3771ed442bb099fad5959c887efe7c49a8a940ea5";
+    sha256 = "5b9bd6b8772d6b505118c11d6924eb7df0decf12bbbeb43b1c27d781817361ad";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/bundix/default.nix b/pkgs/development/ruby-modules/bundix/default.nix
index 42d6ee04b59..919b4b00319 100644
--- a/pkgs/development/ruby-modules/bundix/default.nix
+++ b/pkgs/development/ruby-modules/bundix/default.nix
@@ -1,13 +1,18 @@
-{ buildRubyGem, lib, bundler, ruby, nix, nix-prefetch-git }:
+{ buildRubyGem, fetchFromGitHub, lib, bundler, ruby, nix, nix-prefetch-git }:
 
 buildRubyGem rec {
   inherit ruby;
 
   name = "${gemName}-${version}";
   gemName = "bundix";
-  version = "2.1.0";
+  version = "2.2.0";
 
-  sha256 = "5a073c59dfc7e2367c47e6513fc8914d27e11c08f82bc1103c4793dfb2837bef";
+  src = fetchFromGitHub {
+    owner = "manveru";
+    repo = "bundix";
+    rev = version;
+    sha256 = "0lnzkwxprdz73axk54y5p5xkw56n3lra9v2dsvqjfw0ab66ld0iy";
+  };
 
   buildInputs = [bundler];
 
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 9251c4d2a41..fc6a4bab75c 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.14.6";
-  sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
+  version = "1.15.0";
+  sha256 = "1k84zjr49ri7dj0mbjm7wkqdmknwdid817y2kyhn42mh4vxa68id";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index 58788a9290b..0843c37df06 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ammonite-${version}";
-  version = "0.9.0";
+  version = "0.9.9";
   scalaVersion = "2.12";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
-    sha256 = "12kmsj1phbbma9mfl0saa0hhjm702hccbb6mqpawmqwhkwz48iak";
+    sha256 = "0qiqy681y1w21gjxw30kn44vxh9615j3825v06aq690p56w3rc63";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index a394105faf4..ce9ca76a43b 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "1.78";
+  version = "1.79";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "1cc60y2vjq4g88183jkan91ybzqy0n6p5ncs8z5rh6rjsvvrc9p4";
+    sha256 = "0vgh4zx191d7mcmiilkhcbd9jkspfkppl7l4y5451walvs9vd19b";
   };
 
   buildInputs = [ pcre ];
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 71ffb35a9f0..d356caad1f6 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchFromGitHub, lib, ocaml, libelf, cf-private, CoreServices }:
+{ stdenv, fetchFromGitHub, lib, ocaml, libelf, cf-private, CoreServices, findlib, camlp4, sedlex, ocamlbuild }:
 
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.42.0";
+  version = "0.46.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "1mzl13z3c512b3jrrkzm5wmd9wjpnr173pan0vvpgf23333yvigq";
+    sha256 = "05rnlckwiynkh0300f27xhrn53pf0hxlkb0iz3nlb81xmsk005a4";
   };
 
   installPhase = ''
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cp bin/flow $out/bin/
   '';
 
-  buildInputs = [ ocaml libelf ]
+  buildInputs = [ ocaml libelf findlib camlp4 sedlex ocamlbuild ]
     ++ optionals stdenv.isDarwin [ cf-private CoreServices ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/analysis/randoop/default.nix b/pkgs/development/tools/analysis/randoop/default.nix
new file mode 100644
index 00000000000..4fc85c30166
--- /dev/null
+++ b/pkgs/development/tools/analysis/randoop/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "3.1.5";
+  name = "randoop-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/randoop/randoop/releases/download/v${version}/${name}.zip";
+    sha256 = "13zspyi9fgnqc90qfqqnj0hb7869l0aixv0vwgj8m4m1hggpadlx";
+  };
+
+  buildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir -p $out/lib $out/doc
+
+    cp -R *.jar $out/lib
+    cp README.txt $out/doc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automatic test generation for Java";
+    homepage = https://randoop.github.io/randoop/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
new file mode 100644
index 00000000000..cddb1a90765
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, jdk, ant, python2, python2Packages, watchman, unzip, bash, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "buck-${version}";
+  version = "v2017.05.31.01";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "buck";
+    rev = "0b8b3828a11afa79dc128832cb55b106f07e48aa";
+    sha256 = "1g3yg8qq91cdhsq7zmir7wxw3767l120f5zhq969gppdw9apqy0s";
+  };
+
+  patches = [ ./pex-mtime.patch ];
+
+  postPatch = ''
+    grep -l -r '/bin/bash' --null | xargs -0 sed -i -e "s!/bin/bash!${bash}/bin/bash!g"
+  '';
+
+  buildInputs = [ jdk ant python2 watchman python2Packages.pywatchman ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  targets = [ "buck" "buckd" ];
+
+  buildPhase = ''
+    ant
+
+    for exe in ${toString targets}; do
+      ./bin/buck build //programs:$exe
+    done
+  '';
+
+  installPhase = ''
+    for exe in ${toString targets}; do
+      install -D -m755 buck-out/gen/programs/$exe.pex $out/bin/$exe
+      wrapProgram $out/bin/$exe \
+        --prefix PYTHONPATH : $PYTHONPATH \
+        --prefix PATH : "${stdenv.lib.makeBinPath [jdk watchman]}"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://buckbuild.com/;
+    description = "A high-performance build tool";
+    maintainers = [ maintainers.jgertm ];
+    license = licenses.asl20;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buck/pex-mtime.patch b/pkgs/development/tools/build-managers/buck/pex-mtime.patch
new file mode 100644
index 00000000000..b8726e64a60
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buck/pex-mtime.patch
@@ -0,0 +1,13 @@
+diff --git a/third-party/py/pex/pex/common.py b/third-party/py/pex/pex/common.py
+index 76459ce23..eff411b20 100644
+--- a/third-party/py/pex/pex/common.py
++++ b/third-party/py/pex/pex/common.py
+@@ -328,4 +328,7 @@ class Chroot(object):
+   def zip(self, filename, mode='wb'):
+     with contextlib.closing(zipfile.ZipFile(filename, mode)) as zf:
+       for f in sorted(self.files()):
+-        zf.write(os.path.join(self.chroot, f), arcname=f, compress_type=zipfile.ZIP_DEFLATED)
++        path = os.path.join(self.chroot, f)
++        instant = 615532801
++        os.utime(path, (instant, instant))
++        zf.write(path, arcname=f, compress_type=zipfile.ZIP_DEFLATED)
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 00d76fbff9f..13c404374b0 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig
-, bzip2, curl, expat, libarchive, xz, zlib, libuv
+, bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
 # darwin attributes
 , ps
 , isBootstrap ? false
-, useSharedLibraries ? !stdenv.isCygwin
+, useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin)
 , useNcurses ? false, ncurses
 , useQt4 ? false, qt4
 }:
@@ -12,7 +12,7 @@ with stdenv.lib;
 
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.7";
+  majorVersion = "3.8";
   minorVersion = "2";
   version = "${majorVersion}.${minorVersion}";
 in
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    # from https://cmake.org/files/v3.7/cmake-3.7.2-SHA-256.txt
-    sha256 = "dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0";
+    # from https://cmake.org/files/v3.8/cmake-3.8.2-SHA-256.txt
+    sha256 = "da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d";
   };
 
   prePatch = optionalString (!useSharedLibraries) ''
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ setupHook pkgconfig ]
-    ++ optionals useSharedLibraries [ bzip2 curl expat libarchive xz zlib libuv ]
+    ++ optionals useSharedLibraries [ bzip2 curl expat libarchive xz zlib libuv rhash ]
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index f6dd5460c35..bf876e81cda 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -49,7 +49,7 @@ cmakeConfigurePhase() {
 
     # Avoid cmake resetting the rpath of binaries, on make install
     # And build always Release, to ensure optimisation flags
-    cmakeFlags="-DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
+    cmakeFlags="-DCMAKE_BUILD_TYPE=${cmakeBuildType:-Release} -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
 
     echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}"
 
diff --git a/pkgs/development/tools/build-managers/kati/default.nix b/pkgs/development/tools/build-managers/kati/default.nix
new file mode 100644
index 00000000000..7b5dc2b7937
--- /dev/null
+++ b/pkgs/development/tools/build-managers/kati/default.nix
@@ -0,0 +1,26 @@
+{ fetchgit, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "kati-unstable-${version}";
+  version = "2017-05-23";
+  rev = "2dde61e46ab789f18956ff3b7c257dd8eb97993f";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/google/kati.git";
+    sha256 = "1das1fvycra546lmh72cr5qpgblhbzqqy7gfywiijjgx160l75vq";
+  };
+
+  patches = [ ./version.patch ];
+
+  installPhase = ''
+    install -D ckati $out/bin/ckati
+  '';
+
+  meta = {
+    description = "An experimental GNU make clone";
+    homepage = "https://github.com/google/kati";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/kati/version.patch b/pkgs/development/tools/build-managers/kati/version.patch
new file mode 100644
index 00000000000..1821ac6bbb7
--- /dev/null
+++ b/pkgs/development/tools/build-managers/kati/version.patch
@@ -0,0 +1,19 @@
+diff --git a/Makefile.ckati b/Makefile.ckati
+index e4067bb..15518f3 100644
+--- a/Makefile.ckati
++++ b/Makefile.ckati
+@@ -102,14 +102,8 @@ $(KATI_CXX_TEST_EXES): $(KATI_BIN_PATH)/%: $(KATI_INTERMEDIATES_PATH)/%.o
+ 	$(KATI_LD) $^ -o $@ $(KATI_LIBS)
+ 
+ # Rule to generate version.cc
+-KATI_GIT_DIR := $(shell git -C $(KATI_SRC_PATH) rev-parse --show-toplevel)
+-ifneq ($(KATI_GIT_DIR),)
+-KATI_VERSION_DEPS := $(KATI_GIT_DIR)/.git/HEAD $(KATI_GIT_DIR)/.git/index
+-KATI_VERSION := $(shell git -C $(KATI_GIT_DIR) rev-parse HEAD)
+-else
+ KATI_VERSION_DEPS :=
+ KATI_VERSION := unknown
+-endif
+ $(KATI_INTERMEDIATES_PATH)/version.cc: $(KATI_VERSION_DEPS)
+ 	@mkdir -p $(dir $@)
+ 	echo '// +build ignore' > $@
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index cadda36a0e6..39d0d4e0e39 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ninja-${version}";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/ninja-build/ninja/archive/v${version}.tar.gz";
-    sha256 = "06dy2dc1aafm61ynw9gzig88la3km9dsh53bxf4mnw7l7kjisn2i";
+    sha256 = "1n8n3g26ppwh7zwrc37n3alkbpbj0wki34ih53s3rkhs8ajs1p9f";
   };
 
   buildInputs = [ python asciidoc re2c ];
diff --git a/pkgs/development/tools/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix
new file mode 100644
index 00000000000..1e37a3f85e2
--- /dev/null
+++ b/pkgs/development/tools/build-managers/pants/default.nix
@@ -0,0 +1,141 @@
+{ stdenv, pythonPackages, runCommand, curl }:
+
+with stdenv.lib;
+with pythonPackages;
+
+let
+  # Get rid of this when pants 1.3.0 is released and make 0.5 the default
+  pathspec_0_3_4 = buildPythonApplication rec {
+    pname   = "pathspec";
+    version = "0.3.4";
+    name    = "${pname}-${version}";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0a37yrr2jhlg8aiynxivh2xqani7l9j725qxzrm7cm7m4rfcl1bn";
+    };
+
+    meta = {
+      description = "Utility library for gitignore-style pattern matching of file paths";
+      homepage = "https://github.com/cpburnz/python-path-specification";
+      license = licenses.mpl20;
+     maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
+  pants13-version = "1.3.0rc4";
+
+  # TODO: compile the rust native engine ourselves so we don't need to do this shit. We don't use
+  # fetchurl because we don't know the URL ahead of time, even though it's deterministic. So we have
+  # this downloader figure out the URL on the fly and then produce the deterministic result, so we
+  # can still be a fixed-output derivation.
+  pants13-native-engine-info = {
+    "x86_64-darwin" = { prefix = "mac/10.11";    hash = "04kfqp4fcxj7zkyb21rgp1kdrlnmayfvakpg5xips716d7pp6vc7"; };
+    "x86_64-linux"  = { prefix = "linux/x86_64"; hash = "0vgmcqxcabryxgvk4wmbclqjn56jbmsaysckgwfzhmif8pxyrfam"; };
+    "i686-linux"    = { prefix = "linux/i386";   hash = "1xgma6cwvzg1d07xq6bd3j4rpzp6wn6lz82xqprr6vflyn78qaaw"; };
+  }.${stdenv.system} or (throw "Unsupported system ${stdenv.system}!");
+
+  pants13-native-engine = runCommand "pants-native-${pants13-version}" {
+    buildInputs    = [ curl ];
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash     = pants13-native-engine-info.hash;
+  } ''
+    native_version=$(curl -k -L https://raw.githubusercontent.com/pantsbuild/pants/release_${pants13-version}/src/python/pants/engine/subsystem/native_engine_version)
+    curl -kLO "https://dl.bintray.com/pantsbuild/bin/build-support/bin/native-engine/${pants13-native-engine-info.prefix}/$native_version/native_engine.so"
+
+    # Ugh it tries to "download" from this prefix so let's just replicate their directory structure for now...
+    mkdir -p $out/bin/native-engine/${pants13-native-engine-info.prefix}/$native_version/
+
+    # These should behave the same way in Nix land and we try not to differentiate between OS revisions...
+    mkdir -p $out/bin/native-engine/mac/
+    ln -s 10.11 $out/bin/native-engine/mac/10.10
+    ln -s 10.11 $out/bin/native-engine/mac/10.12
+
+    cp native_engine.so $out/bin/native-engine/${pants13-native-engine-info.prefix}/$native_version/
+  '';
+in {
+  pants =
+    pythonPackages.buildPythonPackage rec {
+    pname   = "pantsbuild.pants";
+    version = "1.2.1";
+    name    = "${pname}-${version}";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "1bnzhhd2acwk7ckv56xzg2d9vxacl3k5bh13bsjxymnq3spm962w";
+    };
+
+    prePatch = ''
+      sed -E -i "s/'([[:alnum:].-]+)[=><][^']*'/'\\1'/g" setup.py
+    '';
+
+    # Unnecessary, and causes some really weird behavior around .class files, which
+    # this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
+    dontStrip = true;
+
+    propagatedBuildInputs = [
+      ansicolors beautifulsoup4 cffi coverage docutils fasteners futures
+      isort lmdb markdown mock packaging pathspec_0_3_4 pep8 pex psutil pyflakes
+      pygments pystache pytestcov pytest pywatchman requests scandir
+      setproctitle setuptools six thrift wheel twitter-common-dirutil
+      twitter-common-confluence twitter-common-collections
+    ];
+
+    meta = {
+      description = "A build system for software projects in a variety of languages";
+      homepage    = "http://www.pantsbuild.org/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.unix;
+    };
+  };
+
+  pants13-pre = buildPythonApplication rec {
+    pname   = "pantsbuild.pants";
+    version = pants13-version;
+    name    = "${pname}-${version}";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "03zv3g55x056vjggwjr8lpniixcpb3kfy7xkl1bxsvjp2ih2wj6g";
+    };
+
+    prePatch = ''
+      sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py
+
+      substituteInPlace src/pants/option/global_options.py \
+        --replace "'/etc/pantsrc'" "'$out/etc/pantsrc', '/etc/pantsrc'"
+    '';
+
+    # Unnecessary, and causes some really weird behavior around .class files, which
+    # this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
+    dontStrip = true;
+
+    propagatedBuildInputs = [
+      twitter-common-collections setproctitle setuptools six ansicolors
+      packaging pathspec scandir twitter-common-dirutil psutil requests
+      pystache pex docutils markdown pygments twitter-common-confluence
+      fasteners coverage pywatchman futures cffi
+    ];
+
+    # Teach pants about where its native engine lives.
+    # TODO: there's probably a better way to teach it this without having it "download"
+    # from a local file: URL to its cache, but I don't know how and this seems to work.
+    postFixup = ''
+      mkdir -p $out/etc
+      cat >$out/etc/pantsrc <<EOF
+      [binaries]
+      baseurls: [ 'file://${pants13-native-engine}' ]
+      EOF
+    '';
+
+    meta = {
+      description = "A build system for software projects in a variety of languages";
+      homepage    = "http://www.pantsbuild.org/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.unix;
+    };
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index d7f13de1d26..e3f6e3c623c 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "9.1.0";
+  version = "9.2.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 = "1mdcw755fygnf30v0gr13mx20zjqmxg5w2kj3k2jgcsh3gyrvymr";
+    sha256 = "0x6pwh3wjq2czvzb8rl8npa8a58snwf1f9dwr6rbbxijaf886jfc";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "1m5p6mlhy3xf0chrjlfpdyp24pv32b61s8iryh6a617i91vpzjg6";
+    sha256 = "1y6i5dn1l1qlwyg95qw4sff2y9zypxwmvsw4mb0555vf157h88kg";
   };
 in
 buildGoPackage rec {
@@ -29,9 +29,11 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "0n8hcj2b1pb95x4bd7fb9ri43vgc4h2dj2v3iiziw2imqjyphfx4";
+    sha256 = "0gz6byjnnfn9acy40hcbyzdql4199xn0yvjx2cfjjjzd9kryjrxp";
   };
 
+  patches = [ ./fix-shell-path.patch ];
+
   buildInputs = [ go-bindata ];
 
   preBuild = ''
@@ -60,7 +62,7 @@ buildGoPackage rec {
     description = "GitLab Runner the continuous integration executor of GitLab";
     license = licenses.mit;
     homepage = "https://about.gitlab.com/gitlab-ci/";
-    platforms = platforms.unix;
-    maintainers = [ lib.maintainers.bachp ];
+    platforms = platforms.unix ++ platforms.darwin;
+    maintainers = with maintainers; [ bachp zimbatm ];
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch b/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
new file mode 100644
index 00000000000..8f71f9ed630
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
@@ -0,0 +1,25 @@
+diff --git a/shells/bash.go b/shells/bash.go
+index 839b7781..2b478e1e 100644
+--- a/shells/bash.go
++++ b/shells/bash.go
+@@ -7,6 +7,7 @@ import (
+ 	"gitlab.com/gitlab-org/gitlab-ci-multi-runner/common"
+ 	"gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers"
+ 	"io"
++	"os/exec"
+ 	"path"
+ 	"runtime"
+ 	"strconv"
+@@ -208,7 +209,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
+ 	if info.User != "" {
+ 		script.Command = "su"
+ 		if runtime.GOOS == "linux" {
+-			script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
++			shellPath, err := exec.LookPath(b.Shell)
++			if err != nil {
++				shellPath = "/bin/"+b.Shell
++			}
++			script.Arguments = append(script.Arguments, "-s", shellPath)
+ 		}
+ 		script.Arguments = append(script.Arguments, info.User)
+ 		script.Arguments = append(script.Arguments, "-c", shellCommand)
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch b/pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch
deleted file mode 100644
index 612c9a51f28..00000000000
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/shells/bash.go b/shells/bash.go
-index c9c8b68..c97dbb5 100644
---- a/shells/bash.go
-+++ b/shells/bash.go
-@@ -208,7 +208,7 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
- 	if info.User != "" {
- 		script.Command = "su"
- 		if runtime.GOOS == "linux" {
--			script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
-+			script.Arguments = append(script.Arguments, "-s", "/run/current-system/sw/bin/"+b.Shell)
- 		}
- 		script.Arguments = append(script.Arguments, info.User)
- 		script.Arguments = append(script.Arguments, "-c", shellCommand)
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
index e0c3854740a..d51a3270592 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "1.11.2";
+  version = "1.11.4";
   # 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 = "08lacd2p7915y7yjnwkj2k0b0x4qj9kc53p7qgvmq8kdi31xnh4z";
+    sha256 = "1ijkzn8jkzx1dzxhkf17987ligyf758xzas6ysix5b781jnkdm8z";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0lzvx3jfy8493q8zkbs7kgm5a3jgsi3f2x25jwg4lx7agcwwsygw";
+    sha256 = "0sq2nndnkzqv2yjljg08xwa3ppddn6vqcivhfh43zwwmansvb9ha";
   };
 in
 buildGoPackage rec {
@@ -29,10 +29,10 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "1sjvlb5981ykc8hr4kp1ibh9jw2wdjjp9zs2nqs9lpsav4nda5fr";
+    sha256 = "1pm88546cijmrrcvvrajp2g6rsrzxhy83cwwwky8jjkl5w4hhmz4";
   };
 
-  patches = [ ./v1-fix-shell-path.patch ];
+  patches = [ ./fix-shell-path.patch ];
 
   buildInputs = [ go-bindata ];
 
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 2c1a8135012..2737329121a 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "2.62";
+  version = "2.65";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "1dqmvbl5sa82zsc03ns5i7ppjmdlg3pyk676xjxyr0p5ccbqlxxh";
+    sha256 = "0ydg8crv8a4lg2y8dihflxcb3b2fxn6ds70c9l1vwmb8j29wsli6";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 355dad4c03e..2764c81d6d8 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "coursier-${version}";
-  version = "1.0.0-RC2";
+  version = "1.0.0-RC3";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/raw/v${version}/coursier";
-    sha256 = "0w97s1dzfl3gyqa293k8n4hpsrqc10va1lc7jhb05208rsz1hf2m";
+    sha256 = "0iiv79ig8p9pm7fklxskxn6bx1m4xqgdfdk6bvqq81gl8b101z5w";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/database/pgcli/default.nix b/pkgs/development/tools/database/pgcli/default.nix
new file mode 100644
index 00000000000..bcb0cf1d5e4
--- /dev/null
+++ b/pkgs/development/tools/database/pgcli/default.nix
@@ -0,0 +1,40 @@
+{ lib, pythonPackages, fetchFromGitHub }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "pgcli-${version}";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    sha256 = "0f1zv4kwi2991pclf8chrhgjwf8jkqxdh5ndc9qx6igh56iyyncz";
+    rev = "v${version}";
+    repo = "pgcli";
+    owner = "dbcli";
+  };
+
+  buildInputs = with pythonPackages; [ pytest mock ];
+  checkPhase = ''
+    mkdir /tmp/homeless-shelter
+    HOME=/tmp/homeless-shelter py.test tests -k 'not test_missing_rc_dir and not test_quoted_db_uri and not test_port_db_uri'
+  '';
+
+  propagatedBuildInputs = with pythonPackages; [
+    click configobj humanize prompt_toolkit psycopg2
+    pygments sqlparse pgspecial setproctitle
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "==" ">="
+    rm tests/test_rowlimit.py
+  '';
+
+  meta = with lib; {
+    description = "Command-line interface for PostgreSQL";
+    longDescription = ''
+      Rich command-line interface for PostgreSQL with auto-completion and
+      syntax highlighting.
+    '';
+    homepage = https://pgcli.com;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index 6617117ef83..b792cfe8c99 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -18,6 +18,11 @@ buildRustPackage rec {
   nativeBuildInputs = [ cmake pkgconfig perl ];
   buildInputs = [ openssl zlib ];
 
+  postBuild = ''
+    mkdir -p "$out/man/man1"
+    cp "$src/git-series.1" "$out/man/man1"
+  '';
+
   meta = with stdenv.lib; {
     description = "A tool to help with formatting git patches for review on mailing lists";
     longDescription = ''
diff --git a/pkgs/development/tools/google-app-engine-go-sdk/default.nix b/pkgs/development/tools/google-app-engine-go-sdk/default.nix
index b95906d2002..27ad4c996ce 100644
--- a/pkgs/development/tools/google-app-engine-go-sdk/default.nix
+++ b/pkgs/development/tools/google-app-engine-go-sdk/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchzip, python27, python27Packages }:
+{ stdenv, fetchzip, python27, python27Packages, makeWrapper }:
 
-assert stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin";
+with python27Packages;
 
 stdenv.mkDerivation rec {
   name = "google-app-engine-go-sdk-${version}";
@@ -17,9 +17,7 @@ stdenv.mkDerivation rec {
         sha256 = "18hgl4wz3rhaklkwaxl8gm70h7l8k225f86da682kafawrr8zhv4";
       };
 
-  buildInputs = with python27Packages; [
-    (python27.withPackages(ps: [ cffi cryptography pyopenssl ]))
-  ];
+  buildInputs = [python27 makeWrapper];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/
@@ -27,7 +25,9 @@ stdenv.mkDerivation rec {
 
     # create wrappers with correct env
     for i in goapp appcfg.py; do
-      ln -s "$out/share/go_appengine/$i" "$out/bin/$i"
+      makeWrapper "$out/share/go_appengine/$i" "$out/bin/$i" \
+        --prefix PATH : "${python27}/bin" \
+        --prefix PYTHONPATH : "$(toPythonPath ${cffi}):$(toPythonPath ${cryptography}):$(toPythonPath ${pyopenssl})"
     done
   '';
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     version = version;
     homepage = "https://cloud.google.com/appengine/docs/go/";
     license = licenses.asl20;
-    platforms = with platforms; linux ++ darwin;
+    platforms = ["x86_64-linux" "x86_64-darwin"];
     maintainers = with maintainers; [ lufia ];
   };
 }
diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
index 90b61ec4124..81707a6bfc3 100644
--- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
+++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "multi-ghc-travis-${version}";
-  version = "git-2017-05-18";
+  version = "git-2017-05-24";
 
   buildInputs = [ ghc ];
 
   src = fetchFromGitHub {
     owner = "hvr";
     repo = "multi-ghc-travis";
-    rev = "3e1b3847583020f0e83c97fcf4bcfb7c90b78259";
-    sha256 = "0hnwp9gsv2rnkxqiw4cg1vdi7wccajx0i9ryhw4lfr8nhkizbsww";
+    rev = "c1dcbcbcd3eadcc63adeac65d63497885b422a44";
+    sha256 = "12xss8wgsqs2fghrfl4h6g5wli6wn274zmdsq5zdcib2m7da5yw2";
   };
 
   installPhase = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "Generate .travis.yml for multiple ghc versions";
     homepage = "https://github.com/hvr/multi-ghc-travis";
     license = licenses.bsd3;
-    platforms = platforms.all;
+    platforms = ghc.meta.platforms;
     maintainers = with maintainers; [ jb55 ];
   };
 }
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 6bfd933bf9b..23ea7aed251 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,13 +1,17 @@
-{ stdenv, fetchurl, noSysDirs, zlib
-, cross ? null, gold ? true, bison ? null
+{ stdenv, buildPackages
+, fetchurl, zlib
+, buildPlatform, hostPlatform, targetPlatform
+, noSysDirs, gold ? true, bison ? null
 }:
 
-let basename = "binutils-2.28"; in
-
-let inherit (stdenv.lib) optional optionals optionalString; in
+let
+  version = "2.28";
+  basename = "binutils-${version}";
+  inherit (stdenv.lib) optional optionals optionalString;
+in
 
 stdenv.mkDerivation rec {
-  name = optionalString (cross != null) "${cross.config}-" + basename;
+  name = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-" + basename;
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
@@ -42,9 +46,9 @@ stdenv.mkDerivation rec {
 
   # TODO: all outputs on all platform
   outputs = [ "out" ]
-    ++ optional (cross == null && !stdenv.isDarwin) "lib" # problems in Darwin stdenv
+    ++ optional (targetPlatform == hostPlatform && !hostPlatform.isDarwin) "lib" # problems in Darwin stdenv
     ++ [ "info" ]
-    ++ optional (cross == null) "dev";
+    ++ optional (targetPlatform == hostPlatform) "dev";
 
   nativeBuildInputs = [ bison ];
   buildInputs = [ zlib ];
@@ -69,14 +73,14 @@ stdenv.mkDerivation rec {
 
   # As binutils takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-  NIX_CFLAGS_COMPILE = if stdenv.isDarwin
+  NIX_CFLAGS_COMPILE = if hostPlatform.isDarwin
     then "-Wno-string-plus-int -Wno-deprecated-declarations"
     else "-static-libgcc";
 
   configureFlags =
     [ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
     ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
-    ++ optional (cross != null) "--target=${cross.config}" # TODO: make this unconditional
+    ++ optional (targetPlatform != hostPlatform) "--target=${targetPlatform.config}" # TODO: make this unconditional
     ++ optionals gold [ "--enable-gold" "--enable-plugins" ]
     ++ optional (stdenv.system == "i686-linux") "--enable-targets=x86_64-linux-gnu";
 
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index b9a517f671f..a5ad3910f3f 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, ncurses, readline, flex, texinfo, help2man }:
+{ stdenv, fetchurl, ncurses, readline, flex, texinfo }:
 
 stdenv.mkDerivation rec {
   name = "cgdb-${version}";
-  version = "0.6.8";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "http://cgdb.me/files/${name}.tar.gz";
-    sha256 = "0hfgyj8jimb7imqlfdpzaln787r6r0yzwzmnk91rfl19pqlkw85y";
+    sha256 = "08slzg3702v5nivjhdx2bciqxc5vqcn8pc4i4lsgkcwdcrj94ymz";
   };
 
-  buildInputs = [ ncurses readline flex texinfo help2man ];
+  buildInputs = [ ncurses readline flex texinfo ];
 
   meta = with stdenv.lib; {
     description = "A curses interface to gdb";
diff --git a/pkgs/development/tools/misc/elfkickers/default.nix b/pkgs/development/tools/misc/elfkickers/default.nix
new file mode 100644
index 00000000000..603f8c0bef6
--- /dev/null
+++ b/pkgs/development/tools/misc/elfkickers/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "elfkickers-${version}";
+  version = "3.1";
+
+  src = fetchurl {
+    url = "http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-${version}.tar.gz";
+    sha256 = "0n0sypjrdm3ramv0sby4sdh3i3j9d0ihadr951wa08ypdnq3yrkd";
+  };
+
+  makeFlags = [ "CC=cc prefix=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.muppetlabs.com/~breadbox/software/elfkickers.html";
+    description = "A collection of programs that access and manipulate ELF files";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.dtzWill ];
+  };
+}
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index f39d15bc7be..1e9cf910857 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,44 +1,44 @@
 { fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo, zlib
 , dejagnu, perl, pkgconfig
-, python ? null
+
+, buildPlatform, hostPlatform, targetPlatform
+
+, pythonSupport ? hostPlatform == buildPlatform && !hostPlatform.isCygwin, python ? null
 , guile ? null
-, target ? null
+
 # Support all known targets in one gdb binary.
 , multitarget ? false
+
 # Additional dependencies for GNU/Hurd.
 , mig ? null, hurd ? null
-
 }:
 
 let
-
-  basename = "gdb-7.12.1";
-
-  # Whether (cross-)building for GNU/Hurd.  This is an approximation since
-  # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
-  # `nativeDrv'.
-  isGNU =
-      stdenv.system == "i686-gnu"
-      || (stdenv ? cross && stdenv.cross.config == "i586-pc-gnu");
-
+  basename = "gdb-${version}";
+  version = "8.0";
 in
 
-assert isGNU -> mig != null && hurd != null;
+assert targetPlatform.isHurd -> mig != null && hurd != null;
+assert pythonSupport -> python != null;
 
 stdenv.mkDerivation rec {
-  name = basename + stdenv.lib.optionalString (target != null)
-      ("-" + target.config);
+  name =
+    stdenv.lib.optionalString (targetPlatform != hostPlatform)
+                              (targetPlatform.config + "-")
+    + basename;
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "11ii260h1sd7v0bs3cz6d5l8gqxxgldry0md60ncjgixjw5nh1s6";
+    sha256 = "1vplyf8v70yn0rdqjx6awl9nmfbwaj5ynwwjxwa71rhp97z4z8pn";
   };
 
   nativeBuildInputs = [ pkgconfig texinfo perl ]
-    ++ stdenv.lib.optional isGNU mig;
+    # TODO(@Ericson2314) not sure if should be host or target
+    ++ stdenv.lib.optional targetPlatform.isHurd mig;
 
-  buildInputs = [ ncurses readline gmp mpfr expat zlib python guile ]
-    ++ stdenv.lib.optional isGNU hurd
+  buildInputs = [ ncurses readline gmp mpfr expat zlib guile ]
+    ++ stdenv.lib.optional pythonSupport python
+    ++ stdenv.lib.optional targetPlatform.isHurd hurd
     ++ stdenv.lib.optional doCheck dejagnu;
 
   enableParallelBuilding = true;
@@ -46,24 +46,18 @@ stdenv.mkDerivation rec {
   # darwin build fails with format hardening since v7.12
   hardeningDisable = stdenv.lib.optionals stdenv.isDarwin [ "format" ];
 
-  configureFlags = with stdenv.lib;
-    [ "--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
-      "--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
+  NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral";
+
+  configureFlags = with stdenv.lib; [
+    "--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
+    "--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
+  ] ++ stdenv.lib.optional hostPlatform.isLinux
+      # TODO(@Ericson2314): make this conditional on whether host platform is NixOS
       "--with-separate-debug-dir=/run/current-system/sw/lib/debug"
-    ]
-    ++ optional (target != null) "--target=${target.config}"
-    ++ optional multitarget "--enable-targets=all"
-    ++ optional (elem stdenv.system platforms.cygwin) "--without-python";
-
-  crossAttrs = {
-    # Do not add --with-python here to avoid cross building it.
-    configureFlags = with stdenv.lib;
-      [ "--with-gmp=${gmp.crossDrv}" "--with-mpfr=${mpfr.crossDrv}" "--with-system-readline"
-        "--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.crossDrv}" "--without-python"
-      ]
-      ++ optional (target != null) "--target=${target.config}"
-      ++ optional multitarget "--enable-targets=all";
-  };
+    ++ stdenv.lib.optional (!pythonSupport) "--without-python"
+    # TODO(@Ericson2314): This should be done in stdenv, not per-package
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "--target=${targetPlatform.config}"
+    ++ stdenv.lib.optional multitarget "--enable-targets=all";
 
   postInstall =
     '' # Remove Info files already provided by Binutils and other packages.
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 62d96b2158f..f55130ae104 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "global-${version}";
-  version = "6.5.6";
+  version = "6.5.7";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "018m536k5y6lks1a6gqn3bsp7r8zk017znqj9kva1nm8d7x9lbqj";
+    sha256 = "0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index f644160b9a3..d1aef990230 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -3,11 +3,11 @@
 , procps, autoconf, automake }:
 
 stdenv.mkDerivation rec {
-  name = "intel-gpu-tools-1.18";
+  name = "intel-gpu-tools-1.19";
 
   src = fetchurl {
     url = "http://xorg.freedesktop.org/archive/individual/app/${name}.tar.bz2";
-    sha256 = "1vp4czxp8xa6qk4pg3mrxhc2yadw2rv6p8r8247mkpcbb8dzjxyz";
+    sha256 = "1wdhwf3im6ids95qw5r9hjj9hvp0qhzgi4llrlriy723q3kqm754";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf automake ];
diff --git a/pkgs/development/tools/misc/kibana/5.x.nix b/pkgs/development/tools/misc/kibana/5.x.nix
new file mode 100644
index 00000000000..4a4fc3e214f
--- /dev/null
+++ b/pkgs/development/tools/misc/kibana/5.x.nix
@@ -0,0 +1,45 @@
+{ stdenv, makeWrapper, fetchurl, elk5Version, nodejs, coreutils, which }:
+
+with stdenv.lib;
+let
+  inherit (builtins) elemAt;
+  archOverrides = {
+    "i686" = "x86";
+  };
+  info = splitString "-" stdenv.system;
+  arch = (elemAt info 0);
+  elasticArch = archOverrides."${arch}" or arch;
+  plat = elemAt info 1;
+  shas = {
+    "x86_64-linux"  = "1g5i81wq77fk6pyaq3rpfqs2m23xsbz2cndh3rg4b59ibg5qv0sq";
+    "i686-linux"    = "0pxnpg3g8l6hy8qz404kbkk5rd9y65jrzd0y9j8wr5fd4pqs7vgv";
+    "x86_64-darwin" = "0pffl2hbck3s271jlzdibp5698djm5fdvj15w2knm815rs2kfbl5";
+  };
+in stdenv.mkDerivation rec {
+  name = "kibana-${version}";
+  version = elk5Version;
+
+  src = fetchurl {
+    url = "https://artifacts.elastic.co/downloads/kibana/${name}-${plat}-${elasticArch}.tar.gz";
+    sha256 = shas."${stdenv.system}" or (throw "Unknown architecture");
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/libexec/kibana $out/bin
+    mv * $out/libexec/kibana/
+    rm -r $out/libexec/kibana/node
+    makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ nodejs coreutils which ]}"
+    sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana
+  '';
+
+  meta = {
+    description = "Visualize logs and time-stamped data";
+    homepage = http://www.elasticsearch.org/overview/kibana;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline rickynils ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index ab5934ed58c..549872646cb 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "strace-${version}";
-  version = "4.16";
+  version = "4.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/strace/${name}.tar.xz";
-    sha256 = "1vzhmpcy989i4k12q4cc438yal2ghhm6x7ychscjbhcf2yspqj4q";
+    sha256 = "06bl4dld5fk4a3iiq4pyrkm6sh63599ah8dmds0glg5vbw45pww1";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index 7af1b5ccd7a..6f0d71d76b1 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, ocaml, findlib, yojson, menhir, lib
+{ stdenv, fetchzip, ocaml, findlib, yojson, lib
 , withEmacsMode ? false, emacs }:
 
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
@@ -8,10 +8,10 @@ let
   then
     "2.3.1"
   else
-    "2.5.3";
+    "2.5.4";
   hashes = {
     "2.3.1" = "192jamcc7rmvadlqqsjkzsl6hlgwhg9my1qc89fxh1lmd4qdsrpn";
-    "2.5.3" = "0qljklgcrpqdxzvcqj7b4785zcz322pjvw9cddbmzla33hagglha";
+    "2.5.4" = "101vk16c5wayd51s8w0mvy99bk7q3gm2gz8i8616wa1lmyszjknh";
   };
 in
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     sha256 = hashes."${version}";
   };
 
-  buildInputs = [ ocaml findlib yojson menhir ]
+  buildInputs = [ ocaml findlib yojson ]
     ++ stdenv.lib.optional withEmacsMode emacs;
 
   preConfigure = "mkdir -p $out/bin";
diff --git a/pkgs/development/tools/ocaml/ocp-indent/1.5.2.nix b/pkgs/development/tools/ocaml/ocp-indent/1.5.2.nix
new file mode 100644
index 00000000000..ee70a80b6af
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-indent/1.5.2.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchzip, ocaml, findlib, ocpBuild, opam, cmdliner }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "3.12.1";
+assert versionAtLeast (getVersion ocpBuild) "1.99.6-beta";
+assert versionAtLeast "0.9.8" (getVersion cmdliner);
+
+stdenv.mkDerivation {
+
+  name = "ocp-indent-1.5.2";
+
+  src = fetchzip {
+    url = "https://github.com/OCamlPro/ocp-indent/archive/1.5.2.tar.gz";
+    sha256 = "0ynv2yhm7akpvqp72pdabhddwr352s1k85q8m1khsvspgg1mkiqz";
+  };
+
+  nativeBuildInputs = [ ocpBuild opam ];
+
+  buildInputs = [ ocaml findlib cmdliner ];
+
+  createFindlibDestdir = true;
+
+  preConfigure = "patchShebangs ./install.sh";
+
+  postInstall = ''
+    mv $out/lib/{ocp-indent,ocaml/${getVersion ocaml}/site-lib/}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://typerex.ocamlpro.com/ocp-indent.html";
+    description = "A customizable tool to indent OCaml code";
+    license = licenses.gpl3;
+    platforms = ocaml.meta.platforms or [];
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix
index d146dd5e973..500002bed44 100644
--- a/pkgs/development/tools/ocaml/ocp-indent/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -3,18 +3,21 @@
 let inherit (stdenv.lib) getVersion versionAtLeast; in
 
 assert versionAtLeast (getVersion ocaml) "3.12.1";
+assert versionAtLeast (getVersion cmdliner) "1.0.0";
 assert versionAtLeast (getVersion ocpBuild) "1.99.6-beta";
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
 
-  name = "ocp-indent-1.5.2";
+  name = "ocp-indent-${version}";
+  version = "1.6.0";
 
   src = fetchzip {
-    url = "https://github.com/OCamlPro/ocp-indent/archive/1.5.2.tar.gz";
-    sha256 = "0ynv2yhm7akpvqp72pdabhddwr352s1k85q8m1khsvspgg1mkiqz";
+    url = "https://github.com/OCamlPro/ocp-indent/archive/${version}.tar.gz";
+    sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
   };
 
-  buildInputs = [ ocaml findlib ocpBuild opam cmdliner ];
+  nativeBuildInputs = [ ocpBuild opam ];
+  buildInputs = [ ocaml findlib cmdliner ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 5c0ea18cab3..bcf08712ccb 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 buildGoPackage rec {
   name = "packer-${version}";
-  version = "0.12.2";
+  version = "1.0.0";
 
   goPackagePath = "github.com/mitchellh/packer";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "mitchellh";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "1li141y7rfbn021h33dnryhms5xwzqz8d92djnprbh7ba9ff02zm";
+    sha256 = "16hdh3iwvdg1jk3pswa9r9lq4qkhds1lrqwl19vd1v2yz2r76kzi";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 0fe243e8aaf..02a13bfa28d 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  generic = { version, sha256 }:
+  generic = { version, sha256, license }:
     stdenv.mkDerivation rec {
       name = "ragel-${version}";
 
@@ -27,7 +27,7 @@ let
       meta = with stdenv.lib; {
         homepage = http://www.complang.org/ragel;
         description = "State machine compiler";
-        license = licenses.gpl2;
+        inherit license;
         platforms = platforms.unix;
         maintainers = with maintainers; [ pSub ];
       };
@@ -37,12 +37,14 @@ in
 
 {
   ragelStable = generic {
-    version = "6.9";
-    sha256 = "02k6rwh8cr95f1p5sjjr3wa6dilg06572xz1v71dk8awmc7vw1vf";
+    version = "6.10";
+    sha256 = "0gvcsl62gh6sg73nwaxav4a5ja23zcnyxncdcdnqa2yjcpdnw5az";
+    license = stdenv.lib.licenses.gpl2;
   };
 
   ragelDev = generic {
-    version = "7.0.0.9";
-    sha256 = "1w2jhfg3fxl15gcmm7z3jbi6splgc83mmwcfbp08lfc8sg2wmrmr";
+    version = "7.0.0.10";
+    sha256 = "1v4ddzxal4gf8l8nkn32qabba6nbpd2mg8sphgmdn8kaqv52nmj0";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/quilt/default.nix b/pkgs/development/tools/quilt/default.nix
index 1fd70730265..fe6aeb3fa6e 100644
--- a/pkgs/development/tools/quilt/default.nix
+++ b/pkgs/development/tools/quilt/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchurl, pkgs}:
-
-with pkgs;
+{ stdenv, fetchurl, makeWrapper, bash, perl, diffstat, diffutils, patch, findutils }:
 
 stdenv.mkDerivation rec {
-  name = "quilt-0.63";
+
+  name = "quilt-0.65";
 
   src = fetchurl {
     url = "mirror://savannah/quilt/${name}.tar.gz";
-    sha256 = "2846788221aa8844c54f10239c7cbc5e88031859162bcc285449446c3cfffe52";
+    sha256 = "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn";
   };
 
   buildInputs = [ makeWrapper perl bash diffutils patch findutils diffstat ];
@@ -31,4 +30,5 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.all;
   };
+
 }
diff --git a/pkgs/development/tools/reno/default.nix b/pkgs/development/tools/reno/default.nix
index dbc2401970b..35aab138292 100644
--- a/pkgs/development/tools/reno/default.nix
+++ b/pkgs/development/tools/reno/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pythonPackages }:
 
-pythonPackages.buildPythonApplication rec {
+with pythonPackages; buildPythonApplication rec {
   name = "reno-${version}";
-  version = "1.8.0";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "mirror://pypi/r/reno/${name}.tar.gz";
-    sha256 = "1pqg0xzcilmyrrnpa87m11xwlvfc94a98s28z9cgddkhw27lg3ps";
+    sha256 = "018vl9fj706jjf07xdx8q6761s53mrihjn69yjq09gp0vmp1g7i4";
   };
 
   # Don't know how to make tests pass
@@ -15,8 +15,8 @@ pythonPackages.buildPythonApplication rec {
   # Nothing to strip (python files)
   dontStrip = true;
 
-  propagatedBuildInputs = with pythonPackages; [ pbr six pyyaml ];
-  buildInputs = with pythonPackages; [ Babel ];
+  propagatedBuildInputs = [ pbr six pyyaml dulwich ];
+  buildInputs = [ Babel ];
 
   meta = with stdenv.lib; {
     description = "Release Notes Manager";
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix
index 6ab227dedcd..23ee6dec86a 100644
--- a/pkgs/development/tools/rtags/default.nix
+++ b/pkgs/development/tools/rtags/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "rtags-${version}";
-  version = "2.8-p1";
+  version = "2.10";
 
   buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ]
     ++ lib.optionals stdenv.isDarwin [ apple_sdk.libs.xpc apple_sdk.frameworks.CoreServices ];
@@ -12,22 +12,21 @@ stdenv.mkDerivation rec {
            LIBCLANG_LIBDIR="${llvmPackages.clang.cc}/lib"
   '';
 
+
   src = fetchgit {
-    # rev = "refs/tags/v${version}"; # TODO Renable if sha1 below is tagged as release
-    rev = "f85bd60f00d51748ea159b00fda7b5bfa78ef571";
+    rev = "refs/tags/v${version}";
     fetchSubmodules = true;
     url = "https://github.com/andersbakken/rtags.git";
-    sha256 = "0g9sgc763c5d695hjffhis19sbaqk8z4884szljf7kbrjxl17y78";
+    sha256 = "0rv5hz4cfc1adpxvp4j4227nfc0p0yrjdc6l9i32jj11p69a5401";
+    # unicode file names lead to different checksums on HFS+ vs. other
+    # filesystems because of unicode normalisation
+    postFetch = ''
+      rm $out/src/rct/tests/testfile_*.txt
+    '';
   };
 
   enableParallelBuilding = true;
 
-  postInstall = lib.optionalString stdenv.isDarwin ''
-    for f in $out/bin/{rc,rdm,rp}; do
-      install_name_tool -change @rpath/libclang.dylib ${llvmPackages.clang.cc}/lib/libclang.dylib ''${f}
-    done
-  '';
-
   meta = {
     description = "C/C++ client-server indexer based on clang";
     homepage = https://github.com/andersbakken/rtags;
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
index a7164b14d3f..3efc82a60c8 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/tools/rust/rustfmt/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rustfmt-${version}";
-  version = "0.8.1";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rustfmt";
-    rev = "v${version}";
-    sha256 = "05rjx7i4wn3z3j8bgqsn146a9vbni6xhxaim9nq13c6dm4nrx96b";
+    rev = "${version}";
+    sha256 = "1nh0h8mncz5vnn5hmw74f8nnh5cxdlrg67891l4dyq0p38vjhimz";
   };
 
-  depsSha256 = "1rnk33g85r1hkw9l9c52dzr4zka5kghbci9qwni3ph19rfqf0a73";
+  depsSha256 = "002d7y33a0bavd07wl7xrignmyaamnzfabdnr7a2x3zfizkfnblb";
 
   meta = with stdenv.lib; {
     description = "A tool for formatting Rust code according to style guidelines";
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 9fa6b8b5716..5ad2647ea31 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
   buildFlags = "AVR_ROOT=${avrgcclibc}/avr SIMAVR_VERSION=${version}";
   installFlags = buildFlags + " DESTDIR=$(out)";
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
+
   postFixup = ''
     target="$out/bin/simavr"
     patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target"
diff --git a/pkgs/development/tools/unity3d/default.nix b/pkgs/development/tools/unity3d/default.nix
index d9459134fea..c7ba985d0f7 100644
--- a/pkgs/development/tools/unity3d/default.nix
+++ b/pkgs/development/tools/unity3d/default.nix
@@ -25,7 +25,7 @@ let
     gnome-sharp gtk-sharp-2_0
   ];
 
-  ver = "5.5.3";
+  ver = "5.6.1";
   build = "f1";
 
 in stdenv.mkDerivation rec {
@@ -33,8 +33,8 @@ in stdenv.mkDerivation rec {
   version = "${ver}x${build}";
 
   src = fetchurl {
-    url = "http://beta.unity3d.com/download/a2454d41e248/unity-editor-installer-${version}Linux.sh";
-    sha256 = "1hvas4n1hm0qp0265gk1nh03kypd9690fnxvzg70f5ni9q97pvm0";
+    url = "http://beta.unity3d.com/download/6a86e542cf5c/unity-editor-installer-${version}Linux.sh";
+    sha256 = "10z4h94c9h967gx4b3gwb268zn7bnrb7ylnqnmnqhx6byac7cf4m";
   };
 
   nosuidLib = ./unity-nosuid.c;
@@ -50,41 +50,12 @@ in stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
-    patchFile() {
-      ftype="$(file -b "$1")"
-      if [[ "$ftype" =~ LSB\ .*dynamically\ linked ]]; then
-        if [[ "$ftype" =~ 32-bit ]]; then
-          rpath="${libPath32}"
-          intp="$(cat $NIX_CC/nix-support/dynamic-linker-m32)"
-        else
-          rpath="${libPath64}"
-          intp="$(cat $NIX_CC/nix-support/dynamic-linker)"
-        fi
-
-        rpath="$(patchelf --print-rpath "$1"):$rpath"
-        if [[ "$ftype" =~ LSB\ shared ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            "$1"
-        elif [[ "$ftype" =~ LSB\ executable ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            --interpreter "$intp" \
-            "$1"
-        fi
-      fi
-    }
 
     cd Editor
 
     $CC -fPIC -shared -o libunity-nosuid.so $nosuidLib -ldl
     strip libunity-nosuid.so
 
-    # Exclude PlaybackEngines to build something that can be run on FHS-compliant Linuxes
-    find . -name PlaybackEngines -prune -o -executable -type f -print | while read path; do
-      patchFile "$path"
-    done
-
     cd ..
   '';
 
@@ -122,6 +93,40 @@ in stdenv.mkDerivation rec {
       --prefix MONO_GAC_PREFIX : "${developDotnetPath}"
   '';
 
+  preFixup = ''
+    patchFile() {
+      ftype="$(file -b "$1")"
+      if [[ "$ftype" =~ LSB\ .*dynamically\ linked ]]; then
+        if [[ "$ftype" =~ 32-bit ]]; then
+          rpath="${libPath32}"
+          intp="$(cat $NIX_CC/nix-support/dynamic-linker-m32)"
+        else
+          rpath="${libPath64}"
+          intp="$(cat $NIX_CC/nix-support/dynamic-linker)"
+        fi
+
+        oldRpath="$(patchelf --print-rpath "$1")"
+        # Always search at least for libraries in origin directory.
+        rpath="''${oldRpath:-\$ORIGIN}:$rpath"
+        if [[ "$ftype" =~ LSB\ shared ]]; then
+          patchelf \
+            --set-rpath "$rpath" \
+            "$1"
+        elif [[ "$ftype" =~ LSB\ executable ]]; then
+          patchelf \
+            --set-rpath "$rpath" \
+            --interpreter "$intp" \
+            "$1"
+        fi
+      fi
+    }
+
+    # Exclude PlaybackEngines to build something that can be run on FHS-compliant Linuxes
+    find $unitydir -name PlaybackEngines -prune -o -type f -print | while read path; do
+      patchFile "$path"
+    done
+  '';
+
   dontStrip = true;
   dontPatchELF = true;
 
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 659c831bbe3..8d86c96e4bf 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, fetchpatch, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
-, libxml2, libxslt, makeWrapper, p7zip, xar, gzip, cpio }:
+, libxml2, libxslt, libffi, makeWrapper, p7zip, xar, gzip, cpio }:
 
 let
-  version = "1.9.1";
+  version = "1.9.5";
   rake = buildRubyGem {
     inherit ruby;
     gemName = "rake";
@@ -13,16 +13,16 @@ let
   url = if stdenv.isLinux
     then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb"
     else if stdenv.isDarwin
-      then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}.dmg"
+      then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.dmg"
       else "system ${stdenv.system} not supported";
 
   sha256 = {
-    "x86_64-linux"  = "0l1if9c4s4wkbi8k00pl7x00lil21izrd8wb9nv2b5q4gqidc1nh";
-    "i686-linux"    = "1789wjwcpgw3mljl49c8v5kycisay684gyalkkvd06928423y9zb";
-    "x86_64-darwin" = "1xrfq1a0xyifkhhjnpm6wsnms9w8c9q5rd2qqn4sm5npl7viy68p";
+    "x86_64-linux"  = "16ijzaacfbqrgh561bf51747d2rv8kydgs14dfdr572qi0f88baw";
+    "i686-linux"    = "0lvkb4k0a34a8hzlsi0apf056rhyprh5w0gn16d0n2ijnaf9j2yk";
+    "x86_64-darwin" = "070mrczsx1j0jl9sx6963l3hrk9anqa13r008wk1d22d25xj25mc";
   }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
-  arch = builtins.replaceStrings ["-linux"] [""] stdenv.system;
+  arch = builtins.replaceStrings ["-linux" "-darwin"] ["" ""] stdenv.system;
 
 in stdenv.mkDerivation rec {
   name = "vagrant-${version}";
@@ -96,8 +96,10 @@ in stdenv.mkDerivation rec {
     ln -s ${ruby}/bin/ruby opt/vagrant/embedded/bin
 
     # ruby libs
-    rm -rf opt/vagrant/embedded/lib
-    ln -s ${ruby}/lib opt/vagrant/embedded/lib
+    rm -rf opt/vagrant/embedded/lib/*
+    for lib in ${ruby}/lib/*; do
+      ln -s $lib opt/vagrant/embedded/lib/''${lib##*/}
+    done
 
     # libiconv: iconv
     rm opt/vagrant/embedded/bin/iconv
@@ -114,6 +116,9 @@ in stdenv.mkDerivation rec {
     ln -s ${libxslt.dev}/bin/xslt-config opt/vagrant/embedded/bin
     ln -s ${libxslt.bin}/bin/xsltproc opt/vagrant/embedded/bin
 
+    # libffi
+    ln -s ${libffi}/lib/libffi.so.6 opt/vagrant/embedded/lib/libffi.so.6
+
     mkdir -p "$out"
     cp -r opt "$out"
     cp -r usr/bin "$out"
diff --git a/pkgs/development/tools/wiggle/default.nix b/pkgs/development/tools/wiggle/default.nix
new file mode 100644
index 00000000000..5a97eb09e4b
--- /dev/null
+++ b/pkgs/development/tools/wiggle/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, ncurses, groff }:
+
+stdenv.mkDerivation {
+
+  name = "wiggle-1.0";
+
+  src = fetchurl {
+    url = "https://github.com/neilbrown/wiggle/archive/v1.0.tar.gz";
+    sha256 = "0552dkdvl001b2jasj0jwb69s7zy6wbc8gcysqj69b4qgl9c54cs";
+  };
+
+  buildInputs = [ ncurses groff ];
+
+  configurePhase = ''
+    makeFlagsArray=( CFLAGS="-I. -O3"
+                     INSTALL="install"
+                     BINDIR="$out/bin"
+                     MANDIR="$out/share/man"
+                   )
+    patchShebangs .
+  '';
+
+  meta = {
+    homepage = http://blog.neil.brown.name/category/wiggle/;
+    description = "Tool for applying patches with conflicts";
+
+    longDescription = ''
+       Wiggle applies patches to a file in a similar manner to the patch(1)
+       program. The distinctive difference is, however, that wiggle will
+       attempt to apply a patch even if the "before" part of the patch doesn't
+       match the target file perfectly. This is achieved by breaking the file
+       and patch into words and finding the best alignment of words in the file
+       with words in the patch. Once this alignment has been found, any
+       differences (word-wise) in the patch are applied to the file as best as
+       possible. Also, wiggle will (in some cases) detect changes that have
+       already been applied, and will ignore them.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/development/tools/wllvm/default.nix b/pkgs/development/tools/wllvm/default.nix
new file mode 100644
index 00000000000..19bdb1cd9ef
--- /dev/null
+++ b/pkgs/development/tools/wllvm/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  version = "1.1.3";
+  pname = "wllvm";
+  name = "${pname}-${version}";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1scv9bwr888x2km8njg0000xkj8pz73c0gjbphhqaj8vy87y25cb";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/travitch/whole-program-llvm;
+    description = "A wrapper script to build whole-program LLVM bitcode files";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index c52f2553e3d..9e692e214b9 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, php }:
 
 let
-  version = "1.1.0";
+  version = "1.2.0";
 
   bin  = "bin/wp";
   ini  = "etc/php/wp-cli.ini";
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url    = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "08b2lzc8fa9f5xldbdza6x3lg6jsp3wfwpyy187gxqw5pmqp11xc";
+    sha256 = "1v51230gpw3ghz8vp3s1ykrwnmka9gj0r7xjad79bc9y250vr920";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index fd30a179876..376018c45a4 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yarn-${version}";
-  version = "0.23.4";
+  version = "0.24.6";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "1jv2fbi10rx6whqn1krn9lrgwpnmzlbfym23m0df4y6k9pfyc9pz";
+    sha256 = "1dxshqmz0im1a09p0x8zx1clkmkgjg3pg1gyl95fzzn6jai3nnrb";
   };
 
   buildInputs = [makeWrapper nodejs];
diff --git a/pkgs/development/web/nodejs/no-xcode-v7.patch b/pkgs/development/web/nodejs/no-xcode-v7.patch
new file mode 100644
index 00000000000..05623b21f13
--- /dev/null
+++ b/pkgs/development/web/nodejs/no-xcode-v7.patch
@@ -0,0 +1,79 @@
+diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
+index a173ff0..1fc821a 100644
+--- a/tools/gyp/pylib/gyp/xcode_emulation.py
++++ b/tools/gyp/pylib/gyp/xcode_emulation.py
+@@ -507,9 +507,12 @@ class XcodeSettings(object):
+   def _XcodePlatformPath(self, configname=None):
+     sdk_root = self._SdkRoot(configname)
+     if sdk_root not in XcodeSettings._platform_path_cache:
+-      platform_path = self._GetSdkVersionInfoItem(sdk_root,
++      try:
++        platform_path = self._GetSdkVersionInfoItem(sdk_root,
+                                                   '--show-sdk-platform-path')
+-      XcodeSettings._platform_path_cache[sdk_root] = platform_path
++        XcodeSettings._platform_path_cache[sdk_root] = platform_path
++      except:
++        XcodeSettings._platform_path_cache[sdk_root] = None
+     return XcodeSettings._platform_path_cache[sdk_root]
+ 
+   def _SdkPath(self, configname=None):
+@@ -520,10 +523,13 @@ class XcodeSettings(object):
+ 
+   def _XcodeSdkPath(self, sdk_root):
+     if sdk_root not in XcodeSettings._sdk_path_cache:
+-      sdk_path = self._GetSdkVersionInfoItem(sdk_root, '--show-sdk-path')
+-      XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
+-      if sdk_root:
+-        XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
++      try:
++        sdk_path = self._GetSdkVersionInfoItem(sdk_root, '--show-sdk-path')
++        XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
++        if sdk_root:
++          XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
++      except:
++        XcodeSettings._sdk_path_cache[sdk_root] = None
+     return XcodeSettings._sdk_path_cache[sdk_root]
+ 
+   def _AppendPlatformVersionMinFlags(self, lst):
+@@ -653,10 +659,11 @@ class XcodeSettings(object):
+       framework_root = sdk_root
+     else:
+       framework_root = ''
+-    config = self.spec['configurations'][self.configname]
+-    framework_dirs = config.get('mac_framework_dirs', [])
+-    for directory in framework_dirs:
+-      cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
++    if 'SDKROOT' in self._Settings():
++      config = self.spec['configurations'][self.configname]
++      framework_dirs = config.get('mac_framework_dirs', [])
++      for directory in framework_dirs:
++        cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
+ 
+     self.configname = None
+     return cflags
+@@ -908,10 +915,11 @@ class XcodeSettings(object):
+     sdk_root = self._SdkPath()
+     if not sdk_root:
+       sdk_root = ''
+-    config = self.spec['configurations'][self.configname]
+-    framework_dirs = config.get('mac_framework_dirs', [])
+-    for directory in framework_dirs:
+-      ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
++    if 'SDKROOT' in self._Settings():
++      config = self.spec['configurations'][self.configname]
++      framework_dirs = config.get('mac_framework_dirs', [])
++      for directory in framework_dirs:
++        ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
+ 
+     platform_root = self._XcodePlatformPath(configname)
+     if sdk_root and platform_root and self._IsXCTest():
+@@ -1683,6 +1691,9 @@ def _NormalizeEnvVarReferences(str):
+   """Takes a string containing variable references in the form ${FOO}, $(FOO),
+   or $FOO, and returns a string with all variable references in the form ${FOO}.
+   """
++  if str is None:
++    return ''
++
+   # $FOO -> ${FOO}
+   str = re.sub(r'\$([a-zA-Z_][a-zA-Z0-9_]*)', r'${\1}', str)
+ 
diff --git a/pkgs/development/web/nodejs/v7.nix b/pkgs/development/web/nodejs/v7.nix
index 2fb61fca0ff..1c074fa4751 100644
--- a/pkgs/development/web/nodejs/v7.nix
+++ b/pkgs/development/web/nodejs/v7.nix
@@ -10,12 +10,13 @@ let
   baseName = if enableNpm then "nodejs" else "nodejs-slim";
 in
   stdenv.mkDerivation (nodejs // rec {
-    version = "7.9.0";
+    version = "7.10.0";
     name = "${baseName}-${version}";
     src = fetchurl {
       url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
-      sha256 = "0abaz5z0cv7amd6blm4cm91asj30ydf0lq3j0wdg6aa9i15pcsd5";
+      sha256 = "08czj7ssvzgv13zvhg2y9mhy4cc6pvm4bcp7rbzj3a2ba8axsd6w";
     };
 
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
   })
 
diff --git a/pkgs/development/web/nodejs/v8.nix b/pkgs/development/web/nodejs/v8.nix
new file mode 100644
index 00000000000..273eb014180
--- /dev/null
+++ b/pkgs/development/web/nodejs/v8.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, openssl, python2, zlib, libuv, v8, utillinux, http-parser
+, pkgconfig, runCommand, which, libtool, fetchpatch
+, callPackage
+, darwin ? null
+, enableNpm ? true
+}@args:
+
+let
+  nodejs = import ./nodejs.nix args;
+  baseName = if enableNpm then "nodejs" else "nodejs-slim";
+in
+  stdenv.mkDerivation (nodejs // rec {
+    version = "8.1.0";
+    name = "${baseName}-${version}";
+    src = fetchurl {
+      url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
+      sha256 = "1z3pcyxni8qmxljz6vbghm8242sr63l0dbc7x22ywbbqkfv21zzj";
+    };
+
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
+  })
+
diff --git a/pkgs/games/bastet/default.nix b/pkgs/games/bastet/default.nix
index 682756c7787..4c55d571bd5 100644
--- a/pkgs/games/bastet/default.nix
+++ b/pkgs/games/bastet/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "bastet-${version}";
-  version = "0.43.1";
+  version = "0.43.2";
   buildInputs = [ ncurses boost ];
 
   src = fetchFromGitHub {
     owner = "fph";
     repo = "bastet";
     rev = version;
-    sha256 = "14ymdarx30zqxyixvb17h4hs57y6zfx0lrdvc200crllz8zzdx5z";
+    sha256 = "09kamxapm9jw9przpsgjfg33n9k94bccv65w95dakj0br33a75wn";
   };
 
   installPhase = ''
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
new file mode 100644
index 00000000000..a1560fb1934
--- /dev/null
+++ b/pkgs/games/ezquake/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, curl, expat
+, jansson, libpng, libjpeg, mesa, pcre
+, pkgconfig, SDL2, vimNox }:
+
+stdenv.mkDerivation rec {
+  name = pname + "-" + version;
+  pname = "ezquake";
+  version = "3.0.1";
+
+  src = fetchFromGitHub {
+    owner = "ezQuake";
+    repo = pname + "-source";
+    rev = "v" + version;
+    sha256 = "14wck0r64z5haacp7g7qb2qrbhff3x6jfjmn4268dyb9dl5663f2";
+  };
+
+  buildInputs = [
+    expat curl jansson libpng libjpeg mesa pcre pkgconfig SDL2 vimNox
+  ];
+
+  installPhase = with stdenv.lib; let
+    sys = last (splitString "-" stdenv.system);
+    arch = head (splitString "-" stdenv.system);
+  in ''
+    mkdir -p $out/bin
+    find .
+    mv ezquake-${sys}-${arch} $out/bin/ezquake
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://ezquake.github.io/";
+    description = "A modern QuakeWorld client focused on competitive online play.";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ edwtjo ];
+  };
+}
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index f0de56b0953..861a44fea8c 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -10,7 +10,7 @@ assert releaseType == "alpha" || releaseType == "headless" || releaseType == "de
 
 with stdenv.lib;
 let
-  version = if releaseType != "demo" then "0.15.1" else "0.14.23";
+  version = if releaseType != "demo" then "0.15.16" else "0.14.23";
 
   arch = if stdenv.system == "x86_64-linux" then {
     inUrl = "linux64";
@@ -27,8 +27,8 @@ let
     url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}";
     name = "factorio_${releaseType}_${arch.inTar}-${version}.${extension}";
     x64 = {
-      headless =           fetchurl { inherit name url; sha256 = "1z84a9yzlld6fv53viwvswp52hlc9fkxzhb2pil7sidzkws3g49l"; };
-      alpha    = authenticatedFetch { inherit name url; sha256 = "11bxasghrhqb2yg1842v1608x3mjdjv3015jgifpv1xmcqak44jp"; };
+      headless =           fetchurl { inherit name url; sha256 = "0ig0nrvqllb9294qn2ci5j5s31ycsjn23bp6hc633xqkgfmklmic"; };
+      alpha    = authenticatedFetch { inherit name url; sha256 = "0bf0z6fi0cpbq487hz4sz8ljapchzhld01sj767wsldakjfkm9g9"; };
       demo     =           fetchurl { inherit name url; sha256 = "10a2lwmspqviwgymn3zhjgpiynsa6dplgnikdirma5sl2hhcfb6s"; };
     };
     i386 = {
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index 608b1a01120..a6f1c305c4e 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -12,7 +12,7 @@ let
   gtkName = if gtkClient then "-gtk" else "";
 
   name = "freeciv";
-  version = "2.5.6";
+  version = "2.5.7";
 in
 stdenv.mkDerivation {
   name = "${name}${sdlName}${gtkName}-${version}";
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2";
-    sha256 = "16wrnsx5rmbz6rjs03bhy0vn20i6n6g73lx7fjpai98ixhzc5bfg";
+    sha256 = "1lmydnnqraa947l7gdz6xgm0bgks1ywsivp9h4v8jr3avcv6gqzz";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/galaxis/default.nix b/pkgs/games/galaxis/default.nix
new file mode 100644
index 00000000000..c0799e8fdf4
--- /dev/null
+++ b/pkgs/games/galaxis/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, ncurses, xmlto }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "galaxis-${version}";
+  version = "1.9";
+
+  src = fetchurl{
+    url = "http://www.catb.org/~esr/galaxis/${name}.tar.gz";
+    sha256 = "1dsypk5brfbc399pg4fk9myyh5yyln0ljl1aiqkypws8h4nsdphl";
+  };
+
+  buildInputs = [ ncurses xmlto ];
+
+  patchPhase = ''
+    sed -i\
+     -e 's|^install: galaxis\.6 uninstall|install: galaxis.6|'\
+     -e 's|usr/||g' -e 's|ROOT|DESTDIR|g'\
+     -e 's|install -m 755 -o 0 -g 0|install -m 755|' Makefile
+  '';
+
+  dontConfigure = true;
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  meta = {
+    description = "Rescue lifeboats lost in interstellar space";
+    longDescription = ''
+      Lifeboats from a crippled interstellar liner are adrift in a starfield. To
+      find them, you can place probes that look in all eight compass directions
+      and tell you how many lifeboats they see. If you drop a probe directly on
+      a lifeboat it will be revealed immediately. Your objective: find the
+      lifeboats as quickly as possible, before the stranded passengers run out
+      of oxygen!
+
+      This is a UNIX-hosted, curses-based clone of the nifty little Macintosh
+      freeware game Galaxis. It doesn't have the super-simple, point-and-click
+      interface of the original, but compensates by automating away some of the
+      game's simpler deductions.
+    '';
+    homepage = http://catb.org/~esr/galaxis/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 6e1a98bf258..dc51a6f0cc0 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "gzdoom-${version}";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "0s0hl7pa2gr3cm884q7np5naybhv4hqhbfd3s45a8hdf72n6c9cm";
+    sha256 = "02287xvlk4a07ssm9y9h5vfsvdssshz13n5bbz13pfcani5d9flv";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/instead-launcher/default.nix b/pkgs/games/instead-launcher/default.nix
index 6515db9dab3..39324843e5e 100644
--- a/pkgs/games/instead-launcher/default.nix
+++ b/pkgs/games/instead-launcher/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "instead-launcher-${version}";
 
-  version = "0.6.3";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "instead-hub";
     repo = "instead-launcher";
     rev = version;
-    sha256 = "1q0hdgfy9pr48zvxr9x614ka6bd0g8sicdk2a673nwfdyd41p9cw";
+    sha256 = "1svy8i8anspway01pnz2cy69aad03anvkq04wrdfv1h9c34gbvb9";
   };
 
   patches = [ ./path.patch ];
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index e3fd6ccb2f7..2c360241fb9 100644
--- a/pkgs/games/instead/default.nix
+++ b/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }:
 
 let
-  version = "2.4.1";
+  version = "3.0.1";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "1i69b10jfb980d5zhmvh1i789hh982vxiwgqna82b84pdf3y7kgw";
+    sha256 = "0ynqzmr35zd1vbbv8n3vk93zj0njhs45w9z33wwkphg2zlniwnzb";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix
index 2ca105af19d..ea56c1f1ac2 100644
--- a/pkgs/games/klavaro/default.nix
+++ b/pkgs/games/klavaro/default.nix
@@ -16,11 +16,14 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : $out/lib
   '';
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = {
     description = "Just another free touch typing tutor program";
     homepage = http://klavaro.sourceforge.net/;
     license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainer = [stdenv.lib.maintainers.mimadrid];
+    maintainers = [stdenv.lib.maintainers.mimadrid];
   };
 }
diff --git a/pkgs/games/lbreakout2/default.nix b/pkgs/games/lbreakout2/default.nix
new file mode 100644
index 00000000000..eb9bed9e1d9
--- /dev/null
+++ b/pkgs/games/lbreakout2/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintlOrEmpty }:
+
+stdenv.mkDerivation rec {
+  name = "lbreakout2-${version}";
+  version = "2.6.5";
+  buildInputs = [ SDL SDL_mixer zlib libpng ] ++ libintlOrEmpty;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lgames/${name}.tar.gz";
+    sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i";
+  };
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  meta = with stdenv.lib; {
+    description = "Breakout clone from the LGames series";
+    homepage = http://lgames.sourceforge.net/LBreakout2/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.ciil ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index fd944bb7611..1e8ec2b8a6a 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "minecraft-server-${version}";
-  version = "1.11.2";
+  version = "1.12";
 
   src  = fetchurl {
     url    = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar";
-    sha256 = "12nqcj6skwjfcywm3ah4jb1qn4r558ng9cchdc3hbz99nhv7vi6y";
+    sha256 = "02fwlg4c9kqckmdi9wxi64jdqynj5myp0995aabc07746hwgzszy";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index ac658ee1367..a118a75aefe 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -4,14 +4,14 @@
   }:
 
 stdenv.mkDerivation rec {
-  version = "git-20160412";
+  version = "0.4.7.0";
   name = "rigsofrods-${version}";
 
   src = fetchFromGitHub {
     owner = "RigsOfRods";
     repo = "rigs-of-rods";
-    rev = "1ebd359dbd467b4c3171dd6d054e7d8ec39f78ba";
-    sha256 = "0h71nrgq5r5cnh20c7wl8jzyaf50dj1b5jdrwihnklpsfyfvjlw4";
+    rev = version;
+    sha256 = "0cb1il7qm45kfhh6h6jwfpxvjlh2dmg8z1yz9kj4d6098myf2lg4";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/robotfindskitten/default.nix b/pkgs/games/robotfindskitten/default.nix
new file mode 100644
index 00000000000..14af1e3c788
--- /dev/null
+++ b/pkgs/games/robotfindskitten/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, ncurses }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "robotfindskitten-${version}";
+  version = "2.7182818.701";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/rfk/robotfindskitten-POSIX/mayan_apocalypse_edition/${name}.tar.gz";
+    sha256 = "06fp6b4li50mzw83j3pkzqspm6dpgxgxw03b60xkxlkgg5qa6jbp";
+  };
+
+  buildInputs = 
+  [ pkgconfig ncurses ];
+
+  meta = {
+    description = "Yet another zen simulation; A simple find-the-kitten game";
+    homepage = http://robotfindskitten.org/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 1fbf5a9dd1a..ace8e9888a7 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -2,6 +2,7 @@
 , steam-runtime, steam-runtime-i686 ? null
 , withJava ? false
 , withPrimus ? false
+, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
 , nativeOnly ? false
 , runtimeOnly ? false
 , newStdcpp ? false
@@ -37,7 +38,8 @@ let
       # Zoneinfo
       etc-zoneinfo
     ] ++ lib.optional withJava jdk
-      ++ lib.optional withPrimus primus2;
+      ++ lib.optional withPrimus primus2
+      ++ extraPkgs pkgs;
 
 in buildFHSUserEnv rec {
   name = "steam";
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/1.1.nix
index 9810d5186b0..9810d5186b0 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/1.1.nix
diff --git a/pkgs/games/ultrastardx/1.3-beta.nix b/pkgs/games/ultrastardx/1.3-beta.nix
new file mode 100644
index 00000000000..ca7d6b35a21
--- /dev/null
+++ b/pkgs/games/ultrastardx/1.3-beta.nix
@@ -0,0 +1,49 @@
+{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
+, lua, fpc, pcre, portaudio, freetype, libpng
+, SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf
+, ffmpeg, sqlite, zlib, libX11, mesa }:
+
+let
+  sharedLibs = [
+    pcre portaudio freetype
+    SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf
+    sqlite lua zlib libX11 mesa ffmpeg
+  ];
+
+in stdenv.mkDerivation rec {
+  name = "ultrastardx-${version}";
+  version = "1.3.5-beta";
+  src = fetchFromGitHub {
+    owner = "UltraStar-Deluxe";
+    repo = "USDX";
+    rev = "v${version}";
+    sha256 = "0qp64qsj29a08cbv3i52jm1w2pcklw6ya5sniycs24zxggza5pkn";
+  };
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    fpc libpng
+  ] ++ sharedLibs;
+
+  postPatch = ''
+    # autoconf substitutes strange things otherwise
+    substituteInPlace src/config.inc.in \
+      --subst-var-by libpcre_LIBNAME libpcre.so.1
+  '';
+
+  preBuild = with stdenv.lib;
+    let items = concatMapStringsSep " " (x: "-rpath ${getLib x}/lib") sharedLibs;
+    in ''
+      export NIX_LDFLAGS="$NIX_LDFLAGS ${items}"
+    '';
+
+  # dlopened libgcc requires the rpath not to be shrinked
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://ultrastardx.sourceforge.net/;
+    description = "Free and open source karaoke game";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ profpatsch ];
+  };
+}
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index ea3231dbe63..98fe9d7c6f6 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     cp -r --reflink=auto $data data
     chmod -R +w data
     sed -i -e s,/usr/local,$out, SConstruct
+    export CXXFLAGS="$(pkg-config --cflags SDL2_image)"
     scons
   '';
   installPhase = "scons install";
diff --git a/pkgs/games/vms-empire/default.nix b/pkgs/games/vms-empire/default.nix
new file mode 100644
index 00000000000..91f77277d9e
--- /dev/null
+++ b/pkgs/games/vms-empire/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, ncurses, xmlto }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "vms-empire-${version}";
+  version = "1.14";
+
+  src = fetchurl{
+    url = "http://www.catb.org/~esr/vms-empire/${name}.tar.gz";
+    sha256 = "0cymzhivvaahgqz0p11w25a710ls4w0jhyqj789jas5s07nvd890";
+  };
+
+  buildInputs =
+  [ ncurses xmlto ];
+
+  patchPhase = ''
+    sed -i -e 's|^install: empire\.6 uninstall|install: empire.6|' -e 's|usr/||g' Makefile
+  '';
+
+  hardeningDisable = [ "format" ];
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  meta = {
+    description = "The ancestor of all expand/explore/exploit/exterminate games";
+    longDescription = ''
+      Empire is a simulation of a full-scale war between two emperors, the
+      computer and you. Naturally, there is only room for one, so the object of
+      the game is to destroy the other. The computer plays by the same rules
+      that you do. This game was ancestral to all later
+      expand/explore/exploit/exterminate games, including Civilization and
+      Master of Orion.
+    '';
+    homepage = http://catb.org/~esr/vms-empire/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
+
+
diff --git a/pkgs/games/wesnoth/dev.nix b/pkgs/games/wesnoth/dev.nix
index 0b335812ff0..315f9ea7a5e 100644
--- a/pkgs/games/wesnoth/dev.nix
+++ b/pkgs/games/wesnoth/dev.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.13.6";
+  version = "1.13.8";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "0z4k2r4ss46ik9fx5clffpd7vfr0l4l6d0j1war676dwz0z1j2m1";
+    sha256 = "0snm4n7l21cr4443rk93wnaqdzr91pihn452w66344zqwf33xgfr";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index fc42b299e91..b6009ee72fd 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl
 , # required for both
-  unzip, libjpeg, zlib, libvorbis, curl
+  unzip, libjpeg, zlib, libvorbis, curl, patchelf
 , # glx
   libX11, mesa, libXpm, libXext, libXxf86vm, alsaLib
 , # sdl
-  SDL
+  SDL2
 }:
 
 stdenv.mkDerivation rec {
-  name = "xonotic-0.8.1";
+  name = "xonotic-0.8.2";
 
   src = fetchurl {
     url = "http://dl.xonotic.org/${name}.zip";
-    sha256 = "0vy4hkrbpz9g91gb84cbv4xl845qxaknak6hshk2yflrw90wr2xy";
+    sha256 = "1mcs6l4clvn7ibfq3q69k2p0z6ww75rxvnngamdq5ic6yhq74bx2";
   };
 
   buildInputs = [
@@ -21,17 +21,22 @@ stdenv.mkDerivation rec {
     # glx
     libX11 mesa libXpm libXext libXxf86vm alsaLib
     # sdl
-    SDL
+    SDL2
     zlib libvorbis curl
   ];
 
   sourceRoot = "Xonotic/source/darkplaces";
 
+  # "debug", "release", "profile"
+  target = "release";
+
+  dontStrip = target != "release";
+
   buildPhase = ''
     DP_FS_BASEDIR="$out/share/xonotic"
-    make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
-    make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
-    make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-${target}
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-${target}
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-${target}
   '';
   enableParallelBuilding = true;
 
@@ -48,7 +53,21 @@ stdenv.mkDerivation rec {
     ln -s "$out/bin/xonotic-sdl" "$out/bin/xonotic"
   '';
 
+  # Xonotic needs to find libcurl.so at runtime for map downloads
   dontPatchELF = true;
+  postFixup = ''
+    patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-dedicated
+    patchelf \
+        --add-needed ${curl.out}/lib/libcurl.so \
+        --add-needed ${libvorbis}/lib/libvorbisfile.so \
+        --add-needed ${libvorbis}/lib/libvorbis.so \
+        $out/bin/xonotic-glx
+    patchelf \
+        --add-needed ${curl.out}/lib/libcurl.so \
+        --add-needed ${libvorbis}/lib/libvorbisfile.so \
+        --add-needed ${libvorbis}/lib/libvorbis.so \
+        $out/bin/xonotic-sdl
+  '';
 
   meta = {
     description = "A free fast-paced first-person shooter";
@@ -62,7 +81,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.xonotic.org;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    maintainers = with stdenv.lib.maintainers; [ astsmtl zalakain ];
     platforms = stdenv.lib.platforms.linux;
     hydraPlatforms = [];
   };
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index e4c70e2fe98..fec0634ba68 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, pkgconfig, cups, poppler, poppler_utils, fontconfig
 , libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash, avahi
-, makeWrapper, coreutils, gnused, bc, gawk, gnugrep, which
+, makeWrapper, coreutils, gnused, bc, gawk, gnugrep, which, ghostscript
+, mupdf
 }:
 
 let
@@ -8,22 +9,23 @@ let
 
 in stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
-  version = "1.11.1";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
-    sha256 = "0x0jxn1hnif92m7dyqrqh015gpsf79dviarb7dfl0zya2drlk1m8";
+    sha256 = "1v553wvr8qdwb1g04if7cw1mfm42vs6xfyg0cvzvbng6yr6jg93s";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   buildInputs = [
     cups poppler poppler_utils fontconfig libjpeg libpng perl
-    ijs qpdf dbus avahi
+    ijs qpdf dbus avahi ghostscript mupdf
   ];
 
   configureFlags = [
     "--with-pdftops=pdftops"
+    "--with-pdftops-path=${poppler_utils}/bin/pdftops"
     "--enable-imagefilters"
     "--with-rcdir=no"
     "--with-shell=${stdenv.shell}"
@@ -41,6 +43,9 @@ in stdenv.mkDerivation rec {
 
       # Ensure that gstoraster can find gs in $PATH.
       substituteInPlace filter/gstoraster.c --replace execve execvpe
+
+      # Patch shebangs of generated build scripts
+      patchShebangs filter
     '';
 
   postInstall =
@@ -57,5 +62,6 @@ in stdenv.mkDerivation rec {
     description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ layus ];
   };
 }
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 62f94ae6fc9..6adc2a765c7 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
+, makeWrapper
 , cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
-, net_snmp, openssl, polkit
+, net_snmp, openssl, polkit, nettools
 , bash, coreutils, utillinux
 , qtSupport ? true
 , withPlugin ? false
@@ -22,20 +23,17 @@ let
     sha256 = "1y3wdax2wb6kdd8bi40wl7v9s8ffyjz95bz42sjcpzzddmlhcaxg";
   };
 
-  hplipState =
-    substituteAll
-      {
-        inherit version;
-        src = ./hplip.state;
-      };
-
-  hplipPlatforms =
-    {
-      "i686-linux"   = "x86_32";
-      "x86_64-linux" = "x86_64";
-      "armv6l-linux" = "arm32";
-      "armv7l-linux" = "arm32";
-    };
+  hplipState = substituteAll {
+    inherit version;
+    src = ./hplip.state;
+  };
+
+  hplipPlatforms = {
+    "i686-linux"   = "x86_32";
+    "x86_64-linux" = "x86_64";
+    "armv6l-linux" = "arm32";
+    "armv7l-linux" = "arm32";
+  };
 
   hplipArch = hplipPlatforms."${stdenv.system}"
     or (throw "HPLIP not supported on ${stdenv.system}");
@@ -63,6 +61,7 @@ pythonPackages.buildPythonApplication {
 
   nativeBuildInputs = [
     pkgconfig
+    makeWrapper
   ];
 
   propagatedBuildInputs = with pythonPackages; [
@@ -146,6 +145,9 @@ pythonPackages.buildPythonApplication {
   '';
 
   postFixup = ''
+    wrapProgram $out/lib/cups/filter/hpps \
+      --prefix PATH : "${nettools}/bin"
+
     substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out
   '' + stdenv.lib.optionalString (!withPlugin) ''
     # A udev rule to notify users that they need the binary plugin.
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index b7b720af508..7256120aa92 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchgit, pkgconfig, makeWrapper, python27, retroarch
-, alsaLib, fluidsynth, mesa, portaudio, SDL, ffmpeg, libpng, libjpeg
-, libvorbis, zlib }:
+{ stdenv, fetchgit, cmake, pkgconfig, makeWrapper, python27, retroarch
+, alsaLib, fluidsynth, curl, hidapi, mesa, gettext, glib, gtk2, portaudio, SDL
+, ffmpeg, pcre, libevdev, libpng, libjpeg, libudev, libvorbis
+, miniupnpc, sfml, xorg, zlib }:
 
 let
 
@@ -10,7 +11,7 @@ let
   stdenv.lib.makeOverridable stdenv.mkDerivation rec {
 
     name = "libretro-${core}-${version}";
-    version = "2015-11-20";
+    version = "2017-06-04";
     inherit src;
 
     buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
@@ -54,8 +55,8 @@ in
     core = "4do";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "cbd700e2bb95f08f241ca24330fa732aa6af8018";
-      sha256 = "1xp43hpd23rhj96pns13fz9mjp66gmxzl5frqa8q9fqcn2qkx7b1";
+      rev = "52d881743dd8614d96b4de8bd153cb725b87d474";
+      sha256 = "1n42f70vni2zavppayaq8xmsyx5cn40qi4zk4pgq1w3hh2q8mj72";
     };
     description = "Port of 4DO/libfreedo to libretro";
   }).override {
@@ -66,8 +67,8 @@ in
     core = "mednafen-pce-fast";
     src = fetchRetro {
       repo = "beetle-pce-fast-libretro";
-      rev = "6e2eaf75da2eb3dfcf2fd64413f471c8c90cf885";
-      sha256 = "0m946108wzawg0c4xvqpv6yzfmjngz6lji5hn4swgk0z5f2bj5a5";
+      rev = "2954e645d668ee73d93803dc30da4462fc7a459b";
+      sha256 = "0p0k7kqfd6xg1qh6vgzgwp122miprb2bpzljgxd9kvigxihsl6f7";
     };
     description = "Port of Mednafen's PC Engine core to libretro";
   }).override {
@@ -79,8 +80,8 @@ in
     core = "mednafen-psx";
     src = fetchRetro {
       repo = "beetle-psx-libretro";
-      rev = "20c9b0eb0062b8768cc40aca0e2b2d626f1002a2";
-      sha256 = "192xzvdbjjqlxrnxxn45hmrr6yjpxw3gapkbax6nhrabnxhva43k";
+      rev = "76862abefdde9097561e2b795e75b49247deff17";
+      sha256 = "1k4b7g50ajzchjrm6d3v68hvri4k3hzvacn2l99i5yq3hxp7vs7x";
     };
     description = "Port of Mednafen's PSX Engine core to libretro";
   }).override {
@@ -92,8 +93,8 @@ in
     core = "mednafen-saturn";
     src = fetchRetro {
       repo = "beetle-saturn-libretro";
-      rev = "bb5d0c126feb25cf980f5cc1fc57d6a5a6f6e7ab";
-      sha256 = "0bnsdy27378b71y6aa65k4jxxy2xw6ky2ici3z53hkky2jnnjq0b";
+      rev = "3f1661b39ef249e105e6e2e655854ad0c87cd497";
+      sha256 = "1d1brysynwr6inlwfgv7gwkl3i9mf4lsaxd9wm2szw86g4diyn4c";
     };
     description = "Port of Mednafen's Saturn core to libretro";
   }).override {
@@ -106,8 +107,8 @@ in
     core = bname + "-accuracy";
     src = fetchRetro {
       repo = bname;
-      rev = "0bfe7f4f895af0927cec1c06dcae096b59416159";
-      sha256 = "0dmaa1vy6nfj9jk6xkvrbbcxa9j3f3zrp24zflnqbizc088vncb9";
+      rev = "e89c9a2e0a12d588366ee4f5c76b7d75139d938b";
+      sha256 = "0vkn1f38vwazpp3kbvvv8c467ghak6yfx00s48wkxwvhmak74a3s";
     };
     description = "Fork of bsnes with HLE DSP emulation restored";
   }).override {
@@ -118,27 +119,55 @@ in
     core = "desmume";
     src = fetchRetro {
       repo = core;
-      rev = "cae5945149a72b1dc0b130d6e60e2690b88a925a";
-      sha256 = "1qzlbw0vy87zi3w6hp5zj9dxdkj3qc9czjf41sj70irwyvqi0kii";
+      rev = "ce1f93abb4c3aa55099f56298e5438a03a3c2bbd";
+      sha256 = "064gzfbr7yizmvi91ry5y6bzikj633kdqhvzycb9f1g6kspf8yyl";
     };
     description = "libretro wrapper for desmume NDS emulator";
   }).override {
     configurePhase = "cd desmume";
   };
 
+  dolphin = (mkLibRetroCore {
+    core = "dolphin";
+    src = fetchRetro {
+      repo = "dolphin";
+      rev = "a6ad451fdd4ac8753fd1a8e2234ec34674677754";
+      sha256 = "1cshlfmhph8dl3vgvn37imvp2b7xs2cx1r1ifp5js5psvhycrbz3";
+    };
+    description = "Port of Dolphin to libretro";
+
+    extraBuildInputs = [
+      cmake curl mesa pcre pkgconfig sfml miniupnpc
+      gettext glib gtk2 hidapi
+      libevdev libudev
+    ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil ]);
+  }).override {
+    cmakeFlags = [
+        "-DLINUX_LOCAL_DEV=true"
+        "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
+        "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+        "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
+    ];
+    dontUseCmakeBuildDir = "yes";
+    buildPhase = ''
+      cd Source/Core/DolphinLibretro
+      make
+    '';
+  };
+
   fba = (mkLibRetroCore rec {
     core = "fba";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "b642e054a1f581fbac16c08f4b8df9ab6c474203";
-      sha256 = "0jxbzjhpyw1fzipm2ai2nv62vb0q5cb203m093vakr1zdsx7si2n";
+      rev = "9146c18ac989c619256d1cb8954d49e728e44ea3";
+      sha256 = "159dww8mxi95xz4ypw38vsn1g4k6z8sv415qqf0qriydwhw6mh2m";
     };
     description = "Port of Final Burn Alpha to libretro";
   }).override {
     buildPhase = ''
       cd svn-current/trunk \
       && make -f makefile.libretro \
-      && mv fb_alpha_libretro.so fba_libretro.so
+      && mv fbalpha2012_libretro.so fba_libretro.so
     '';
   };
 
@@ -146,30 +175,28 @@ in
     core = "fceumm";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "eb19d48804ebeb381b20e74db7033c321f6b6d04";
-      sha256 = "18wm6yzwshqfkd75kkcv035p1s2yhnchn98bcn9aj15aw5qyhvd4";
+      rev = "45f773a1c221121746bbe2680e3aaaf92776a87e";
+      sha256 = "0jnwh1338q710x47bzrx319g5xbq9ipv35kyjlbkrzhqjq1blz0b";
     };
     description = "FCEUmm libretro port";
   };
 
-  gambatte = (mkLibRetroCore rec {
+  gambatte = mkLibRetroCore rec {
     core = "gambatte";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "59fb6a652e0de3c3a3b29e58af5ac035958da37e";
-      sha256 = "0n2416lgqbzah1q3ji1hhpcdi9h29563gz739kf9libmnz86vd6f";
+      rev = "db7af6cf6ea39fd5e39eea137ff752649599a4e4";
+      sha256 = "0h7hyj630nk1s32wx02y4q9x2lp6wbnh6nkc9ihf4pygcsignmwr";
     };
     description = "Gambatte libretro port";
-  }).override {
-    configurePhase = "cd libgambatte";
   };
 
   genesis-plus-gx = mkLibRetroCore rec {
     core = "genesis-plus-gx";
     src = fetchRetro {
       repo = "Genesis-Plus-GX";
-      rev = "7d8d5f1026af8cfd00cdf32c67a999bd1e454a09";
-      sha256 = "16jm97h66bb2sqlimjlks31sapb23x4q8sr16wdqn1xgi670xw3c";
+      rev = "365a28c7349b691e6aaa3ad59b055261c42bd130";
+      sha256 = "0s11ddpnb44q4xjkl7dylldhi9y5zqywqavpk0bbwyj84r1cbz3c";
     };
     description = "Enhanced Genesis Plus libretro port";
   };
@@ -178,20 +205,20 @@ in
     core = "mame";
     src = fetchRetro {
       repo = "mame";
-      rev = "8da2303292bb8530f9f4ffad8bf1df95ee4cab74";
-      sha256 = "0afsxsm1d4x9jn28qz6v47hhnp7q9i0yqk62i4lk4d7i7m4dq5j9";
+      rev = "9f8a36adeb4dc54ec2ecac992ce91bcdb377519e";
+      sha256 = "0blfvq28hgv9kkpijd8c9d9sa5g2qr448clwi7wrj8kqfdnrr8m1";
     };
     description = "Port of MAME to libretro";
 
-    extraBuildInputs = [ alsaLib portaudio python27 ];
+    extraBuildInputs = [ alsaLib mesa portaudio python27 xorg.libX11 ];
   };
 
   mgba = mkLibRetroCore rec {
     core = "mgba";
     src = fetchRetro {
       repo = core;
-      rev = "4000128339b535896615c994cafcd777637573f4";
-      sha256 = "1yar78rvgfqx7jdna9chkmmbnpcf7k9ckbzj506f7k7m7zv819fn";
+      rev = "fdaaaee661e59f28c94c7cfa4e82e70b71e24a9d";
+      sha256 = "1b30sa861r4bhbqkx6vkklh4iy625bpzki2ks4ivvjns1ijczvc7";
     };
     description = "Port of mGBA to libretro";
   };
@@ -200,12 +227,12 @@ in
     core = "mupen64plus";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "7db9296453629a44de806589f3ff64e824e775ad";
-      sha256 = "075lpmwmj99yf9d9905x7apawd4bqz0whr37mh2fgr3jf730yiyl";
+      rev = "407bcd40b3a42bff6b856a6d6f88a7d5d670bf9e";
+      sha256 = "0q5kvjz7rpk7mp75cdywqjgmy10c0h7ky26hh1x90d39y94idcd8";
     };
     description = "Libretro port of Mupen64 Plus, GL only";
 
-    extraBuildInputs = [ mesa ];
+    extraBuildInputs = [ mesa libpng ];
   }).override {
     buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
   };
@@ -214,20 +241,34 @@ in
     core = "nestopia";
     src = fetchRetro {
       repo = core;
-      rev = "dcaed965760669161d6fd44755887545ea393041";
-      sha256 = "03fy5hb181ffx8sk9wmm415k084zqqhfqga4crgc7hdqi16s3r5v";
+      rev = "ecfa170a582e5b8ec11225ca645843fa064955ca";
+      sha256 = "17ac7dhasch6f4lpill8c5scsvaix0jvbf1cp797qbll4hk84f2q";
     };
     description = "nestopia undead libretro port";
   }).override {
     buildPhase = "cd libretro && make";
   };
 
+  parallel-n64 = (mkLibRetroCore rec {
+    core = "parallel-n64";
+    src = fetchRetro {
+      repo = core;
+      rev = "3276db27547bf7ca85896427f0b82d4658694d88";
+      sha256 = "19396v50azrb52ifjk298zgcbxn8dvfvp6zwrnzsk6mp8ff7qcqw";
+    };
+    description = "Parallel Mupen64plus rewrite for libretro.";
+
+    extraBuildInputs = [ mesa libpng ];
+  }).override {
+    buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
+  };
+
   picodrive = (mkLibRetroCore rec {
     core = "picodrive";
     src = fetchRetro {
       repo = core;
-      rev = "e912fdf26376bfa5d7d6488055fe6fdbd13c2e49";
-      sha256 = "1mi36y8kx6s76cgygpj11zw35p44gd66mxygmxliz7k6xsd7ww41";
+      rev = "cbc93b68dca1d72882d07b54bbe1ef25b980558a";
+      sha256 = "0fl9r6jj2x9231md5zc4scra79j5hfn1n2z67scff1375xg1k64h";
     };
     description = "Fast MegaDrive/MegaCD/32X emulator";
 
@@ -241,8 +282,8 @@ in
     core = "ppsspp";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "ea17e27fcf16b9f875718b6550fe7145c6257c06";
-      sha256 = "0w5njj5pamqc4a022hdplb7vapwkf34ad1w4acz3c8b05vkl457d";
+      rev = "5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573";
+      sha256 = "06k1gzmypz61dslynrw4b5i161rhj43y6wnr2nhbzvwcv5bw8w8r";
     };
     description = "ppsspp libretro port";
     extraBuildInputs = [ mesa ffmpeg ];
@@ -254,8 +295,8 @@ in
     core = "prboom";
     src = fetchRetro {
       repo = "libretro-" + core;
-      rev = "90ad0db331c53e8851581e1547b7377fb9fffe5b";
-      sha256 = "0jk73nakrs9jxj3d0dmjs0csskjhddn8a4sky3mpk9vp30csx0ll";
+      rev = "4c690eb6b569a276c5b2a87680718f715477eae2";
+      sha256 = "02vkl3y5dmyzifsviphspqv03a2rdyf36zpjpgfg7x0s226f56ja";
     };
     description = "Prboom libretro port";
   }).override {
@@ -266,8 +307,8 @@ in
     core = "quicknes";
     src = fetchRetro {
       repo = "QuickNES_Core";
-      rev = "518638b8064c9d0cb1b5aa29d96419f8528c9de5";
-      sha256 = "0jv1z65m4j3hbfnb3chklh0dhwlc4gdqr0asswdsc1y4iwp0331c";
+      rev = "8613b48cee97f1472145bbafa76e543854b2bbd5";
+      sha256 = "18lizdb9zjlfhh8ibvmcscldlf3mw4aj8nds3pah68cd2lw170w1";
     };
     description = "QuickNES libretro port";
   }).override {
@@ -278,8 +319,8 @@ in
     core = "reicast";
     src = fetchRetro {
       repo = core + "-emulator";
-      rev = "ed47c72cf2e124d9d753285fd61d12ea8e071d0d";
-      sha256 = "05dw7qjnprf1lw3ps0sb7sp73hsh1a27rxbwjqd26j85zr84g3r9";
+      rev = "40d4e8af2dd67a3f317c14224873c8ec0e1f9d11";
+      sha256 = "0d8wzpv7pcyh437gmvi439vim26wyrjmi5hj97wvyvggywjwrx8m";
     };
     description = "Reicast libretro port";
     extraBuildInputs = [ mesa ];
@@ -291,8 +332,8 @@ in
     core = "scummvm";
     src = fetchRetro {
       repo = core;
-      rev = "c3e719acc08c1873609bab3578939b7c9e606511";
-      sha256 = "03wvffy3h62qc7f3d8042wd234m8ikd843ggp903y285sgh54r9y";
+      rev = "de8d7e58caa23f071ce9d1bc5133f45d16c3ff1c";
+      sha256 = "097i2dq3hw14hicsplrs36j1qa3r45vhzny5v4aw6qw4aj34hksy";
     };
     description = "Libretro port of ScummVM";
     extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ];
@@ -304,30 +345,35 @@ in
     core = "snes9x";
     src = fetchRetro {
       repo = core;
-      rev = "ccf1ee2eae73ed1e4044c8dd9536dd4ac1be6d8b";
-      sha256 = "1bwjk817m8v69s13fc9kcj605ig6707rsj57wmz2ri2ggmydhvcb";
+      rev = "db4bfaba3b0d5a067fe9aea323503656837a8d9a";
+      sha256 = "02f04ss45km32lp68diyfkix1gryx89qy8cc80189ipwnx80pgip";
     };
     description = "Port of SNES9x git to libretro";
   }).override {
     buildPhase = "cd libretro && make";
   };
 
-  snes9x-next = mkLibRetroCore rec {
+  snes9x-next = (mkLibRetroCore rec {
     core = "snes9x-next";
     src = fetchRetro {
       repo = core;
-      rev = "dfb7eef46d6bc2dbcc98f25e2bfadc9d2cff5cfd";
-      sha256 = "0vdfjdwr6b5izh3gy63lcfnrdvr99qhlqfibjw4mmyqk9gkjrwm8";
+      rev = "b2a69de0df1eb39ed362806f9c9633f4544272af";
+      sha256 = "1vhgsrg9l562nincfvpj2h2dqkkblg1qmh0v47jqlqgmgl2b1zij";
     };
     description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
+  }).override {
+    buildPhase = ''
+      make -f Makefile.libretro
+      mv snes9x2010_libretro.so snes9x_next_libretro.so
+    '';
   };
 
   stella = (mkLibRetroCore rec {
     core = "stella";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "ada5c57d632ace0ba915ce7a470d504a5d89ebcc";
-      sha256 = "090isch1l5hm07l22l8hja31cdiaxc0vgc3i01qs8zgdyvsx4vvg";
+      rev = "bbe65db0e344dcb38905586bd853076b65963e5a";
+      sha256 = "18r1yyfzvjq2hq04d94y37kzsq6aywh1aim69a3imk8kh46gwrh0";
     };
     description = "Port of Stella to libretro";
   }).override {
@@ -338,8 +384,8 @@ in
     core = "vba-next";
     src = fetchRetro {
       repo = core;
-      rev = "0c20cd92bc8684340d7a1bcae14a603001ad5e4a";
-      sha256 = "016vm2xyjfkkcqkqfw3n09if4bxxppk3g6p92waa9bv2ni4xli69";
+      rev = "e7734756d228ea604f8fa872cea1bba987780791";
+      sha256 = "03s4rh7dbbhbfc4pfdvr9jcbxrp4ijg8yp49s1xhr7sxsblj2vpv";
     };
     description = "VBA-M libretro port with modifications for speed";
   };
@@ -348,8 +394,8 @@ in
     core = "vbam";
     src = fetchRetro {
       repo = core + "-libretro";
-      rev = "bedddba614bc4fcbcf5b0d8565f94619b094c20c";
-      sha256 = "1hvq4wsznb2vzg11iqmy5dnfjpiga368p1lmsx9d7ci7dcqyw7wy";
+      rev = "1b82fc2d761f027567632692f787482d1e287ec2";
+      sha256 = "043djmqvh2grc25hwjw4b5kfx57b89ryp6fcl8v632sm35l3dd6z";
     };
     description = "vanilla VBA-M libretro port";
   }).override {
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index ac8e1e46112..171453b89d5 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -23,12 +23,12 @@ in
 
 stdenv.mkDerivation rec {
   name = "retroarch-bare-${version}";
-  version = "1.3.4";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "0ccp17580w0884baxj5kcynlm03jgd7i62dprz1ajxbi2s7b3mi3";
+    sha256 = "1ym2kws58fbavkc3giz5xqaqiqqdbf7wrz7y7iw53p1bnkc3l8yi";
     rev = "v${version}";
   };
 
diff --git a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix b/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
index 38b8e27db7d..6b708cccc8f 100644
--- a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
+++ b/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
@@ -8,8 +8,9 @@ let
 
   script = exec: ''
     #!${stdenv.shell}
-    nohup sh -c "sleep 1 && pkill -SIGSTOP kodi" &
-    nohup sh -c "${exec} '$@' -f;pkill -SIGCONT kodi"
+    nohup sh -c "pkill -SIGTSTP kodi" &
+    # https://forum.kodi.tv/showthread.php?tid=185074&pid=1622750#pid1622750
+    nohup sh -c "sleep 10 && ${exec} '$@' -f;pkill -SIGCONT kodi"
   '';
   scriptSh = exec: pkgs.writeScript ("kodi-"+exec.name) (script exec.path);
   execs = map (core: rec { name = core.core; path = core+"/bin/retroarch-"+name;}) cores;
@@ -31,8 +32,8 @@ stdenv.mkDerivation rec {
     description = "Kodi retroarch advanced launchers";
     longDescription = ''
       These retroarch launchers are intended to be used with
-      anglescry advanced launcher for Kodi since device input is
-      caught by both Kodi and the retroarch process.
+      advanced (emulation) launcher for Kodi since device input is
+      otherwise caught by both Kodi and the retroarch process.
     '';
     license = stdenv.lib.licenses.gpl3;
   };
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 19026274d56..92815ffaa0a 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   ++ lib.optional odbcSupport            pkgs.unixODBC
   ++ lib.optional netapiSupport          pkgs.samba3_light
   ++ lib.optional cursesSupport          pkgs.ncurses
-  ++ lib.optional vaSupport              pkgs.libva
+  ++ lib.optional vaSupport              pkgs.libva-full
   ++ lib.optional pcapSupport            pkgs.libpcap
   ++ lib.optional v4lSupport             pkgs.libv4l
   ++ lib.optional saneSupport            pkgs.saneBackends
@@ -46,7 +46,8 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   ++ lib.optional alsaSupport            pkgs.alsaLib
   ++ lib.optional pulseaudioSupport      pkgs.libpulseaudio
   ++ lib.optional xineramaSupport        pkgs.xorg.libXinerama
-  ++ lib.optionals gstreamerSupport      (with pkgs.gst_all; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ])
+  ++ lib.optional udevSupport            pkgs.udev
+  ++ lib.optionals gstreamerSupport      (with pkgs.gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ])
   ++ lib.optionals gtkSupport    [ pkgs.gtk3 pkgs.glib ]
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
   ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
@@ -90,9 +91,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
           ((map (links "share/wine/gecko") geckos)
         ++ (map (links "share/wine/mono")  monos))}
   '' + lib.optionalString supportFlags.gstreamerSupport ''
-    wrapProgram "$out/bin/wine" \
-      --argv0 "" \
-      --prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
+    for i in wine wine64; do
+      if [ -e "$out/bin/$i" ]; then
+        wrapProgram "$out/bin/$i" \
+          --argv0 "" \
+          --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
+      fi
+    done
   '';
   
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index deeff3c7343..91fb0da82d8 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -38,6 +38,7 @@
   gphoto2Support ? false,
   ldapSupport ? false,
   pulseaudioSupport ? false,
+  udevSupport ? false,
   xineramaSupport ? false,
   xmlSupport ? false }:
 
@@ -50,7 +51,7 @@ let wine-build = build: release:
                   netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
                   gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
                   pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
-                  openglSupport gstreamerSupport;
+                  openglSupport gstreamerSupport udevSupport;
         };
       });
 
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix
index 51af13b8a15..4a7fe0ff55b 100644
--- a/pkgs/misc/emulators/wine/staging.nix
+++ b/pkgs/misc/emulators/wine/staging.nix
@@ -18,7 +18,7 @@ stdenv.lib.overrideDerivation wineUnstable (self: {
     chmod +w patches
     cd patches
     patchShebangs gitapply.sh
-    ./patchinstall.sh DESTDIR="$TMP/$sourceRoot" --all
+    ./patchinstall.sh DESTDIR="$PWD/.." --all
     cd ..
   '';
 })
diff --git a/pkgs/misc/logging/beats/default.nix b/pkgs/misc/logging/beats/default.nix
new file mode 100644
index 00000000000..d4c78389e66
--- /dev/null
+++ b/pkgs/misc/logging/beats/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, elk5Version, buildGoPackage, libpcap }:
+
+let beat = package : extraArgs : buildGoPackage (rec {
+      name = "${package}-${version}";
+      version = elk5Version;
+
+      src = fetchFromGitHub {
+        owner = "elastic";
+        repo = "beats";
+        rev = "v${version}";
+        sha256 = "1if16sqbhgxc7ahn9pak8av9rq9l8ldk44hr4w4g7lhxnqhmhsji";
+      };
+
+      goPackagePath = "github.com/elastic/beats";
+
+      subPackages = [ package ];
+
+      meta = with stdenv.lib; {
+        homepage = https://www.elastic.co/products/beats;
+        license = licenses.asl20;
+        maintainers = with maintainers; [ fadenb basvandijk ];
+        platforms = platforms.linux;
+      };
+    } // extraArgs);
+in {
+  filebeat   = beat "filebeat"   {meta.description = "Lightweight shipper for logfiles";};
+  heartbeat  = beat "heartbeat"  {meta.description = "Lightweight shipper for uptime monitoring";};
+  metricbeat = beat "metricbeat" {meta.description = "Lightweight shipper for metrics";};
+  packetbeat = beat "packetbeat" {
+    buildInputs = [ libpcap ];
+    meta.description = "Network packet analyzer that ships data to Elasticsearch";
+    meta.longDescription = ''
+      Packetbeat is an open source network packet analyzer that ships the
+      data to Elasticsearch.
+
+      Think of it like a distributed real-time Wireshark with a lot more
+      analytics features. The Packetbeat shippers sniff the traffic between
+      your application processes, parse on the fly protocols like HTTP, MySQL,
+      PostgreSQL, Redis or Thrift and correlate the messages into transactions.
+    '';
+  };
+}
diff --git a/pkgs/misc/logging/filebeat/default.nix b/pkgs/misc/logging/filebeat/default.nix
deleted file mode 100644
index c33f34c6dc4..00000000000
--- a/pkgs/misc/logging/filebeat/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
-
-buildGoPackage rec {
-  name = "filebeat-${version}";
-  version = "5.2.2";
-
-  src = fetchFromGitHub {
-    owner = "elastic";
-    repo = "beats";
-    rev = "v${version}";
-    sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q";
-  };
-
-  goPackagePath = "github.com/elastic/beats";
-
-  subPackages = [ "filebeat" ];
-
-  meta = with stdenv.lib; {
-    description = "Lightweight shipper for logfiles";
-    homepage = https://www.elastic.co/products/beats;
-    license = licenses.asl20;
-    maintainers = [ maintainers.fadenb ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/misc/logging/heartbeat/default.nix b/pkgs/misc/logging/heartbeat/default.nix
deleted file mode 100644
index faa558589f2..00000000000
--- a/pkgs/misc/logging/heartbeat/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
-
-buildGoPackage rec {
-  name = "heartbeat-${version}";
-  version = "5.2.2";
-
-  src = fetchFromGitHub {
-    owner = "elastic";
-    repo = "beats";
-    rev = "v${version}";
-    sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q";
-  };
-
-  goPackagePath = "github.com/elastic/beats";
-
-  subPackages = [ "heartbeat" ];
-
-  meta = with stdenv.lib; {
-    description = "Lightweight shipper for uptime monitoring";
-    homepage = https://www.elastic.co/products/beats;
-    license = licenses.asl20;
-    maintainers = [ maintainers.fadenb ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/misc/logging/metricbeat/default.nix b/pkgs/misc/logging/metricbeat/default.nix
deleted file mode 100644
index fcb2376a93d..00000000000
--- a/pkgs/misc/logging/metricbeat/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
-
-buildGoPackage rec {
-  name = "metricbeat-${version}";
-  version = "5.2.2";
-
-  src = fetchFromGitHub {
-    owner = "elastic";
-    repo = "beats";
-    rev = "v${version}";
-    sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q";
-  };
-
-  goPackagePath = "github.com/elastic/beats";
-
-  subPackages = [ "metricbeat" ];
-
-  meta = with stdenv.lib; {
-    description = "Lightweight shipper for metrics";
-    homepage = https://www.elastic.co/products/beats;
-    license = licenses.asl20;
-    maintainers = [ maintainers.fadenb ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/misc/logging/packetbeat/default.nix b/pkgs/misc/logging/packetbeat/default.nix
deleted file mode 100644
index d4445bec998..00000000000
--- a/pkgs/misc/logging/packetbeat/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, buildGoPackage, libpcap }:
-
-buildGoPackage rec {
-  name = "packetbeat-${version}";
-  version = "5.2.2";
-
-  src = fetchFromGitHub {
-    owner = "elastic";
-    repo = "beats";
-    rev = "v${version}";
-    sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q";
-  };
-
-  goPackagePath = "github.com/elastic/beats";
-
-  subPackages = [ "packetbeat" ];
-
-  buildInputs = [ libpcap ];
-
-  meta = with stdenv.lib; {
-    description = "Network packet analyzer that ships data to Elasticsearch";
-    longDescription = ''
-      Packetbeat is an open source network packet analyzer that ships the
-      data to Elasticsearch.
-
-      Think of it like a distributed real-time Wireshark with a lot more
-      analytics features. The Packetbeat shippers sniff the traffic between
-      your application processes, parse on the fly protocols like HTTP, MySQL,
-      PostgreSQL, Redis or Thrift and correlate the messages into transactions.
-    '';
-    homepage = https://www.elastic.co/products/beats;
-    license = licenses.asl20;
-    maintainers = [ maintainers.fadenb ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix
index ffdaf3949ae..13102877d7e 100644
--- a/pkgs/misc/my-env/default.nix
+++ b/pkgs/misc/my-env/default.nix
@@ -1,7 +1,7 @@
 # idea: provide a build environments for your developement of preference
 /*
   #### examples of use: ####
-  # Add this to your ~/.nixpkgs/config.nix:
+  # Add this to your ~/.config/nixpkgs/config.nix:
   {
     packageOverrides = pkgs : with pkgs; {
       sdlEnv = pkgs.myEnvFun {
@@ -22,7 +22,7 @@
   ##### Another example, more complicated but achieving more: #######
   # Make an environment to build nix from source and create ctags (tagfiles can
   # be extracted from TAG_FILES) from every source package. Here would be a
-  # full ~/.nixpkgs/config.nix
+  # full ~/.config/nixpkgs/config.nix
   {
     packageOverrides = pkgs : with pkgs; with sourceAndTags;
     let complicatedMyEnv = { name, buildInputs ? [], cTags ? [], extraCmds ? ""}:
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index bed8c605245..f87e24efe18 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
 
-  name = "xlockmore-5.53";
+  name = "xlockmore-5.54";
   src = fetchurl {
     url = "http://sillycycle.com/xlock/${name}.tar.xz";
-    sha256 = "0rs9vc22xgk9gi88ifimdyrhqfjgs2jybwr9kvklg5qx7ff6aws9";
+    sha256 = "0mdgl20619iii1i04pj2dq29nwvasbngy48cvd819h0wfawsqkwz";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
diff --git a/pkgs/misc/themes/flat-plat/default.nix b/pkgs/misc/themes/flat-plat/default.nix
index b858dfc2c5f..3c7882e8f94 100644
--- a/pkgs/misc/themes/flat-plat/default.nix
+++ b/pkgs/misc/themes/flat-plat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "flat-plat-gtk-theme-${version}";
-  version = "20170515";
+  version = "20170605";
 
   src = fetchFromGitHub {
     owner = "nana-4";
     repo = "Flat-Plat";
     rev = "v${version}";
-    sha256 = "0z0l9ch6symcjhbfkj1q5i46ajbn7l7slhjgrcjm0ppqh05xc4y7";
+    sha256 = "1vcd6mkkfk9a1n5hwpdigvsdsfd8df83kc94w53rs7gw9pqfygya";
   };
 
   nativeBuildInputs = [ gnome3.glib libxml2 ];
diff --git a/pkgs/misc/themes/greybird/default.nix b/pkgs/misc/themes/greybird/default.nix
index 515b8fc712a..b1e104b7c3e 100644
--- a/pkgs/misc/themes/greybird/default.nix
+++ b/pkgs/misc/themes/greybird/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "greybird";
-  version = "3.22.3";
+  version = "3.22.4";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "0hz8q2sf2kcxixzw088rny6zmhfls5z49zlhm8m9013wph799a8c";
+    sha256 = "1xh6vi4rmxmkrgy9qskcl8q6014qnsn19xjjwbmwf8n6yr07scl3";
   };
 
   nativeBuildInputs = [ autoreconfHook sass glib libxml2 gdk_pixbuf librsvg ];
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 4c14581e331..07ccd419f4b 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -69,6 +69,12 @@ in rec {
     filesToInstall = ["tools/dumpimage" "tools/mkenvimage" "tools/mkimage"];
   };
 
+  ubootA20OlinuxinoLime = buildUBoot rec {
+    defconfig = "A20-OLinuXino-Lime_defconfig";
+    targetPlatforms = ["armv7l-linux"];
+    filesToInstall = ["u-boot-sunxi-with-spl.bin"];
+  };
+
   ubootBananaPi = buildUBoot rec {
     defconfig = "Bananapi_defconfig";
     targetPlatforms = ["armv7l-linux"];
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 324928b4d8b..87d57e44182 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -16,7 +16,7 @@ in
 
 # TL;DR
 # Add your plugin to ./vim-plugin-names
-# Regenerate via `nix-build -Q -A vimPlugins.pluginnames2nix; ./result/bin/vim-plugin-names-to-nix`
+# Regenerate via `nix-shell -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix"`
 # Copy the generated expression(s) into this file.
 # If plugin is complicated then make changes to ./vim2nix/additional-nix-code
 
@@ -113,7 +113,6 @@ rec {
 
   # --- generated packages bellow this line ---
 
-
   CSApprox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "CSApprox-2013-07-26";
     src = fetchgit {
@@ -181,11 +180,11 @@ rec {
   };
 
   Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2017-05-15";
+    name = "Syntastic-2017-05-30";
     src = fetchgit {
       url = "git://github.com/scrooloose/syntastic";
-      rev = "5efeecece3f512076513e8ee1e7444157a16a77b";
-      sha256 = "1dzhgmgbfh9dda72y3d5gb7zjjm2k55wd4z3wy8ixip3cp4mkiqx";
+      rev = "159900a1a2d3db2c4d3757f1085f377c6e59ac02";
+      sha256 = "1bq3di4kr855sma0qp6gyrrphy23hy2mn9ws5knnzicxmq5fixqb";
     };
     dependencies = [];
 
@@ -203,11 +202,11 @@ rec {
   };
 
   Tagbar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Tagbar-2017-02-18";
+    name = "Tagbar-2017-06-05";
     src = fetchgit {
       url = "git://github.com/majutsushi/tagbar";
-      rev = "959f48798136bfd4ce60075d3c86c580fcf5e5c5";
-      sha256 = "02v30744w2jcavwk9cjdy51ldpqylj6pgg6zavj4dni7knbnq3jm";
+      rev = "87a1263f5d8b3623bee5e6036254480e668b5f74";
+      sha256 = "1s6727vwrcikv9dmkl6s1c2r2r107p733j8sjjxshl68bi62ms8z";
     };
     dependencies = [];
 
@@ -225,11 +224,11 @@ rec {
   };
 
   The_NERD_tree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_tree-2017-05-20";
+    name = "The_NERD_tree-2017-06-05";
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdtree";
-      rev = "0b84d458d607f0326b7718c92ba20f2627f63342";
-      sha256 = "0gyqaz29ps9hidgnllcpwz91qac9r4xfqb43azgrydzv3j8m7lya";
+      rev = "a9ab90198be0581fe961125bba3f282a666ef7ff";
+      sha256 = "0qf2xjr2hyz08xalgv6yjr5rrrcxgv76sshr7d62sygg6qfsnbgw";
     };
     dependencies = [];
 
@@ -285,13 +284,20 @@ rec {
   };
 
   clang_complete = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clang_complete-2017-02-16";
+    name = "clang_complete-2017-06-03";
     src = fetchgit {
       url = "git://github.com/Rip-Rip/clang_complete";
-      rev = "b1a507fbc27ef581c966b035f52eafae773a6f32";
-      sha256 = "19zs03giv8h5xmv18y9zn85sxr8akphvbscclrqhs4cf88285cgl";
+      rev = "c963df1cd10463166e1245445bff27f28e89f9f7";
+      sha256 = "1y7zx3ywir86mxgg86kb8z7xmxadcmv8ycc2i1y8s7jz6pv2v40l";
     };
     dependencies = [];
+    # In addition to the arguments you pass to your compiler, you also need to
+    # specify the path of the C++ std header (if you are using C++).
+    # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
+    # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
+    # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
+    # as an alternative you can execute the following command:
+    # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
     preFixup = ''
       substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
         --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc}/lib/libclang.so'"
@@ -357,12 +363,23 @@ rec {
 
   };
 
+  forms = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "forms-2012-11-28";
+    src = fetchgit {
+      url = "git://github.com/megaannum/forms";
+      rev = "b601e03fe0a3b8a43766231f4a6217e4492b4f75";
+      sha256 = "19kp1i5c6jmnpbsap9giayqbzlv7vh02mp4mjvicqj9n0nfyay74";
+    };
+    dependencies = ["self"];
+
+  };
+
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2017-05-19";
+    name = "fugitive-2017-06-08";
     src = fetchgit {
       url = "git://github.com/tpope/vim-fugitive";
-      rev = "d6e7e20123ef3892c041e4d9fbaf67a68b144a94";
-      sha256 = "1fq3159pqwmf8z954r6vi0im790idnmgjrgh7raq8walcni72g78";
+      rev = "be2ff98db543990d7e59a90189733d7a779788fd";
+      sha256 = "1lkdypibsw2p45wrdcc8ambynszdcwiqyh50zhflf2slpd98iz3m";
     };
     dependencies = [];
 
@@ -391,11 +408,11 @@ rec {
   };
 
   vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-autoformat-2017-05-18";
+    name = "vim-autoformat-2017-06-02";
     src = fetchgit {
       url = "https://github.com/Chiel92/vim-autoformat";
-      rev = "31c2de23982973737d624e6a473098af100928a2";
-      sha256 = "140nl41pcac3xbw3scj9fmyrlsga4adnsgwn840nmcj1wcc287qh";
+      rev = "41d1c14de27f76f400c51d45b1617319266d9f4a";
+      sha256 = "0myhs5fjq9lr0ag49scdhchsifhc7djmyrx88nhsing33l4nbjzk";
     };
     dependencies = [];
 
@@ -413,22 +430,22 @@ rec {
   };
 
   tsuquyomi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tsuquyomi-2017-05-21";
+    name = "tsuquyomi-2017-05-31";
     src = fetchgit {
       url = "https://github.com/Quramy/tsuquyomi";
-      rev = "cdae8ecde529019d50bdf2f25b782e9ee408a7c0";
-      sha256 = "07hadplv29pm6kv3ay6w7a6nwzrmxiwn3fmllgl2vfrnqx82fknx";
+      rev = "46dfcd72b9701a52331349ba0d5c7596167093ab";
+      sha256 = "12rvkc3wf959siijrgld56xvfhgacglxb69z4q567fsjv3ynqnrv";
     };
     dependencies = [];
 
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-nvim-2017-05-20";
+    name = "deoplete-nvim-2017-06-06";
     src = fetchgit {
       url = "https://github.com/Shougo/deoplete.nvim";
-      rev = "493a97d151b6b89993194b442ca5f6d5e969e9f8";
-      sha256 = "1k5ziaqciqif7as4fk2hnc0r8kva3bgvx5zi11k9qg541ixz29s2";
+      rev = "8bd63b7e4f9bb3cf2040724dd71cff195564166a";
+      sha256 = "1jf6l5li7m4m2ijfndqgm95mpw9c188vfbsggnzp2ivcxc7bd8bv";
     };
     dependencies = [];
 
@@ -468,11 +485,11 @@ rec {
   };
 
   clighter8 = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clighter8-2017-04-26";
+    name = "clighter8-2017-06-10";
     src = fetchgit {
       url = "https://github.com/bbchung/clighter8";
-      rev = "8b892435fda7cb32378c7e49a2064126dbb6b9af";
-      sha256 = "1ixqs1id9q24wwdw1izmznz8yk68pm74336ixhs8lbj9rn8my5gn";
+      rev = "c83091b35c0d09cee0d6850c91824f72a0d8c513";
+      sha256 = "105a4c753n57svyz8abs5w0v2747pyfly7dzjyh6i5yraaq2g7bx";
     };
     dependencies = [];
     preFixup = ''
@@ -482,11 +499,11 @@ rec {
   };
 
   neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neomake-2017-05-21";
+    name = "neomake-2017-06-10";
     src = fetchgit {
       url = "https://github.com/benekastah/neomake";
-      rev = "ec599098f76032a9a4d7d504afa2fefb722857ef";
-      sha256 = "184y5l13gb3ax2bpsnwyyy4m3np4w6v886cvx7lpzlihk2w97dp6";
+      rev = "cc916f35fa3d131b2d6529d0e47bde141d99b7c3";
+      sha256 = "00kz9ny3z4j6nhgzxarj8d072k6sf4qiwgfj4ckmllq5fyb2ik4l";
     };
     dependencies = [];
 
@@ -526,11 +543,11 @@ rec {
   };
 
   vim-tmux-navigator = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-tmux-navigator-2017-02-26";
+    name = "vim-tmux-navigator-2017-06-01";
     src = fetchgit {
       url = "https://github.com/christoomey/vim-tmux-navigator";
-      rev = "2fc1ed42ab580ab47c506ab0bef09f1dbb9ff04d";
-      sha256 = "1mw0x3kcxvhfypzd7yj6bcknp6c5bh4zb4r9b16n1r7gplvwv8jn";
+      rev = "b93e176b7150942d9f0556347d1c8f6d0b690124";
+      sha256 = "1xjvx4svv1kdqmv114ghx7cfrb5kmbljlwac8bsw36rq3kyknwrn";
     };
     dependencies = [];
 
@@ -548,11 +565,11 @@ rec {
   };
 
   ctrlp-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-vim-2017-04-28";
+    name = "ctrlp-vim-2017-06-04";
     src = fetchgit {
       url = "https://github.com/ctrlpvim/ctrlp.vim";
-      rev = "cbd52e3bdd388afd7accaba6e0aea754f32da271";
-      sha256 = "08d6zrwsdrpjm9az5zdzdx8c27dmnc9flvsfp3ig6yz6jinvwc1x";
+      rev = "019f20a6f280b875b3812ea4d03a4cf1647cd0d9";
+      sha256 = "1zyl140ykjc1g7kc306f03q7xcxjzx757hphdgcb63ksql2k1f33";
     };
     dependencies = [];
 
@@ -603,11 +620,11 @@ rec {
   };
 
   vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-2017-05-17";
+    name = "vim-2017-05-24";
     src = fetchgit {
       url = "https://github.com/dracula/vim";
-      rev = "b7e11c087fe2a9e3023cdccf17985704e27b125d";
-      sha256 = "0480bs0df6jkfsi20mksbf5pix9js4mb0dfwwzbfj1c9xk7cn0z2";
+      rev = "6a5bf34193927c70b6c21dcbe1c130d2ab0951d6";
+      sha256 = "1mmqrc52k133ddpxcs0mxjph4n4b856r5wbs17bgcpk95cfbspb1";
     };
     dependencies = [];
 
@@ -698,7 +715,7 @@ rec {
       sha256 = "194qwj3glw3l9yxvd26vn10kl06v1sykqx2cznskqa3vj3z8jb01";
     };
     dependencies = ["vimproc" "vimshell" "self" "forms"];
-
+    pythonDependencies = with pythonPackages; [ sexpdata websocket_client ];
   };
 
   YUNOcommit-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
@@ -713,11 +730,11 @@ rec {
   };
 
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-go-2017-05-08";
+    name = "vim-go-2017-06-10";
     src = fetchgit {
       url = "https://github.com/fatih/vim-go";
-      rev = "7fb96896f3a1a41dfb5185336a057341eb7ad151";
-      sha256 = "0g9l68p1xsai2mlgy3lyvilz2s9lsjlgj0jjdinq4fky051fq8d9";
+      rev = "7b93bae4b08091c4d6243dafc2e040a84ea91d1d";
+      sha256 = "0hrzgxlkqvlh45pvli2aqnzx58vyjhmcz6rr28cm7x8b0wf20r00";
     };
     dependencies = [];
 
@@ -746,11 +763,11 @@ rec {
   };
 
   psc-ide-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "psc-ide-vim-2017-04-17";
+    name = "psc-ide-vim-2017-06-10";
     src = fetchgit {
       url = "https://github.com/frigoeu/psc-ide-vim";
-      rev = "deec92002a5a187ff8be3ae6060e202aa859d4cb";
-      sha256 = "0yjlp3rnlai2633slrhxr2g9sqqp1j9pqcm7h03gfgw6rh4kai9k";
+      rev = "f5fc6aadf805ec0186efc63cbf294f251c1b2056";
+      sha256 = "0syrvkbbrcxmss07sppgsg43j241fm6yqj8ii54fm51vss02qxp8";
     };
     dependencies = [];
 
@@ -790,33 +807,33 @@ rec {
   };
 
   idris-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "idris-vim-2017-05-07";
+    name = "idris-vim-2017-06-05";
     src = fetchgit {
       url = "https://github.com/idris-hackers/idris-vim";
-      rev = "7aeb9fc143730a4a52f2635248b5658c64696831";
-      sha256 = "0pg6q16z00g3imnb7d9pb0qv8jvnjipr0shqvlmqy0917rkhlapx";
+      rev = "0709927e689f4f4158661d4eb8ac6ce310cd7548";
+      sha256 = "05fiamb92l7d08kxv1jk5xpqvkxphr9vqi3bfa203mjkvymd3x34";
     };
     dependencies = [];
 
   };
 
   calendar-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "calendar-vim-2017-05-19";
+    name = "calendar-vim-2017-05-28";
     src = fetchgit {
       url = "https://github.com/itchyny/calendar.vim";
-      rev = "7571c1792b445cce5e98fd7df53b20b98ef28593";
-      sha256 = "08jxdyjy6jsrlmi7d3bwfpd1kmbaz0n7lh8cvmxh99kyymqlpn1m";
+      rev = "12c06ba87f32002b3c9f34fe881bcbaf3ab1721b";
+      sha256 = "02ss39227c8jfn95hqwwpgn1rvrgwib8h5h0j9rvl6x491jj98wg";
     };
     dependencies = [];
 
   };
 
   lightline-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "lightline-vim-2017-04-21";
+    name = "lightline-vim-2017-05-30";
     src = fetchgit {
       url = "https://github.com/itchyny/lightline.vim";
-      rev = "6034e639e871cb33a436508a6c6ccbe3e236de4c";
-      sha256 = "0w37l1i8bfpcs6wx0h98c5b2f4kgi6b4357c0lhfmwprajh4pw7n";
+      rev = "ff74d6561487d220ed9d878172d8b55a79a4c17e";
+      sha256 = "0j8pn42vfc1ka6hjnfsanl98vlk2839am5d4ynz9p1j1hichiqzv";
     };
     dependencies = [];
 
@@ -944,11 +961,11 @@ rec {
   };
 
   fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fzf-vim-2017-05-20";
+    name = "fzf-vim-2017-06-10";
     src = fetchgit {
       url = "https://github.com/junegunn/fzf.vim";
-      rev = "536b6ace35a16174fa35ea6ae5b27dc5c02469f6";
-      sha256 = "15wcjfla5r18d93vf5mhl6dwglj4a49c0jc0ijh2v8j3ilbjm29y";
+      rev = "cf60e546476f73514a326416916b6a98f88d8abd";
+      sha256 = "11cls65zfv9gzz8qmg44q0i03hmwhqb8i53lb42vdz2bzicdasv3";
     };
     dependencies = [];
 
@@ -1021,11 +1038,11 @@ rec {
   };
 
   vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimtex-2017-05-21";
+    name = "vimtex-2017-06-09";
     src = fetchgit {
       url = "https://github.com/lervag/vimtex";
-      rev = "286036f92ef972f6e5adb1b9865a60d0bed8cf9c";
-      sha256 = "0a2bnnilvkicr67an4rrd1zxhgf497z12r1xfqd65c80j2g63ls2";
+      rev = "0ae4e776cb78ce0c18635fecd6f518e3f40e5f80";
+      sha256 = "1iz87nr89wamxpg4whfqdfhp6qmfff6jjp58sjzh5q32lzzmi48s";
     };
     dependencies = [];
 
@@ -1091,11 +1108,11 @@ rec {
   };
 
   vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-startify-2017-05-07";
+    name = "vim-startify-2017-06-05";
     src = fetchgit {
       url = "https://github.com/mhinz/vim-startify";
-      rev = "1e251fb749640b2f4e6ccb812fccf5ad3ab9fd27";
-      sha256 = "178v9sqfdh51zfdm3wd4njgfm6d99ics6fa5bvm1v7gnj44zjxbj";
+      rev = "53c53b24440d14d7886484ad662549fc78550c40";
+      sha256 = "1w3kxvydnd7rh2fp3ra677dw11rsnmnm9bav92j3dkkb5afhmj3v";
     };
     dependencies = [];
 
@@ -1112,6 +1129,17 @@ rec {
 
   };
 
+  ack-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ack-vim-2017-05-07";
+    src = fetchgit {
+      url = "https://github.com/mileszs/ack.vim";
+      rev = "a16a9b63eb85cc0960a7f25c54647ac1f99f3360";
+      sha256 = "09bwawm2csliancl281y6wgalrrmaqq7d0baz4dq1cw18x657mk7";
+    };
+    dependencies = [];
+
+  };
+
   lushtags = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "lushtags-2017-04-19";
     src = fetchgit {
@@ -1223,11 +1251,11 @@ rec {
   };
 
   python-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "python-mode-2017-03-09";
+    name = "python-mode-2017-06-09";
     src = fetchgit {
       url = "https://github.com/python-mode/python-mode";
-      rev = "73620c44c4cd036a8133f77e2f56ca8995640cff";
-      sha256 = "0d2f8lcpjsrj3i21yinsncm9aigp024vi7mfy2hxhii7jcdmh8q5";
+      rev = "4c426b98c2f9094f44bdbe02f43e44badfa61724";
+      sha256 = "0lpd5k2j22r5wx5x5wh97mdsfyspfxf23kh241l7zbfm573r4jy0";
     };
     dependencies = [];
 
@@ -1278,22 +1306,33 @@ rec {
   };
 
   rust-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "rust-vim-2017-01-01";
+    name = "rust-vim-2017-06-01";
     src = fetchgit {
       url = "https://github.com/rust-lang/rust.vim";
-      rev = "732b5fcb3652f81726d5f0f5b97c9027c01f057a";
-      sha256 = "0yrg0wlpc9nj5zf25vgr9zd1kwapds3f10njr0dw0wgxr7g204dz";
+      rev = "b77ac8ecbd4baaa23cca612e1c9b3df5ea23da9b";
+      sha256 = "07qkyils4dgl81lqifx0pr075m3mdpzifp1w5d0zw4zkpvb0v8nk";
     };
     dependencies = [];
 
   };
 
   neoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neoformat-2017-05-14";
+    name = "neoformat-2017-06-09";
     src = fetchgit {
       url = "https://github.com/sbdchd/neoformat";
-      rev = "269e644661655d82765ae6c0259bbf084fa1f83b";
-      sha256 = "08r0hjz8dykn19rkprnh8jimj6g1p2pz0gqcj6bal84xk4qky2xb";
+      rev = "a52b155f6cc2f401afb04f865b2198d47b393ddd";
+      sha256 = "1a0j1k3bm9mp9d622m4kh5n9r2q4330kd0n3n9n60kmy3bnpa5w1";
+    };
+    dependencies = [];
+
+  };
+
+  deoplete-rust = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "deoplete-rust-2017-05-30";
+    src = fetchgit {
+      url = "https://github.com/sebastianmarkow/deoplete-rust";
+      rev = "5447ee448d3d63cda4681e6309b1c18c493e1cd1";
+      sha256 = "1dr95vnp11zzia7vnwdhhrmkslnak77nps4zr447f34lxk185v5d";
     };
     dependencies = [];
 
@@ -1322,44 +1361,44 @@ rec {
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neocomplete-vim-2017-04-30";
+    name = "neocomplete-vim-2017-05-27";
     src = fetchgit {
       url = "https://github.com/shougo/neocomplete.vim";
-      rev = "0dbc6e4594db2e7fdd4c71b93e67b51e26c9c258";
-      sha256 = "182hyi43sqy3y37vyjiapv2knz9n4f42x9dr4p10rmgpigp23axg";
+      rev = "4fd73faa262f5e3063422d9fc244c65f1b758cf3";
+      sha256 = "0hl5incxkxb491vnf3j2hndv4x31ic6dgj7wqka1bfqjcl53wjfl";
     };
     dependencies = [];
 
   };
 
   neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-snippets-2017-03-29";
+    name = "neosnippet-snippets-2017-06-11";
     src = fetchgit {
       url = "https://github.com/shougo/neosnippet-snippets";
-      rev = "2a9487bacb924d8e870612b6b0a2afb34deea0ae";
-      sha256 = "0917zlh7fin2172jmlbzkszb1dqafx6l0sgxf1nm1b0k083c9bjz";
+      rev = "0507e9c200a904a21fa5d15ee66a1ea9fe07bb01";
+      sha256 = "1rc67yqfhzqxq15sl258kdwgk8r55w470s0vcd1ax2h8yd4s7sc7";
     };
     dependencies = [];
 
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-vim-2017-04-23";
+    name = "neosnippet-vim-2017-06-11";
     src = fetchgit {
       url = "https://github.com/shougo/neosnippet.vim";
-      rev = "9996520d6bf1aaee21f66b5eb561c9f0b306216c";
-      sha256 = "0j7z05br2cjdssdks3mac51xmr7js192gy30811nzjizwm2hhcwk";
+      rev = "6f87e27d4e20ea8b71821df06f71818716a13cf3";
+      sha256 = "0wfbicqblz91w5rzndy8zirzf819abmjv1az8yd26q1bbh3j0jpb";
     };
     dependencies = [];
 
   };
 
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "unite-vim-2017-05-17";
+    name = "unite-vim-2017-05-27";
     src = fetchgit {
       url = "https://github.com/shougo/unite.vim";
-      rev = "e9650b32f3803aaa6ea2635137991c86782d63ac";
-      sha256 = "0k5xpp9kfyqbmcckb4l47qglmvcjsmmlhpcq2v543831z1ibcx6l";
+      rev = "ada33d888934d8a9e60aa8ff828b651aaedb6457";
+      sha256 = "0f4vnp3avpy7ns5ndr29ibff9d8hazji95y6m5idvziswywzpwsy";
     };
     dependencies = [];
 
@@ -1472,22 +1511,22 @@ rec {
   };
 
   vim-dispatch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-dispatch-2017-04-23";
+    name = "vim-dispatch-2017-06-06";
     src = fetchgit {
       url = "https://github.com/tpope/vim-dispatch";
-      rev = "64ae8a26b9d8869aab9bef5b92602c8da541c7b7";
-      sha256 = "090qq295iwd8aaggffjysmc37xx9nad25da51dgdhm5jxqv469gp";
+      rev = "1beee74e5ae75c46fd3f1255cce2543769102dc0";
+      sha256 = "0jvcxr22i3yqcfvshl97939kki9ng9mvmf79qph3y9x2h0fhzikm";
     };
     dependencies = [];
 
   };
 
   vim-eunuch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-eunuch-2017-03-08";
+    name = "vim-eunuch-2017-06-08";
     src = fetchgit {
       url = "https://github.com/tpope/vim-eunuch";
-      rev = "dcd29a00eb708be211d856afd3fddfbff7bc6208";
-      sha256 = "1vq1qwhm27zmnp8xda1z27fhx835kni6ifcyix644shpd8mq8bi4";
+      rev = "b536b887072ff3cc382842ce9f675ec222302f4f";
+      sha256 = "0vp037kb12mawy186cm384m5hl0p051rihhm1jr2qck0vwaps58p";
     };
     dependencies = [];
 
@@ -1505,11 +1544,11 @@ rec {
   };
 
   vim-speeddating = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-speeddating-2015-01-24";
+    name = "vim-speeddating-2017-05-24";
     src = fetchgit {
       url = "https://github.com/tpope/vim-speeddating";
-      rev = "426c792e479f6e1650a6996c683943a09344c21e";
-      sha256 = "1i8pndds1lk5afxl6nwsnl4vzszh0qxgqx7x11fp3vqw27c5bwn8";
+      rev = "a418667791f03694065948342f2d6c5cca8d0f32";
+      sha256 = "1wm33izawazh0dy70zjk6rkg30yrlldba5r1gypnr4barps702gw";
     };
     dependencies = [];
 
@@ -1538,11 +1577,11 @@ rec {
   };
 
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "youcompleteme-2017-05-19";
+    name = "youcompleteme-2017-06-05";
     src = fetchgit {
       url = "https://github.com/valloric/youcompleteme";
-      rev = "263bd88bd54278dba94c4d6c43ad5fcde2fcd3bb";
-      sha256 = "1gggbigv7h21di7vxvpk252djhjfhppvjd26dqyhk885d5ddm4m6";
+      rev = "b20809332c3298cb954cff20006cb52955b54b2d";
+      sha256 = "19a9lyc2xx1qp39dgyyi74bnslh6vhdi4y55b61li07b5qa4sh20";
     };
     dependencies = [];
     buildPhase = ''
@@ -1564,11 +1603,11 @@ rec {
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-themes-2017-05-14";
+    name = "vim-airline-themes-2017-05-24";
     src = fetchgit {
       url = "https://github.com/vim-airline/vim-airline-themes";
-      rev = "3a39c85598aae19052aa0e2fe0512c8b228c0136";
-      sha256 = "04bm0civzhvwx059q8hcd4zvg2qzy6qpzq41b86li4hzly32m5yn";
+      rev = "43fe3927b884dcf722f9109e39801db110186dab";
+      sha256 = "1rl4im3pllkfvc5z3shmwblzvp4s3lri3clzpirzqmywa027d0p8";
     };
     dependencies = [];
 
@@ -1718,22 +1757,22 @@ rec {
   };
 
   vim-wakatime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-wakatime-2017-05-18";
+    name = "vim-wakatime-2017-06-08";
     src = fetchgit {
       url = "https://github.com/wakatime/vim-wakatime";
-      rev = "00443e2b580314b0cdb2bc2be746c44e75030074";
-      sha256 = "0af34wc0fqhn1pb4dcm6ba5gnav7kg3wfchlciymv6pb8zvaqvfb";
+      rev = "a96180dd0e694e9a5dadfb65e4c3465a9184840f";
+      sha256 = "0wf108myrfjslf56xqiwsl2mkaqz7qn5k7ggvcfwmhp91lzl5aan";
     };
     dependencies = [];
     buildInputs = [ python ];
   };
 
   command-t = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "command-t-2017-03-02";
+    name = "command-t-2017-06-08";
     src = fetchgit {
       url = "https://github.com/wincent/command-t";
-      rev = "5a19460ea0eab0ca617a8dbf405f7a506eca4ff6";
-      sha256 = "0vzw5cvlsw0cs2jp52qbc7nghw4jsbldrbkynbx8g7nrh36847my";
+      rev = "3f0d21a06d9b936bcd79970c1b2301b05dd297bc";
+      sha256 = "15wil973sqfgvix9li15qk49kv9l3rn8zqis2cl71k6xh1xvd9ff";
     };
     dependencies = [];
     buildInputs = [ perl ruby ];
@@ -1768,14 +1807,14 @@ rec {
   };
 
   deoplete-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-go-2017-03-21";
+    name = "deoplete-go-2017-05-26";
     src = fetchgit {
       url = "https://github.com/zchee/deoplete-go";
-      rev = "7990da5c8c89a47e0ccd3b7e60a836a6f115641a";
-      sha256 = "0ybd9sg4x8pczvl0hz5azzs2sn4nyc7la9890xh373dv3lyb6gk7";
+      rev = "aef73fdf275053a6fb00c3f66d1f18821bc74bd3";
+      sha256 = "1ixav3d78wy9zs9a8hg8yqk812srkbkwsaz17lg5sxjq6azljgvq";
     };
     dependencies = [];
-    buildInputs = [ python3 ]; 
+    buildInputs = [ python3 ];
     buildPhase = ''
       pushd ./rplugin/python3/deoplete/ujson
       python3 setup.py build --build-base=$PWD/build --build-lib=$PWD/build
@@ -1785,22 +1824,22 @@ rec {
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-jedi-2017-04-26";
+    name = "deoplete-jedi-2017-06-11";
     src = fetchgit {
       url = "https://github.com/zchee/deoplete-jedi";
-      rev = "58354e749d81a55cc7e591beb4b4628b5e3cbd9e";
-      sha256 = "1j5vp6yspnjqnrrfqvhz0xwhc4v1z73y0170nxpxw7xlb80bi05m";
+      rev = "b7e789ef8b45b207650adb1af5e2e7f188053fe1";
+      sha256 = "0xv7ggwyl332yr93rqmf1li0zz8rzhgb10cvd78jssdvlazi3mc8";
     };
     dependencies = [];
 
   };
 
   goyo = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "goyo-2017-04-02";
+    name = "goyo-2017-06-01";
     src = fetchgit {
       url = "git://github.com/junegunn/goyo.vim";
-      rev = "64e750f726d8758c493931938a17c50f75e6f823";
-      sha256 = "0g1kark21kljrk7i0ig8gfdh5kva8vj80cvi4jbph4rmrbxwjc7x";
+      rev = "5b8bd0378758c1d9550d8429bef24b3d6d78b592";
+      sha256 = "0jh2gyf6v1vl12hygzwylzsj1ivx7r6xrd75k2wfsy91b2pm9srj";
     };
     dependencies = [];
 
@@ -1840,11 +1879,11 @@ rec {
   };
 
   pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "pathogen-2017-05-03";
+    name = "pathogen-2017-05-27";
     src = fetchgit {
       url = "git://github.com/tpope/vim-pathogen";
-      rev = "0f4710063ecc98d77dc03698c4a917a3215bdf09";
-      sha256 = "1fk9fgprz9nhgz9hk5zjzw5m0sz40fgh74jg19wyp3yrwryhy5dp";
+      rev = "ddfb1f14d7597e6aedc749be06b559a673c437ab";
+      sha256 = "0fdd88gj75bzq6ifaddz3sl71w8ljnnci9npm04jmyvf048gnjg8";
     };
     dependencies = [];
 
@@ -1872,6 +1911,17 @@ rec {
 
   };
 
+  self = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "self-2014-05-28";
+    src = fetchgit {
+      url = "git://github.com/megaannum/self";
+      rev = "2ed666b547eddee6ae1fcc63babca4ba0b66a59f";
+      sha256 = "1gcwn6i5i3msg7hrlzsnv1bs6pm4jz9cff8ppaz2xdj8xv9qy6fn";
+    };
+    dependencies = [];
+
+  };
+
   sensible = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "sensible-2017-05-09";
     src = fetchgit {
@@ -1884,11 +1934,11 @@ rec {
   };
 
   sleuth = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sleuth-2017-05-04";
+    name = "sleuth-2017-05-28";
     src = fetchgit {
       url = "git://github.com/tpope/vim-sleuth";
-      rev = "0ffa819630678e442fc695c51a75ced640c8a95f";
-      sha256 = "0izyaggk6qx8k1297ki6fan4534hvnnk95hhqy8jngshrq1a46w0";
+      rev = "fc5cf44466d50fada784530de933af80c6448db5";
+      sha256 = "10l6ins66g1wxwzgjcpwim0295yz9ni282f8n7vjafd5v486fxnw";
     };
     dependencies = [];
 
@@ -2213,11 +2263,11 @@ rec {
   };
 
   vim-easy-align = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easy-align-2017-02-08";
+    name = "vim-easy-align-2017-06-03";
     src = fetchgit {
       url = "git://github.com/junegunn/vim-easy-align";
-      rev = "3b395bd5bafbdfb1f93190fa3f259b7ad2e40eb9";
-      sha256 = "0nqvzxr2i9jsyx1qhspf636q0j4b0d8y98yqhxklcpq18ap442zp";
+      rev = "1cd724dc239c3a0f7a12e0fac85945cc3dbe07b0";
+      sha256 = "0bqk1sdqamfgagh31a60c7gvvsvjpg1xys7ivqh62iqlny5i9774";
     };
     dependencies = [];
 
@@ -2235,11 +2285,11 @@ rec {
   };
 
   vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gitgutter-2017-04-28";
+    name = "vim-gitgutter-2017-06-08";
     src = fetchgit {
       url = "git://github.com/airblade/vim-gitgutter";
-      rev = "b803a28f47b26d16f5fe9e747850992c9985c667";
-      sha256 = "024sw99h3s9p3xsg9ih8p4v6m0hkahgl4jgq2jxyd62sc1nhpwbh";
+      rev = "dcac1f74ee5c26125363dca164463bde6657c838";
+      sha256 = "0knkdv0sbdwf4p82g438l7pylwzxfbxcj44np3v15wr97w95wmlv";
     };
     dependencies = [];
 
@@ -2268,11 +2318,11 @@ rec {
   };
 
   vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-multiple-cursors-2017-04-29";
+    name = "vim-multiple-cursors-2017-06-02";
     src = fetchgit {
       url = "git://github.com/terryma/vim-multiple-cursors";
-      rev = "92d0b8dc446e91984cc4a9722b767f5a28504d47";
-      sha256 = "1a291sswkxv608rfsdpkv6l1b4vqc487jhzwcvgvjbf9x2w0simb";
+      rev = "3afc475cc64479a406ce73d3333df1f67db3c73f";
+      sha256 = "04dijb4hgidypppphcy83bacmfrd9ikyjc761hqq6bl4kc49f5kc";
     };
     dependencies = [];
 
@@ -2290,33 +2340,33 @@ rec {
   };
 
   vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signify-2017-04-21";
+    name = "vim-signify-2017-06-06";
     src = fetchgit {
       url = "git://github.com/mhinz/vim-signify";
-      rev = "6e8c4b190078030f9cb979ce26274a79c0ac313c";
-      sha256 = "1wch8pas15z5afw71i814z4cxl8l411kdizhwljx69ghvbwkmkpg";
+      rev = "d9918a69bcff382569ddf5bda030aff412bfd790";
+      sha256 = "1kc7q8xsvg0hl9b3z5a6phfndx7a5pcfy1d3q7i02aaa8dw4ga7j";
     };
     dependencies = [];
 
   };
 
   vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-snippets-2017-05-19";
+    name = "vim-snippets-2017-06-09";
     src = fetchgit {
       url = "git://github.com/honza/vim-snippets";
-      rev = "3cb0d29cf55d3d93e0a330819770b4f60e66e39f";
-      sha256 = "112747rfikyixv9m3nfdnwm31bv9v0x4s7fp0j8zkvg9sbcf15nf";
+      rev = "d21f43c210ac7b04ec1bcda39f10b03a934a9ae8";
+      sha256 = "1vv7kpin3aqzz47937b5w5q2hcr9gldz0x39i6z3wa3q4x2sg366";
     };
     dependencies = [];
 
   };
 
   vim-webdevicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-webdevicons-2017-05-07";
+    name = "vim-webdevicons-2017-05-29";
     src = fetchgit {
       url = "git://github.com/ryanoasis/vim-devicons";
-      rev = "4a77915b43120e8fade8f40f961a96831a5732bd";
-      sha256 = "02svpilb8vqvd5a8lfbb4ppwaicibb9hcjcq8415vi6dipmj1s7x";
+      rev = "153266275acc4f4615407a18e90f58780ebaef92";
+      sha256 = "1zjrra0q5c7lmgxzlz7ddd7vi6k2vhz69fdy2s7d873nnmmd7kgn";
     };
     dependencies = [];
 
@@ -2333,37 +2383,25 @@ rec {
 
   };
 
-  vimwiki = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimwiki-2017-04-15";
-    src = fetchgit {
-      url = "git://github.com/vimwiki/vimwiki";
-      rev = "8cdc1c15388cc7f4edb827ff15dbc31d592a79af";
-      sha256 = "0hzmssyz7y7hv3mv67zkqwxc13crkpwv0plm7z701943h2zxj08h";
-    };
-    dependencies = [];
-
-  };
-
   vinegar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vinegar-2017-05-10";
+    name = "vinegar-2017-05-23";
     src = fetchgit {
       url = "git://github.com/tpope/vim-vinegar";
-      rev = "1ed01e2135b0b8158ba289e03c54f63dad9865be";
-      sha256 = "128sdiaxdvjxz67iy0sgaqi54r8sfd5881m1mrp58wc1zgafgfb5";
+      rev = "9abe956acc14444c0fda75eb98c8e31cf81b4c26";
+      sha256 = "16a85lk20v50krl899w0i9zl6gp7478f4pd6mqz8519d76vbmy99";
     };
     dependencies = [];
 
   };
 
   vundle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vundle-2017-04-02";
+    name = "vundle-2017-06-08";
     src = fetchgit {
       url = "git://github.com/gmarik/vundle";
-      rev = "6497e37694cd2134ccc3e2526818447ee8f20f92";
-      sha256 = "0mphybh0mwh5km2q0awmn8hdgvq3g45yyqpjird7kxybri6aw0kn";
+      rev = "6437ad6df4a3e6a87c5fb8bd2b8aadb277ec9c87";
+      sha256 = "13k194g0rs5hz7ci0ys4gml71jily5hdd0yljzmmn8qjiq88v6p4";
     };
     dependencies = [];
 
   };
-
 }
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index a92533cb60f..b83660b220b 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -85,6 +85,7 @@
 "github:machakann/vim-highlightedyank"
 "github:mhinz/vim-startify"
 "github:michaeljsmith/vim-indent-object"
+"github:mileszs/ack.vim"
 "github:mkasa/lushtags"
 "github:mpickering/hlint-refactor-vim"
 "github:nathanaelkane/vim-indent-guides"
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/clang_complete b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/clang_complete
index 64e064e2a46..ed88e08742e 100644
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/clang_complete
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/clang_complete
@@ -1,3 +1,10 @@
+    # In addition to the arguments you pass to your compiler, you also need to
+    # specify the path of the C++ std header (if you are using C++).
+    # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
+    # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
+    # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
+    # as an alternative you can execute the following command:
+    # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
     preFixup = ''
       substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
         --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc}/lib/libclang.so'"
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim
new file mode 100644
index 00000000000..7d6267e9515
--- /dev/null
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim
@@ -0,0 +1 @@
+    pythonDependencies = with pythonPackages; [ sexpdata websocket_client ];
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch
deleted file mode 100644
index 46c230cfd1d..00000000000
--- a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- CF-855.17/CFRuntime.c	2014-11-26 21:29:48.000000000 -0800
-+++ CF-855.17/CFRuntime.c.new	2014-11-26 21:30:01.000000000 -0800
-@@ -756,6 +756,7 @@
- extern void __CFErrorInitialize(void);
- extern void __CFTreeInitialize(void);
- extern void __CFURLInitialize(void);
-+extern void __CFPreferencesDomainInitialize(void);
- #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_EMBEDDED_MINI
- extern void __CFMachPortInitialize(void);
- #endif
-@@ -1015,6 +1016,7 @@
-         __CFErrorInitialize();
-         __CFTreeInitialize();
-         __CFURLInitialize();
-+        __CFPreferencesDomainInitialize();
-         
- #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS
-         __CFBundleInitialize();
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
index 3993a360156..e44966aa84d 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, appleDerivation, icu, dyld, libdispatch, launchd, libclosure }:
+{ stdenv, appleDerivation, ICU, dyld, libdispatch, libplatform, launchd, libclosure }:
 
 # this project uses blocks, a clang-only extension
 assert stdenv.cc.isClang;
 
 appleDerivation {
-  buildInputs = [ dyld icu libdispatch launchd libclosure ];
+  buildInputs = [ dyld ICU libdispatch libplatform launchd libclosure ];
 
-  patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ./cf-bridging.patch ];
+  patches = [ ./add-cfmachport.patch ./cf-bridging.patch ./remove-xpc.patch ];
 
   __propagatedImpureHostDeps = [ "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation" ];
 
@@ -19,7 +19,6 @@ appleDerivation {
       --replace "/bin/" "" \
       --replace "INSTALLNAME=/System" "INSTALLNAME=$out" \
       --replace "install_name_tool -id /System" "install_name_tool -id $out" \
-      --replace "-licucore.A" "-licui18n -licuuc" \
       --replace 'chown -RH -f root:wheel $(DSTBASE)/CoreFoundation.framework' "" \
       --replace 'chmod -RH' 'chmod -R'
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch
new file mode 100644
index 00000000000..a7b9fe48643
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch
@@ -0,0 +1,17 @@
+diff --git a/CFBundlePriv.h b/CFBundlePriv.h
+index d4feb5f..e7b52e8 100644
+--- a/CFBundlePriv.h
++++ b/CFBundlePriv.h
+@@ -254,12 +254,6 @@ Boolean _CFBundleGetStringsFilesShared(CFBundleRef bundle);
+ CF_EXPORT
+ CFURLRef _CFBundleCopyFrameworkURLForExecutablePath(CFStringRef executablePath);
+ 
+-#if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)
+-#include <xpc/xpc.h>
+-CF_EXPORT
+-void _CFBundleSetupXPCBootstrap(xpc_object_t bootstrap) CF_AVAILABLE(10_10, 8_0);
+-#endif
+-
+ /* Functions deprecated as SPI */
+ 
+ CF_EXPORT
diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
new file mode 100644
index 00000000000..a9d06fc9dbc
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, cctools, appleDerivation }:
+
+appleDerivation {
+  buildInputs = [ cctools ];
+
+  postPatch = ''
+    substituteInPlace makefile \
+      --replace /usr/bin/ "" \
+      --replace '$(ISYSROOT)' "" \
+      --replace 'shell xcodebuild -version -sdk' 'shell true' \
+      --replace 'shell xcrun -sdk $(SDKPATH) -find' 'shell echo' \
+      --replace '-install_name $(libdir)' "-install_name $out/lib/" \
+      --replace /usr/local/bin/ /bin/ \
+      --replace /usr/lib/ /lib/ \
+  '';
+
+  makeFlags = [ "DSTROOT=$(out)" ];
+
+  postInstall = ''
+    mv $out/usr/local/include $out/include
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index ea5aac60ab9..e3583b3bf84 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -1,6 +1,6 @@
 { stdenv, appleDerivation, cpio, bootstrap_cmds, xnu, Libc, Libm, libdispatch, cctools, Libinfo,
   dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto, copyfile,
-  removefile, libresolv, Libnotify, libpthread, mDNSResponder, launchd, libutil, version }:
+  removefile, libresolv, Libnotify, libplatform, libpthread, mDNSResponder, launchd, libutil, version }:
 
 appleDerivation rec {
   phases = [ "unpackPhase" "installPhase" ];
@@ -19,7 +19,7 @@ appleDerivation rec {
 
     for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} ${libclosure} ${CarbonHeaders} \
                ${libdispatch} ${ncurses.dev} ${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \
-               ${Libnotify} ${mDNSResponder} ${launchd} ${libutil} ${libpthread}; do
+               ${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} ${libutil} ${libpthread}; do
       (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
     done
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 29a0658d438..a8509d1f009 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -30,6 +30,7 @@ let
       # is the right one, even though it isn't. The version I have here doesn't appear to be linked
       # to any OS releases, but Apple also doesn't mention mDNSResponder from 10.11 to 10.11.6, and
       # neither of those versions are publicly available.
+      libplatform   = "125";
       mDNSResponder = "625.41.2";
 
       libutil       = "43";
@@ -47,6 +48,9 @@ let
     };
     "osx-10.10.5" = {
       adv_cmds      = "158";
+      CF            = "1153.18";
+      ICU           = "531.48";
+      libdispatch   = "442.1.4";
       Security      = "57031.40.6";
 
       IOAudioFamily                        = "203.3";
@@ -66,11 +70,9 @@ let
       IOKitUser                            = "1050.20.2";
     };
     "osx-10.9.5" = {
-      CF                 = "855.17";
       launchd            = "842.92.1";
       libauto            = "185.5";
       Libc               = "997.90.3"; # We use this, but not from here
-      libdispatch        = "339.92.1";
       Libsystem          = "1197.1.1";
       Security           = "55471.14.18";
       security_dotmac_tp = "55107.1";
@@ -189,7 +191,7 @@ let
     bootstrap_cmds  = applePackage "bootstrap_cmds"    "dev-tools-7.0"   "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {};
     bsdmake         = applePackage "bsdmake"           "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {};
     CarbonHeaders   = applePackage "CarbonHeaders"     "osx-10.6.2"      "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {};
-    CF              = applePackage "CF"                "osx-10.9.5"      "1sadmxi9fsvsmdyxvg2133sdzvkzwil5fvyyidxsyk1iyfzqsvln" {};
+    CF              = applePackage "CF"                "osx-10.10.5"     "07f5psjxi7wyd13ci4x83ya5hy6p69sjfqcpp2mmxdlhd8yzkf74" {};
     CommonCrypto    = applePackage "CommonCrypto"      "osx-10.11.6"     "0vllfpb8f4f97wj2vpdd7w5k9ibnsbr6ff1zslpp6q323h01n25y" {};
     configd         = applePackage "configd"           "osx-10.8.5"      "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {};
     copyfile        = applePackage "copyfile"          "osx-10.11.6"     "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {};
@@ -197,6 +199,7 @@ let
     dtrace          = applePackage "dtrace"            "osx-10.11.6"     "0pp5x8dgvzmg9vvg32hpy2brm17dpmbwrcr4prsmdmfvd4767wc0" {};
     dyld            = applePackage "dyld"              "osx-10.11.6"     "0qkjmjazm2zpgvwqizhandybr9cm3gz9pckx8rmf0py03faafc08" {};
     eap8021x        = applePackage "eap8021x"          "osx-10.11.6"     "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {};
+    ICU             = applePackage "ICU"               "osx-10.10.5"     "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {};
     IOKit           = applePackage "IOKit"             "osx-10.11.6"     "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; };
     launchd         = applePackage "launchd"           "osx-10.9.5"      "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {};
     libauto         = applePackage "libauto"           "osx-10.9.5"      "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {};
@@ -208,11 +211,12 @@ let
     };
     Libc_old        = applePackage "Libc/825_40_1.nix" "osx-10.8.5"      "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {};
     libclosure      = applePackage "libclosure"        "osx-10.11.6"     "1zqy1zvra46cmqv6vsf1mcsz3a76r9bky145phfwh4ab6y15vjpq" {};
-    libdispatch     = applePackage "libdispatch"       "osx-10.9.5"      "1lc5033cmkwxy3r26gh9plimxshxfcbgw6i0j7mgjlnpk86iy5bk" {};
+    libdispatch     = applePackage "libdispatch"       "osx-10.10.5"     "0jsfbzp87lwk9snlby0hd4zvj7j894p5q3cw0wdx9ny1mcp3kdcj" {};
     libiconv        = applePackage "libiconv"          "osx-10.11.6"     "11h6lfajydri4widis62q8scyz7z8l6msqyx40ly4ahsdlbl0981" {};
     Libinfo         = applePackage "Libinfo"           "osx-10.11.6"     "0qjgkd4y8sjvwjzv5wwyzkb61pg8wwg95bkp721dgzv119dqhr8x" {};
     Libm            = applePackage "Libm"              "osx-10.7.4"      "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {};
     Libnotify       = applePackage "Libnotify"         "osx-10.11.6"     "0zbcyxlcfhf91jxczhd5bq9qfgvg494gwwp3l7q5ayb2qdihzr8b" {};
+    libplatform     = applePackage "libplatform"       "osx-10.11.6"     "1v4ik6vlklwsi0xb1g5kmhy29j9xk5m2y8xb9zbi1k4ng8x39czk" {};
     libpthread      = applePackage "libpthread"        "osx-10.11.6"     "1kbw738cmr9pa7pz1igmajs307clfq7gv2vm1sqdzhcnnjxbl28w" {};
     libresolv       = applePackage "libresolv"         "osx-10.11.6"     "09flfdi3dlzq0yap32sxidacpc4nn4va7z12a6viip21ix2xb2gf" {};
     Libsystem       = applePackage "Libsystem"         "osx-10.11.6"     "1nfkmbqml587v2s1d1y2s2v8nmr577jvk51y6vqrfvsrhdhc2w94" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
index fe65e290717..c80e3757569 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
@@ -6,8 +6,11 @@ appleDerivation {
   installPhase = ''
     mkdir -p $out/include/dispatch $out/include/os
 
-    cp -r dispatch/*.h $out/include/dispatch
+    # Move these headers so CF can find <os/voucher_private.h>
+    mv private/voucher*.h  $out/include/os
     cp -r private/*.h  $out/include/dispatch
+
+    cp -r dispatch/*.h $out/include/dispatch
     cp -r os/object*.h  $out/include/os
   '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
new file mode 100644
index 00000000000..65accc870d7
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
@@ -0,0 +1,10 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir $out
+    cp -r include $out/include
+  '';
+}
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 14c4c6e9973..222c51603fd 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -5,17 +5,15 @@
 }:
 
 let
-  inherit (stdenv.lib.systems.parse) isDarwin;
-
   prefix = stdenv.lib.optionalString
     (targetPlatform != hostPlatform)
     "${targetPlatform.config}-";
 in
 
-assert isDarwin targetPlatform.parsed;
+assert targetPlatform.isDarwin;
 
 # Non-Darwin alternatives
-assert (!isDarwin hostPlatform.parsed) -> (maloader != null && xctoolchain != null);
+assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
 
 let
   baseParams = rec {
@@ -91,7 +89,7 @@ let
     '';
 
     postInstall =
-      if isDarwin hostPlatform.parsed
+      if hostPlatform.isDarwin
       then ''
         cat >$out/bin/dsymutil << EOF
         #!${stdenv.shell}
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index aa8b25560e6..95efbab5be4 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "acpid-2.0.27";
+  name = "acpid-2.0.28";
 
   src = fetchurl {
     url = "mirror://sourceforge/acpid2/${name}.tar.xz";
-    sha256 = "05m6scbdzi2fb8zzi01c11a10pr0qb1gzccz4bbxj4fcacz24342";
+    sha256 = "043igasvp1l6nv5rzh4sksmymay2qn20anl4zm4zvwnkn1a3l34q";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index 08c729baaaf..55f62e6073f 100644
--- a/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "android-udev-rules-${version}";
-  version = "20170305";
+  version = "20170612";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "0di64pqs0snbfmncbarvyb9dr3bpv203pqxn5h5i39400jvqwyb6";
+    sha256 = "14x22d00zby6wsjaccyh7n8jq1mqzwpx49s85mhmaahbrfd5jwnw";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 4decc8c7a32..5d1f14bfec6 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.6.6";
+  name = "audit-2.7.6";
 
   src = fetchurl {
     url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "0jwrww1vn7yqxmb84n6y4p58z34gga0ic4rs2msvpzc2x1hxrn31";
+    sha256 = "1rqlj15kbyfw4z88z8whf1q2rcg17vs439fvzdds55fwzyf2hrgs";
   };
 
   outputs = [ "bin" "dev" "out" "man" "plugins" ];
diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix
index a3c08b1b785..698c478aca0 100644
--- a/pkgs/os-specific/linux/autofs/default.nix
+++ b/pkgs/os-specific/linux/autofs/default.nix
@@ -2,14 +2,14 @@
 , libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl }:
 
 let
-  version = "5.1.2";
+  version = "5.1.3";
   name = "autofs-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
-    sha256 = "031z64hmbzyllgvi72cw87755vnmafvsfwi0w21xksla10wxxdw8";
+    sha256 = "1gxifa93104pxlmxrikhwciy5zdgk20m63siyhq1myym7vzfnvp9";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 5d58e50fd7b..7b800fe6f4f 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2017.0";
+  ver = "2017.1";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1a0gnl8v8l7zj01hca0srbsc11sk51rj1qac6lw242z35hyximpq";
+    sha256 = "1c6zq8j0nb1wm9zzlzc2bn8a500pvqbn2vv9hrv6nvq7il2silzq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index e7c20a07b05..c34c7746b90 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
 let
-  ver = "2017.0";
+  ver = "2017.1";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "11n66hcs4jdnfdl896kzz22zlw8d2p8n6sldxfmlc2q7sqki3fy0";
+    sha256 = "1imb59iaaw50y76595z6zvqnbpjgqkkp79gq4s7w7nj8wikiqcgq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index a48909685d7..8a96279c66b 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, kernel }:
 
-#assert stdenv.lib.versionOlder kernel.version "3.17";
-
-let base = "batman-adv-2017.0.1"; in
+let base = "batman-adv-2017.1"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "0z640jgi9l9355s8v75yhrb9wjyc7cd4618pjpb17vy576bvrhjm";
+    sha256 = "05cck0mlg8xsvbra69x6i25xclsq1xc49dggxq81gi086c14h67c";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index f3b262f1f7d..88242df76d4 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -2,14 +2,14 @@
   flex, bison, elfutils, python, pythonPackages, luajit, netperf, iperf }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.0";
+  version = "0.3.0";
   name = "bcc-${version}";
 
   src = fetchFromGitHub {
     owner = "iovisor";
     repo = "bcc";
     rev = "v${version}";
-    sha256 = "1xifh8lcqmn4mk6w4srjf4zk6mlwgck4fpcyhhliy39963ch5k08";
+    sha256 = "19lkqmilfjmj7bnhxlacd0waa5db8gf4lng12fy2zgji0d77vm1d";
   };
 
   buildInputs = [ makeWrapper cmake llvmPackages.llvm llvmPackages.clang-unwrapped kernel
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 8b2bac38438..2723e662b79 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation {
     ./linux-4.7.patch
     # source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms
     ./linux-4.8.patch
+    # source: https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl
+    ./linux-4.11.patch
     ./null-pointer-fix.patch
     ./gcc.patch
   ];
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch
new file mode 100644
index 00000000000..a779f8c84cf
--- /dev/null
+++ b/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch
@@ -0,0 +1,52 @@
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index a9671e2..da36405 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -30,6 +30,9 @@
+ #include <linux/kthread.h>
+ #include <linux/netdevice.h>
+ #include <linux/ieee80211.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++#include <linux/sched/signal.h>
++#endif
+ #include <net/cfg80211.h>
+ #include <linux/nl80211.h>
+ #include <net/rtnetlink.h>
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 489c9f5..f8278ad 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -117,6 +117,9 @@ int wl_found = 0;
+ 
+ typedef struct priv_link {
+ 	wl_if_t *wlif;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++	unsigned long last_rx;
++#endif
+ } priv_link_t;
+ 
+ #define WL_DEV_IF(dev)          ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif)
+@@ -2450,6 +2453,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
+ {
+ 	struct sk_buff *oskb = (struct sk_buff *)p;
+ 	struct sk_buff *skb;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++	priv_link_t *priv_link;
++#endif
+ 	uchar *pdata;
+ 	uint len;
+ 
+@@ -2916,7 +2922,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
+ 	if (skb == NULL) return;
+ 
+ 	skb->dev = wl->monitor_dev;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++	priv_link = MALLOC(wl->osh, sizeof(priv_link_t));
++	priv_link = netdev_priv(skb->dev);
++	priv_link->last_rx = jiffies;
++#else
+ 	skb->dev->last_rx = jiffies;
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+ 	skb_reset_mac_header(skb);
+ #else
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index f69319b5256..08c6d997795 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cifs-utils-${version}";
-  version = "6.5";
+  version = "6.6";
 
   src = fetchurl {
     url = "mirror://samba/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "1xs9rwqfpx8qj5mcmagw6y1hzwc71zhzb5r8hv06sz16p1w6axz2";
+    sha256 = "09biws1jm23l3mjb9kh99v57z8bgzybrmimwddb40s6y0yl54wfh";
   };
 
   buildInputs = [ kerberos keyutils pam talloc ];
diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix
index 7ba8dffcc31..65908fd18e2 100644
--- a/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/pkgs/os-specific/linux/dmidecode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dmidecode-3.0";
+  name = "dmidecode-3.1";
 
   src = fetchurl {
     url = "mirror://savannah/dmidecode/${name}.tar.xz";
-    sha256 = "0iby0xfk5x3cdr0x0gxj5888jjyjhafvaq0l79civ73jjfqmphvy";
+    sha256 = "1h0sg0lxa15nzf8s7884p6q7p6md9idm0c79wyqmk32l4ndwwrnp";
   };
 
   makeFlags = "prefix=$(out)";
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index ead0d41ab8d..5c0fae7bf4f 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       substituteInPlace user/legacy/Makefile.in \
         --replace '$(DESTDIR)/lib/drbd' '$(DESTDIR)$(LIBDIR)'
       substituteInPlace user/drbdadm_usage_cnt.c --replace /lib/drbd $out/lib/drbd
-      substituteInPlace scripts/drbd.rules --replace /sbin/drbdadm $out/sbin/drbdadm
+      substituteInPlace scripts/drbd.rules --replace /usr/sbin/drbdadm $out/sbin/drbdadm
     '';
 
   makeFlags = "SHELL=${stdenv.shell}";
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index d1e8a466953..150534c9b95 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     homepage = "http://www.displaylink.com/";
+    broken = !versionAtLeast kernel.version "3.16";
   };
 }
diff --git a/pkgs/os-specific/linux/eventstat/default.nix b/pkgs/os-specific/linux/eventstat/default.nix
index de27d7b0d83..cd11a79c8f8 100644
--- a/pkgs/os-specific/linux/eventstat/default.nix
+++ b/pkgs/os-specific/linux/eventstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "eventstat-${version}";
-  version = "0.03.03";
+  version = "0.03.04";
   src = fetchzip {
     url = "http://kernel.ubuntu.com/~cking/tarballs/eventstat/eventstat-${version}.tar.gz";
-    sha256 = "02pg46f3x7v1c1vvqzfjqq0wjb2bzmfkd6a8xp06cg9zvidn6jpb";
+    sha256 = "1sqf1mfafrw6402qx457gh8yxgsw80311qi0lp4cjl9dfz7vl2x1";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 69f0a16785d..b81c8f257b8 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2017-03-11";
+  version = "2017-04-16";
 
   # This repo is built by merging the latest versions of
   # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "fpletz";
     repo = "linux-firmware";
     rev = version;
-    sha256 = "05hz78z919jnacvk4i1mghjn2h15ph91vkffgi4w94zhzbf77cna";
+    sha256 = "0ar29vjjpsw7r7pqqa8b0jxx03k230cn7x8fkqi23bj68bd9x5pc";
   };
 
   preInstall = ''
diff --git a/pkgs/os-specific/linux/fnotifystat/default.nix b/pkgs/os-specific/linux/fnotifystat/default.nix
index 35638e7dabd..2c90ff94d4a 100644
--- a/pkgs/os-specific/linux/fnotifystat/default.nix
+++ b/pkgs/os-specific/linux/fnotifystat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "fnotifystat-${version}";
-  version = "0.01.16";
+  version = "0.01.17";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz";
-    sha256 = "1k9nc7a4r7c2l7vrlcrfxj9rsdb04amiqcsnxm5kpshncry38nl5";
+    sha256 = "0ncfbrpyb3ak49nrdr4cb3w082n9s181lizfqx51zi9rdgkj1vm3";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/forkstat/default.nix b/pkgs/os-specific/linux/forkstat/default.nix
index f8d0eab835b..6a987dc9f5b 100644
--- a/pkgs/os-specific/linux/forkstat/default.nix
+++ b/pkgs/os-specific/linux/forkstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "forkstat-${version}";
-  version = "0.01.16";
+  version = "0.01.17";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz";
-    sha256 = "0g65basrs569y42zhgjq9sdyz62km8xy55yfilmyxa43ckb3xmlw";
+    sha256 = "0plm2409mmp6n2fjj6bb3z7af2cnh5lg3czlylhgaki9zd0cyb7w";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix
index 688cfbb8df5..0d33954fd5d 100644
--- a/pkgs/os-specific/linux/intel-ocl/default.nix
+++ b/pkgs/os-specific/linux/intel-ocl/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
   '';
 
   patchPhase = ''
+    runHook prePatch
+
     # Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash.
     rm opt/intel/opencl/libOpenCL.so*
 
@@ -35,18 +37,28 @@ stdenv.mkDerivation rec {
     for lib in opt/intel/opencl/*.so; do
       patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true
     done
+
+    runHook postPatch
   '';
 
   buildPhase = ''
+    runHook preBuild
+
     # Create ICD file, which just contains the path of the corresponding shared library.
     echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -D -m 0755 opt/intel/opencl/*.so* -t $out/lib/intel-ocl
     install -D -m 0644 opt/intel/opencl/*.{o,rtl,bin} -t $out/lib/intel-ocl
     install -D -m 0644 opt/intel/opencl/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl
     install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors
+
+    runHook postInstall
   '';
 
   dontStrip = true;
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
new file mode 100644
index 00000000000..028ce53275c
--- /dev/null
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, autoreconfHook, readline }:
+
+let
+  ell = fetchgit {
+     url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
+     rev = "58e873d7463f3a7f91e02260585bfa50cbc77668";
+     sha256 = "12k1f1iarm29j8k16mhw83xx7r3bama4lp0fchhnj7iwxrpgs4gh";
+  };
+in stdenv.mkDerivation rec {
+  name = "iwd-unstable-2017-04-21";
+
+  src = fetchgit {
+    url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
+    rev = "f64dea81b8490e5e09888be645a4325419bb269c";
+    sha256 = "0maqhx5264ykgmwaf90s2806i1kx2028if34ph2axlirxrhdd3lg";
+  };
+
+  configureFlags = [
+    "--with-dbusconfdir=$(out)/etc/"
+  ];
+
+  postUnpack = ''
+    ln -s ${ell} ell
+  '';
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = [ readline ];
+
+  meta = with stdenv.lib; {
+    homepage = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
+    description = "Wireless daemon for Linux";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/os-specific/linux/ixgbevf/default.nix b/pkgs/os-specific/linux/ixgbevf/default.nix
index 1dbc5c74415..96dc0775cec 100644
--- a/pkgs/os-specific/linux/ixgbevf/default.nix
+++ b/pkgs/os-specific/linux/ixgbevf/default.nix
@@ -1,14 +1,12 @@
 { stdenv, fetchurl, kernel, kmod }:
 
-assert stdenv.lib.versionOlder kernel.version "4.10";
-
 stdenv.mkDerivation rec {
   name = "ixgbevf-${version}-${kernel.version}";
-  version = "4.0.3";
+  version = "4.1.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/e1000/ixgbevf-${version}.tar.gz";
-    sha256 = "0f95p2d7yhf57qa6fl8nv1rb4x8vwwgh7qhqcqpag0hz19dc3xff";
+    sha256 = "1dismhiq0asf04rv6pv2sk2m3xcy6m3bpk16gmxqybca3xa28a5b";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index cd71d563a2f..b23d52b39e3 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -36,7 +36,6 @@ with stdenv.lib;
   DEBUG_DEVRES n
   DEBUG_STACK_USAGE n
   DEBUG_STACKOVERFLOW n
-  RCU_TORTURE_TEST n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
 
@@ -213,6 +212,8 @@ with stdenv.lib;
   SND_DYNAMIC_MINORS y
   SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
   SND_HDA_INPUT_BEEP y # Support digital beep via input layer
+  SND_HDA_RECONFIG y # Support reconfiguration of jack functions
+  SND_HDA_PATCH_LOADER y # Support configuring jack functions via fw mechanism at boot
   SND_USB_CAIAQ_INPUT y
   ${optionalString (versionOlder version "4.12") ''
     PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
@@ -238,7 +239,9 @@ with stdenv.lib;
   FANOTIFY y
   TMPFS y
   TMPFS_POSIX_ACL y
-  FS_ENCRYPTION? m
+  ${optionalString (versionAtLeast version "4.9") ''
+    FS_ENCRYPTION? m
+  ''}
   EXT2_FS_XATTR y
   EXT2_FS_POSIX_ACL y
   EXT2_FS_SECURITY y
@@ -587,6 +590,46 @@ with stdenv.lib;
   # Disable the firmware helper fallback, udev doesn't implement it any more
   FW_LOADER_USER_HELPER_FALLBACK? n
 
+  # Disable various self-test modules that have no use in a production system
+  ARM_KPROBES_TEST? n
+  ASYNC_RAID6_TEST? n
+  ATOMIC64_SELFTEST? n
+  BACKTRACE_SELF_TEST? n
+  CRC32_SELFTEST? n
+  CRYPTO_TEST? n
+  DRM_DEBUG_MM_SELFTEST? n
+  EFI_TEST? n
+  GLOB_SELFTEST? n
+  INTERVAL_TREE_TEST? n
+  LNET_SELFTEST? n
+  LOCK_TORTURE_TEST? n
+  MTD_TESTS? n
+  NOTIFIER_ERROR_INJECTION? n
+  PERCPU_TEST? n
+  RBTREE_TEST? n
+  RCU_PERF_TEST? n
+  RCU_TORTURE_TEST? n
+  TEST_ASYNC_DRIVER_PROBE? n
+  TEST_BITMAP? n
+  TEST_BPF? n
+  TEST_FIRMWARE? n
+  TEST_HASH? n
+  TEST_HEXDUMP? n
+  TEST_KSTRTOX? n
+  TEST_LIST_SORT? n
+  TEST_LKM? n
+  TEST_PARMAN? n
+  TEST_PRINTF? n
+  TEST_RHASHTABLE? n
+  TEST_SORT? n
+  TEST_STATIC_KEYS? n
+  TEST_STRING_HELPERS? n
+  TEST_UDELAY? n
+  TEST_USER_COPY? n
+  TEST_UUID? n
+  WW_MUTEX_SELFTEST? n
+  XZ_DEC_TEST? n
+
   # ChromiumOS support
   ${optionalString (features.chromiumos or false) ''
     CHROME_PLATFORMS y
diff --git a/pkgs/os-specific/linux/kernel/linux-4.11.nix b/pkgs/os-specific/linux/kernel/linux-4.11.nix
index a467cc3e156..ce3240ecb81 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.11.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.11.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.11.2";
+  version = "4.11.4";
   extraMeta.branch = "4.11";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0b32kyjr3bbb2381vg9zd59fk61njhq4r494r0l9gr77m6ar655v";
+    sha256 = "144a8ianp6sy057pbhnssg6xs4f3dc5cwwkz8d4q9jzpd87fdm43";
   };
 
   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 820b55a633b..01309774dba 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.69";
+  version = "4.4.71";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1yl4iwmi1rvnp1q74ypzd737r217c6yi48vnl9kxc9zqm98bqyr0";
+    sha256 = "1az64a2qkx4yc0x4snhma9mvgkrgaj66z7pqs1zijcnzsqr5bka4";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 2e6dfa2f026..aaffa40b353 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.29";
+  version = "4.9.31";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1kr4zxndwj1bm5zzphbckpy8pqbblyk0j08v2vir7ra4fmvdzdji";
+    sha256 = "0mlqr9ngpsg5i2rd2rqmh85y9ga1f3rpfyjv2m82bnhncavdiji8";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 2321187c96b..c56a25c3c26 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.12-rc1";
-  modDirVersion = "4.12.0-rc1";
+  version = "4.12-rc5";
+  modDirVersion = "4.12.0-rc5";
   extraMeta.branch = "4.12";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "13xyiqn7xv8ryqrfsx8b18qm1zj0qkfz92mdh611nqhhdlw7gcpk";
+    sha256 = "0d3lpf429fqrf6i529y0pjdwnpq2v82agn3xhw4jwkriib9i425x";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/perf-binutils-path.patch b/pkgs/os-specific/linux/kernel/perf-binutils-path.patch
new file mode 100644
index 00000000000..d20f2296ea3
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/perf-binutils-path.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' linux-4.9.31-orig/tools/perf/util/annotate.c linux-4.9.31/tools/perf/util/annotate.c
+--- linux-4.9.31-orig/tools/perf/util/annotate.c	2017-06-07 12:08:04.000000000 +0200
++++ linux-4.9.31/tools/perf/util/annotate.c	2017-06-12 13:10:08.811079574 +0200
+@@ -1350,7 +1350,7 @@
+ 		 "%s %s%s --start-address=0x%016" PRIx64
+ 		 " --stop-address=0x%016" PRIx64
+ 		 " -l -d %s %s -C %s 2>/dev/null|grep -v %s|expand",
+-		 objdump_path ? objdump_path : "objdump",
++		 objdump_path ? objdump_path : OBJDUMP_PATH,
+ 		 disassembler_style ? "-M " : "",
+ 		 disassembler_style ? disassembler_style : "",
+ 		 map__rip_2objdump(map, sym->start),
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index fa4ac3b513d..0a3b4070be1 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -11,7 +11,9 @@ assert versionAtLeast kernel.version "3.12";
 stdenv.mkDerivation {
   name = "perf-linux-${kernel.version}";
 
-  inherit (kernel) src patches;
+  inherit (kernel) src;
+
+  patches = kernel.patches ++ [ ./perf-binutils-path.patch ];
 
   preConfigure = ''
     cd tools/perf
@@ -30,9 +32,12 @@ stdenv.mkDerivation {
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
-  NIX_CFLAGS_COMPILE = [
-    "-Wno-error=cpp" "-Wno-error=bool-compare" "-Wno-error=deprecated-declarations"
-  ]
+  NIX_CFLAGS_COMPILE =
+    [ "-Wno-error=cpp"
+      "-Wno-error=bool-compare"
+      "-Wno-error=deprecated-declarations"
+      "-DOBJDUMP_PATH=\"${binutils}/bin/objdump\""
+    ]
     # gcc before 6 doesn't know these options
     ++ stdenv.lib.optionals (hasPrefix "gcc-6" stdenv.cc.cc.name) [
       "-Wno-error=unused-const-variable" "-Wno-error=misleading-indentation"
diff --git a/pkgs/os-specific/linux/libsmbios/default.nix b/pkgs/os-specific/linux/libsmbios/default.nix
index e2b675fb4ff..eaf6d98ba9d 100644
--- a/pkgs/os-specific/linux/libsmbios/default.nix
+++ b/pkgs/os-specific/linux/libsmbios/default.nix
@@ -23,6 +23,9 @@ stdenv.mkDerivation {
       cp -va "out/public-include/"* "$out/include/"
     '';
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   meta = {
     homepage = "http://linux.dell.com/libsmbios/main";
     description = "A library to obtain BIOS information";
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index 54d6dbcb1ca..e37a2b9f55e 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "musl-${version}";
-  version = "1.1.15";
+  version = "1.1.16";
 
   src = fetchurl {
     url    = "http://www.musl-libc.org/releases/${name}.tar.gz";
-    sha256 = "1ymhxkskivzph0q34zadwfglc5gyahqajm7chqqn2zraxv3lgr4p";
+    sha256 = "048h0w4yjyza4h05bkc6dpwg3hq6l03na46g0q1ha8fpwnjqawck";
   };
 
   enableParallelBuilding = true;
@@ -24,13 +24,7 @@ stdenv.mkDerivation rec {
     "--enable-static"
   ];
 
-  patches = [
-    # CVE-2016-8859: http://www.openwall.com/lists/oss-security/2016/10/19/1
-    (fetchpatch {
-      url = "https://git.musl-libc.org/cgit/musl/patch/?id=c3edc06d1e1360f3570db9155d6b318ae0d0f0f7";
-      sha256 = "15ih0aj27lz4sgq8r5jndc3qy5gz3ciraavrqpp0vw8h5wjcsb9v";
-    })
-  ];
+  patches = [];
 
   dontDisableStatic = true;
 
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 81ce7babba1..0db6c4ec67e 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -39,6 +39,9 @@ in stdenv.mkDerivation rec {
       sed -i "s,^PATH=.*,PATH=$out/bin:${statdPath}," utils/statd/start-statd
 
       configureFlags="--with-start-statd=$out/bin/start-statd $configureFlags"
+
+      substituteInPlace utils/mount/Makefile.in \
+        --replace "chmod 4511" "chmod 0511"
     '';
 
   makeFlags = [
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index c117f8f29fa..307c661ddf4 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,4 +1,4 @@
-{ callPackage }:
+{ lib, callPackage, fetchurl, fetchpatch }:
 
 let
   generic = args: callPackage (import ./generic.nix args) { };
@@ -28,16 +28,42 @@ in
     settingsSha256 = "0nm5c06b09p6wsxpyfaqrzsnal3p1047lk6p4p2a0vksb7id9598";
     persistencedSha256 = "1jwmggbph9zd8fj4syihldp2a5bxff7q1i2l9c55xz8cvk0rx08i";
     useGLVND = false;
+
+    patches = [
+      (fetchpatch {
+        name = "kernel-4.10.patch";
+        url = https://git.archlinux.org/svntogit/packages.git/plain/nvidia-340xx/trunk/4.10.0_kernel.patch?id=53fb1df89;
+        sha256 = "171hb57m968qdjcr3h8ppfzhrchf573f39rdja86a1qq1gmrv7pa";
+      })
+      # from https://git.archlinux.org/svntogit/packages.git/plain/trunk/fs52243.patch?h=packages/nvidia-340xx
+      # with datestamps removed
+      ./fs52243.patch
+    ];
   };
 
   legacy_304 = generic {
-    version = "304.134";
-    sha256_32bit = "178wx0a2pmdnaypa9pq6jh0ii0i8ykz1sh1liad9zfriy4d8kxw4";
-    sha256_64bit = "0pydw7nr4d2dply38kwvjbghsbilbp2q0mas4nfq5ad050d2c550";
-    settingsSha256 = "0q92xw4fr9p5nbhj1plynm50d32881861daxfwrisywszqijhmlf";
+    version = "304.135";
+    sha256_32bit = "14qdl39wird04sqba94dcb77i63igmxxav62ndr4qyyavn8s3c2w";
+    sha256_64bit = "125mianhvq591np7y5jjrv9vmpbvixnkicr49ni48mcr0yjnjqkh";
+    settingsSha256 = "1y7swikdngq4nlwzkrq20yfah9zr31n1a5i6nw37awnp8xjilhzm";
     persistencedSha256 = null;
     useGLVND = false;
     useProfiles = false;
+
+    prePatch = let
+      debPatches = fetchurl {
+        url = "mirror://debian/pool/non-free/n/nvidia-graphics-drivers-legacy-304xx/"
+            + "nvidia-graphics-drivers-legacy-304xx_304.135-2.debian.tar.xz";
+        sha256 = "0mhji0ssn7075q5a650idigs48kzf11pzj2ca2n07rwxg3vj6pdr";
+      };
+      prefix = "debian/module/debian/patches";
+      applyPatches = pnames: if pnames == [] then null else
+        ''
+          tar xf '${debPatches}'
+          sed 's|^\([+-]\{3\} [ab]\)/|\1/kernel/|' -i ${prefix}/*.patch
+          patches="$patches ${lib.concatMapStringsSep " " (pname: "${prefix}/${pname}.patch") pnames}"
+        '';
+    in applyPatches [ "fix-typos" "drm-driver-legacy" "deprecated-cpu-events" "disable-mtrr" ];
   };
 
   legacy_173 = callPackage ./legacy173.nix { };
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index a21e6ecfc31..0d19079fe66 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -6,6 +6,9 @@
 , useGLVND ? true
 , useProfiles ? true
 , preferGtk2 ? false
+
+, prePatch ? ""
+, patches ? []
 }:
 
 { stdenv, callPackage, callPackage_i686, fetchurl, fetchpatch
@@ -42,24 +45,8 @@ let
         }
       else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
-    # patch to get the nvidia and nvidiaBeta driver to compile on kernel 4.10
-    patches = if libsOnly
-              then null
-              else if versionOlder version "340"
-              then null
-              else if versionOlder version "375"
-              then [
-                     (fetchpatch {
-                        name = "kernel-4.10.patch";
-                        url = https://git.archlinux.org/svntogit/packages.git/plain/nvidia-340xx/trunk/4.10.0_kernel.patch?id=53fb1df89;
-                        sha256 = "171hb57m968qdjcr3h8ppfzhrchf573f39rdja86a1qq1gmrv7pa";
-                     })
-                         # from https://git.archlinux.org/svntogit/packages.git/plain/trunk/fs52243.patch?h=packages/nvidia-340xx
-                         # with datestamps removed
-                     ./fs52243.patch
-                   ]
-              else null;
-
+    patches = if libsOnly then null else patches;
+    inherit prePatch;
     inherit version useGLVND useProfiles;
     inherit (stdenv) system;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index 9c8f3f9cd74..ddc190a08e6 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -1,19 +1,44 @@
 nvidia_x11: sha256:
 
-{ stdenv, lib, fetchurl, pkgconfig, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libvdpau
+{ stdenv, lib, fetchurl, pkgconfig, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libvdpau, libXext
 , librsvg, wrapGAppsHook
 , withGtk2 ? false, withGtk3 ? true
 }:
 
-stdenv.mkDerivation rec {
-  name = "nvidia-settings-${nvidia_x11.version}";
-  inherit (nvidia_x11) version;
-
+let
   src = fetchurl {
-    url = "https://download.nvidia.com/XFree86/nvidia-settings/${name}.tar.bz2";
+    url = "https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${nvidia_x11.version}.tar.bz2";
     inherit sha256;
   };
 
+  libXNVCtrl = stdenv.mkDerivation {
+    name = "libXNVCtrl-${nvidia_x11.version}";
+    inherit (nvidia_x11) version;
+    inherit src;
+
+    buildInputs = [ libXrandr libXext ];
+
+    preBuild = ''
+      cd src/libXNVCtrl
+    '';
+
+    installPhase = ''
+      mkdir -p $out/lib
+      mkdir -p $out/include/NVCtrl
+
+      cp libXNVCtrl.a $out/lib
+      cp NVCtrl.h     $out/include/NVCtrl
+      cp NVCtrlLib.h  $out/include/NVCtrl
+    '';
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "nvidia-settings-${nvidia_x11.version}";
+  inherit (nvidia_x11) version;
+  inherit src;
+
   nativeBuildInputs = [ pkgconfig m4 ];
 
   buildInputs = [ jansson libXv libXrandr libvdpau nvidia_x11 gtk2 dbus ]
@@ -52,6 +77,10 @@ stdenv.mkDerivation rec {
       $out/bin/$binaryName
   '';
 
+  passthru = {
+    inherit libXNVCtrl;
+  };
+
   meta = with stdenv.lib; {
     homepage = "http://www.nvidia.com/object/unix.html";
     description = "Settings application for NVIDIA graphics cards";
diff --git a/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch b/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch
deleted file mode 100644
index 2bb93955aea..00000000000
--- a/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 3638cc55b4d08851faba46635d737b24d016665b Mon Sep 17 00:00:00 2001
-From: Brad Jorsch <anomie@users.sourceforge.net>
-Date: Fri, 28 Feb 2014 21:55:02 +1100
-Subject: [PATCH] Typo in fuser makes -M on all the time
-
-Brad found that fuser had the -M option on all the time.
-A simple but significant typo caused this, thanks the the patch.
-
-Bug-Debian: http://bugs.debian.org/740275
-
-Signed-off-by: Craig Small <csmall@enc.com.au>
----
- ChangeLog   | 4 ++++
- src/fuser.c | 2 +-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index fd1cccf..e5f784c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+Changes in 22.22
-+================
-+	* Fixed typo in fuser which has -M on Debian #740275
-+
- Changes in 22.21
- ================
- 	* Missing comma in fuser(1) added Debian #702391
-diff --git a/src/fuser.c b/src/fuser.c
-index b485f65..389b302 100644
---- a/src/fuser.c
-+++ b/src/fuser.c
-@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[])
- 		usage(_("No process specification given"));
- 
- 	/* Check if -M flag was used and if so check mounts */
--	if (opts * OPT_ISMOUNTPOINT) {
-+	if (opts & OPT_ISMOUNTPOINT) {
- 	    check_mountpoints(&mounts, &names_head, &names_tail);
- 	}
- 
--- 
-1.9.2
-
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 5cf5e9a542d..7209c44ff3c 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -3,18 +3,15 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "psmisc-22.21";
+  name = "psmisc-23.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/psmisc/${name}.tar.gz";
-    sha256 = "0nhlm1vrrwn4a845p6y4nnnb4liq70n74zbdd5dq844jc6nkqclp";
+    url = "mirror://sourceforge/psmisc/${name}.tar.xz";
+    sha256 = "0k7hafh9388s3hh9j943jy1qk9g1c43j02nyk0xis0ngbs632lvm";
   };
 
   buildInputs = [ncurses];
 
-  # From upstream, will be in next release.
-  patches = [ ./0001-Typo-in-fuser-makes-M-on-all-the-time.patch ];
-
   meta = {
     homepage = http://psmisc.sourceforge.net/;
     description = "A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree)";
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 54129c79b83..6d83c98a422 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -41,6 +41,11 @@ stdenv.mkDerivation rec {
       })
     ];
 
+  # The nix daemon often forbids even creating set[ug]id files.
+  postPatch =
+    ''sed 's/^\(s[ug]idperms\) = [0-9]755/\1 = 0755/' -i src/Makefile.am
+    '';
+
   outputs = [ "out" "su" "man" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/smemstat/default.nix b/pkgs/os-specific/linux/smemstat/default.nix
index 9a244c6ed8f..04f5bf53f93 100644
--- a/pkgs/os-specific/linux/smemstat/default.nix
+++ b/pkgs/os-specific/linux/smemstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "smemstat-${version}";
-  version = "0.01.16";
+  version = "0.01.17";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.gz";
-    sha256 = "14n3s6ibm9bq58drvpiasqn11ci6mrwswfpcbpbsimx6fh2j4bi3";
+    sha256 = "093ifrz688cm0kmzz1c6himhbdr75ig1mcaapmqy8jadc1gaw2im";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index e7c101918ac..ed0e0849721 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
     sha256 = "1h3f9nkc5fkvks6va0maq377m9qxnsf4q3f2dc14rdzfvnzidy06";
   };
 
+  patches = [
+    (fetchpatch {
+       # Sysdig fails to run on linux kernels with unified cgroups enabled
+       url = https://github.com/draios/sysdig/files/909689/0001-Fix-for-linux-kernels-with-cgroup-v2-API-enabled.patch.txt;
+       sha256 = "10nmisifa500hzpa3899rs837bcal72pnqidxmrnr1js187z8j84";
+    })
+  ];
+
   buildInputs = [
     cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl jq gcc
   ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index d1042723a71..3092aba506b 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -9,14 +9,14 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  version = "232";
+  version = "233";
   name = "systemd-${version}";
 
   src = fetchFromGitHub {
     owner = "nixos";
     repo = "systemd";
-    rev = "66e778e851440fde7f20cff0c24d23538144be8d";
-    sha256 = "1valz8v2q4cj0ipz2b6mh5p0rjxpy3m88gg9xa2rcc4gcmscndzk";
+    rev = "a5af87e469ed3bd806d1ac34716d4f17ce9d3464";
+    sha256 = "14slhk9p1f4ngxhhsmk8i1irl6jiffs1ln84ddcqc8iy22cyqvs3";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/os-specific/linux/tomb/default.nix b/pkgs/os-specific/linux/tomb/default.nix
index 141af86a337..f1347c197bf 100644
--- a/pkgs/os-specific/linux/tomb/default.nix
+++ b/pkgs/os-specific/linux/tomb/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, fetchurl, zsh, pinentry, cryptsetup, gnupg1orig, makeWrapper }:
-
-let
-    version = "2.4";
-in
+{ stdenv, lib, fetchFromGitHub, gettext, zsh, pinentry, cryptsetup, gnupg, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "tomb-${version}";
+  version = "2.4";
 
-  src = fetchurl {
-    url = "https://files.dyne.org/tomb/Tomb-${version}.tar.gz";
-    sha256 = "1hv1w79as7swqj0n137vz8n8mwvcgwlvd91sdyssz41jarg7f1vr";
+  src = fetchFromGitHub {
+    owner  = "dyne";
+    repo   = "Tomb";
+    rev    = "v${version}";
+    sha256 = "192jpgn02mvi4d4inbq2q11zl7xw6njymvali7al8wmygkkycrw4";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    # if not, it shows .tomb-wrapped when running
+    substituteInPlace tomb \
+      --replace 'TOMBEXEC=$0' 'TOMBEXEC=tomb'
+  '';
 
   buildPhase = ''
     # manually patch the interpreter
@@ -20,22 +25,21 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
+    install -Dm755 tomb       $out/bin/tomb
+    install -Dm644 doc/tomb.1 $out/share/man/man1/tomb.1
 
-    cp tomb $out/bin/tomb
-    cp doc/tomb.1 $out/share/man/man1
+    # it works fine with gnupg v2, but it looks for an executable named gpg
+    ln -s ${gnupg}/bin/gpg2 $out/bin/gpg
 
     wrapProgram $out/bin/tomb \
-        --prefix PATH : "${pinentry}/bin" \
-        --prefix PATH : "${cryptsetup}/bin" \
-        --prefix PATH : "${gnupg1orig}/bin"
+      --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext pinentry ]}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "File encryption on GNU/Linux";
-    homepage = https://www.dyne.org/software/tomb/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.linux;
+    homepage    = https://www.dyne.org/software/tomb/;
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 9126a1cdec3..01bd8beea3d 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -29,31 +29,30 @@ stdenv.mkDerivation rec {
     preConfigure = "export scanf_cv_type_modifier=ms";
   };
 
+  preConfigure = lib.optionalString (systemd != null) ''
+    configureFlags+=" --with-systemd --with-systemdsystemunitdir=$bin/lib/systemd/system/"
+  '';
+
   # !!! It would be better to obtain the path to the mount helpers
   # (/sbin/mount.*) through an environment variable, but that's
   # somewhat risky because we have to consider that mount can setuid
   # root...
-  configureFlags = ''
-    --enable-write
-    --enable-last
-    --enable-mesg
-    --disable-use-tty-group
-    --enable-fs-paths-default=/run/wrappers/bin:/var/run/current-system/sw/bin:/sbin
-    ${if ncurses == null then "--without-ncurses" else ""}
-    ${if systemd == null then "" else ''
-      --with-systemd
-      --with-systemdsystemunitdir=$out/lib/systemd/system/
-    ''}
-  '';
+  configureFlags = [
+    "--enable-write"
+    "--enable-last"
+    "--enable-mesg"
+    "--disable-use-tty-group"
+    "--enable-fs-paths-default=/run/wrappers/bin:/var/run/current-system/sw/bin:/sbin"
+    "--disable-makeinstall-setuid" "--disable-makeinstall-chown"
+  ]
+    ++ lib.optional (ncurses == null) "--without-ncurses";
 
   makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs =
     [ zlib pam ]
-    ++ lib.optional (ncurses != null) ncurses
-    ++ lib.optional (systemd != null) systemd
-    ++ lib.optional (perl != null) perl;
+    ++ lib.filter (p: p != null) [ ncurses systemd perl ];
 
   postInstall = ''
     rm "$bin/bin/su" # su should be supplied by the su package (shadow)
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 10c84948a49..3ccf703370c 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -6,18 +6,18 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10";
 let
   name = "wireguard-${version}";
 
-  version = "0.0.20170517";
+  version = "0.0.20170613";
 
   src = fetchurl {
     url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "7303e973654a3585039f4789e89a562f807f0d6010c7787b9b69ca72aa7a6908";
+    sha256 = "88ac77569eeb79c517318d58a0954caa0a4d2a6a1694e74c2a3b1c14438ac941";
   };
 
   meta = with stdenv.lib; {
     homepage     = https://www.wireguard.io/;
     downloadPage = https://git.zx2c4.com/WireGuard/refs/;
     description  = "A prerelease of an experimental VPN tunnel which is not to be depended upon for security";
-    maintainers  = with maintainers; [ ericsagnes mic92 ];
+    maintainers  = with maintainers; [ ericsagnes mic92 zx2c4 ];
     license      = licenses.gpl2;
     platforms    = platforms.linux;
   };
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index add92f68876..5e5ac3bcafd 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "caddy-${version}";
-  version = "0.9.5";
+  version = "0.10.3";
 
   goPackagePath = "github.com/mholt/caddy";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     owner = "mholt";
     repo = "caddy";
     rev = "v${version}";
-    sha256 = "0z1qjmlxrsiccrl5cb0j4c48ksng4xgp5bgy11gswrijvymsbq2r";
+    sha256 = "0srz1cji1z6ag591vfwjd0aypi32hr7hh9ypps8p5szf075rkr8p";
   };
 
   buildFlagsArray = ''
     -ldflags=
-      -X github.com/mholt/caddy/caddy/caddymain.gitTag=${version}
+      -X github.com/mholt/caddy/caddy/caddymain.gitTag=v${version}
   '';
 
   goDeps = ./deps.nix;
@@ -26,6 +26,6 @@ buildGoPackage rec {
     homepage = https://caddyserver.com;
     description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
     license = licenses.asl20;
-    maintainers = [ maintainers.rushmorem ];
+    maintainers = with maintainers; [ rushmorem fpletz ];
   };
 }
diff --git a/pkgs/servers/caddy/deps.nix b/pkgs/servers/caddy/deps.nix
index 49ae8fa09e8..e2b318ca60e 100644
--- a/pkgs/servers/caddy/deps.nix
+++ b/pkgs/servers/caddy/deps.nix
@@ -1,12 +1,21 @@
-# This file was generated by go2nix.
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
 [
   {
+    goPackagePath = "github.com/codahale/aesnicheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codahale/aesnicheck";
+      rev = "349fcc471aaccc29cd074e1275f1a494323826cd";
+      sha256 = "1zab6jjs5hiqpq484pbpx490zlj42v7hf4wwkqmicyaq7wclfnka";
+    };
+  }
+  {
     goPackagePath = "github.com/dustin/go-humanize";
     fetch = {
       type = "git";
       url = "https://github.com/dustin/go-humanize";
-      rev = "7a41df006ff9af79a29f0ffa9c5f21fbe6314a2d";
-      sha256 = "0055ir369kz63x9ay0fxqpx2xby8digja6ffbc35vsqjnzfwws18";
+      rev = "259d2a102b871d17f30e3cd9881a642961a1e486";
+      sha256 = "1jiada1pfhw2wwkx7cjsa6ixa8c37w51b3x09vlr4m0l945pval9";
     };
   }
   {
@@ -23,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev = "0674c7c7968d9fac5f0f678325161ec31df406af";
-      sha256 = "0ql8bsxcc0rjli5cxb0jf22jaq18bd6s4pja7razir3a9zcyn3km";
+      rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
+      sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
     };
   }
   {
@@ -77,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/lucas-clemente/quic-go";
-      rev = "86e02c4d2c459b70073cd5c39468e8a5a22db45a";
-      sha256 = "16qrkcwllx88f6623ps5p5h62168xs6mcwybbw8862pvb0zkndz0";
+      rev = "bb280f29be75d6d78c64a32692b668e2a99c57bb";
+      sha256 = "1a6xqh7z8amb1372kb63kmn764w6c0ypcl7c4c7kyy2sqx8lyjyc";
     };
   }
   {
@@ -95,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/miekg/dns";
-      rev = "ca336a1f95a6b89be9c250df26c7a41742eb4a6f";
-      sha256 = "03yh1zszhspmmq0v22ckw96q8ds2a5s3nd0c6r3p3n165w28z434";
+      rev = "e78414ef75607394ad7d917824f07f381df2eafa";
+      sha256 = "1g5rgbjy7nr0l6074plh2aqiwiy9nck9bhhks9c5ki3r00fjj3ay";
     };
   }
   {
@@ -113,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/naoina/toml";
-      rev = "751171607256bb66e64c9f0220c00662420c38e9";
-      sha256 = "07ivrcdd62y7jj5isrz7jhkqqc29s0wsn005mn0yxain51f8h7ly";
+      rev = "e6f5723bf2a66af014955e0888881314cf294129";
+      sha256 = "0kh7xnckw689kksh23ginyl3g8h2yqyvjh54nmnfvjaj886lvbsf";
     };
   }
   {
@@ -122,17 +131,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/russross/blackfriday";
-      rev = "5f33e7b7878355cd2b7e6b8eefc48a5472c69f70";
-      sha256 = "0d7faqxrxvh8hwc1r8gbasgmr8x5blxvzciwspir2yafjfbqy87k";
-    };
-  }
-  {
-    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shurcooL/sanitized_anchor_name";
-      rev = "1dba4b3954bc059efc3991ec364f9f9a35f597d2";
-      sha256 = "0pwap8lp79pldd95a1qi3xhlsa17m8zddpgc5jzvk6d1cjpsm6qg";
+      rev = "067529f716f4c3f5e37c8c95ddd59df1007290ae";
+      sha256 = "1l61ib6r6mg587p58li5zhafjkkmrzacachcjg1cvw0k4zza9137";
     };
   }
   {
@@ -140,8 +140,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/xenolf/lego";
-      rev = "f5d538caab6dc0c167d4e32990c79bbf9eff578c";
-      sha256 = "026sjqinb0j4ddfh3rwhhh7a1yjkfdmdr4yflba5syp1hrjf1f37";
+      rev = "aaa8e70aec58a858b6bef0706b367dd5e8d58128";
+      sha256 = "0899mdgb01bpz83zyxzln8ygyll78gmcslw5i36q9m60pqj59z60";
     };
   }
   {
@@ -149,8 +149,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "41d678d1df78cd0410143162dff954e6dc09300f";
-      sha256 = "1gcw2850nghsfi3m98ibsxs8bwqzhdjsgiznrr9ymarzn58v3357";
+      rev = "e7ba82683099cae71475961448ab8f903ea77c26";
+      sha256 = "0w6zvzchgzk197siq3qbsh6pdpnx7g9xc08k5axv5yc6w8qhgx11";
     };
   }
   {
@@ -158,8 +158,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "f2499483f923065a842d38eb4c7f1927e6fc6e6d";
-      sha256 = "0q1ps8igfczfafk39hkp8gs57s6qxjvf2c48hiq00p873agz0x7s";
+      rev = "1a68b1313cf4ad7778376e82641197b60c02f65c";
+      sha256 = "1nfva16dasc9h5y1njcfnr2g09damk754g3yliij3ar06k06p1xf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "210eee5cf7323015d097341bcf7166130d001cd8";
+      sha256 = "0sm9548ky5vi2sr5zjzwwna5f4pfs0nmlaw0pjnamxwfjzy4jnfb";
     };
   }
   {
@@ -167,8 +176,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/natefinch/lumberjack.v2";
-      rev = "dd45e6a67c53f673bb49ca8a001fd3a63ceb640e";
-      sha256 = "1fla2mzbwl1lxa9na3xhjmcszn8kiw051xq7i9xzbazzpgf0csg0";
+      rev = "a96e63847dc3c67d17befa69c303767e2f84e54f";
+      sha256 = "1l3vlv72b7rfkpy1164kwd3qzrqmmjnb67akzxqp2mlvc66k6p3d";
     };
   }
   {
@@ -185,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "14227de293ca979cf205cd88769fe71ed96a97e2";
-      sha256 = "038hnrjcnjygyi3qidfrkpkakis82qg381sr495d2s40g2dwlzah";
+      rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
+      sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
     };
   }
 ]
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index fc35dfdda47..58141a4cf0e 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -3,16 +3,16 @@
 stdenv.mkDerivation rec {
   name = "clickhouse-${version}";
 
-  version = "1.1.54190";
+  version = "1.1.54236";
 
   src = fetchFromGitHub {
     owner = "yandex";
     repo = "ClickHouse";
     rev = "v${version}-stable";
-    sha256 = "03snzrhz3ai66fqy3rh89cgmpiaskg3077zflkwzqxwx69jkmqix";
+    sha256 = "1mfjr1yzvf810vbb35c2rknvqnc4mkncl56ja48myn7hc9p457d7";
   };
 
-  patches = [ ./prefix.patch ./termcap.patch ];
+  patches = [ ./termcap.patch ];
 
   nativeBuildInputs = [ cmake libtool ];
 
diff --git a/pkgs/servers/clickhouse/prefix.patch b/pkgs/servers/clickhouse/prefix.patch
deleted file mode 100644
index a311bf83dd9..00000000000
--- a/pkgs/servers/clickhouse/prefix.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From ccc3596aa3ca041f457bf44d3437d935f56e82a4 Mon Sep 17 00:00:00 2001
-From: Orivej Desh <orivej@gmx.fr>
-Date: Sun, 26 Mar 2017 23:57:32 +0000
-Subject: [PATCH] Do not override CMAKE_INSTALL_PREFIX
-
----
- CMakeLists.txt | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 517b25e..6d8ced2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -141,12 +141,7 @@ if (ENABLE_TESTS)
- endif (ENABLE_TESTS)
- 
- # Installation prefix
--if (NOT CMAKE_SYSTEM MATCHES "FreeBSD")
--	set (CMAKE_INSTALL_PREFIX /usr)
--	set (CLICKHOUSE_ETC_DIR /etc)
--else ()
--	set (CLICKHOUSE_ETC_DIR ${CMAKE_INSTALL_PREFIX}/etc)
--endif ()
-+set (CLICKHOUSE_ETC_DIR ${CMAKE_INSTALL_PREFIX}/etc)
- 
- 
- option (UNBUNDLED "Try find all libraries in system (if fail - use bundled from contrib/)" OFF)
--- 
-2.12.0
-
diff --git a/pkgs/servers/dex/default.nix b/pkgs/servers/dex/default.nix
new file mode 100644
index 00000000000..119d5f03f62
--- /dev/null
+++ b/pkgs/servers/dex/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+let version = "2.4.1"; in
+
+buildGoPackage rec {
+  name = "dex-${version}";
+
+  goPackagePath = "github.com/coreos/dex";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "coreos";
+    repo = "dex";
+    sha256 = "11qpn3wh74mq16xgl9l50n2v02ffqcd14xccf77j5il04xr764nx";
+  };
+
+  subPackages = [
+    "cmd/dex"
+  ];
+
+  buildFlagsArray = [
+    "-ldflags=-w -X ${goPackagePath}/version.Version=${src.rev}"
+  ];
+
+  meta = {
+    description = "OpenID Connect and OAuth2 identity provider with pluggable connectors";
+    license = lib.licenses.asl20;
+    homepage = https://github.com/coreos/dex;
+    maintainers = with lib.maintainers; [benley];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 8ac9280b874..c18b7c46376 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -3,14 +3,14 @@
 
 assert enableSeccomp -> libseccomp != null;
 
-let version = "9.10.5"; in
+let version = "9.10.5-P1"; in
 
 stdenv.mkDerivation rec {
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "03ibhzy9577w78kgh6ynl90a2hlbnz0krygffm820hjf2cp8ss3i";
+    sha256 = "1kg59a9118460k5wznqayxzqb6l3vbpybd8b1bdv9z97x5fqiyw2";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 97c0da86ec9..57c3acbd534 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   name = "knot-dns-${version}";
-  version = "2.4.2";
+  version = "2.5.1";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "37da7fcf1f194bd6376c63d8c4fa28a21899b56a3f3b63dba7095740a5752c52";
+    sha256 = "1643q2pj5sjhgv19jp8r2bhvqyk6mmlajdmr6qhjcbhql30cs23c";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index c60e7232b79..1fec8ef11b7 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -10,19 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "knot-resolver-${version}";
-  version = "1.2.6";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
-    sha256 = "31e1b8899c5592433e5265a8e9685126fc5aeff3bd6b10884154b2e34b786f3c";
+    sha256 = "667002dc3ee0b0f755628997ef4f71be769a06fb8b9ccd935db329c8709c2af4";
   };
 
-  patches = [(fetchpatch {
-    name = "luajit-2.1.0-beta3.diff";
-    url = https://gitlab.labs.nic.cz/knot/resolver/merge_requests/289.diff;
-    sha256 = "1cgfi715qhmvb31ri2wr6cacsjvb1dqavdmnnl1074y25zalxfax";
-  })];
-
   outputs = [ "out" "dev" ];
 
   configurePhase = ":";
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index e69b25c5b94..6cf98daab5b 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -13,13 +13,17 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.1.15";
+  name = "nsd-4.1.16";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "494a862cfcd26a525a4bf06306eb7ab0387b34678ac6d37767507438e3a23a4b";
+    sha256 = "1cmaddfjb7yr87gjd5yv4d0qng0j97sy5rw5m3zxsp6c4fnng0vz";
   };
 
+  prePatch = ''
+    substituteInPlace nsd-control-setup.sh.in --replace openssl ${openssl}/bin/openssl
+  '';
+
   buildInputs = [ libevent openssl ];
 
   configureFlags =
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
index b1e4ec6e368..8b838a58b27 100644
--- a/pkgs/servers/dns/powerdns/default.nix
+++ b/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "powerdns-${version}";
-  version = "4.0.2";
+  version = "4.0.3";
 
   src = fetchurl {
     url = "http://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "17b2gv7r53skj54ms4hx8rdjiggpc8bais0cy0jck1pmccxyalfh";
+    sha256 = "10p2m2zbydbd5xjdgf8z4zgvl8diyb4k3bq1hzsl32r71daj3yk0";
   };
 
   buildInputs = [ boost libmysql postgresql lua openldap sqlite protobuf geoip libyamlcpp pkgconfig libsodium curl ];
diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix
index c3b68477808..1bf92b2247c 100644
--- a/pkgs/servers/emby/default.nix
+++ b/pkgs/servers/emby/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "emby-${version}";
-  version = "3.2.15.0";
+  version = "3.2.19.0";
 
   src = fetchurl {
     url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
-    sha256 = "0xfjj899l7xmmiwwbfj4j9dwgrq10911nls06viz793bflmxw082";
+    sha256 = "14gwkglngaf29zzjqyph8pqz8i8i9j2vha9g2m17slgdxif4ijzc";
   };
 
   buildInputs = with pkgs; [
diff --git a/pkgs/servers/ftp/pure-ftpd/default.nix b/pkgs/servers/ftp/pure-ftpd/default.nix
index e56669645c3..4e39b78b89e 100644
--- a/pkgs/servers/ftp/pure-ftpd/default.nix
+++ b/pkgs/servers/ftp/pure-ftpd/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "pure-ftpd-1.0.42";
+  name = "pure-ftpd-1.0.46";
 
   src = fetchurl {
     url = "https://download.pureftpd.org/pub/pure-ftpd/releases/${name}.tar.gz";
-    sha256 = "1yg7v1l3ng7c08nhh804k28y1f8ccmg0rq1a9l2sg45ib273mrvv";
+    sha256 = "0p0arcaz63fbb03fkavbc8z6m1f90p5vbnxb8mqlvpma6mrq0286";
   };
 
+  buildInputs = [ openssl ];
+
+  configureFlags = [ "--with-tls" ];
+
   meta = with stdenv.lib; {
     description = "A free, secure, production-quality and standard-conformant FTP server";
     homepage = https://www.pureftpd.org;
     license = licenses.isc; # with some parts covered by BSD3(?)
     maintainers = [ maintainers.lethalman ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
-
 }
diff --git a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index 67648f9d4f2..a99f081b24e 100644
--- a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
 
   name = "mod_auth_mellon-${version}";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "UNINETT";
     repo = "mod_auth_mellon";
     rev = "v${version}";
-    sha256 = "1p6v6vgrfvgvc5y2ygqyyxi0klpm3nxaw3fg35zmpmw663w8skqn";
+    sha256 = "16b43y5a5p8g1287x04rv923230cy8dfs2j18cx6208n4bv4dvnk";
   };
 
   patches = [
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index 348aba5338c..a24eedce7c7 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix (args // {
-  version = "1.13.0";
-  sha256 = "1mq56rl3rq3bhnrqsywxfrwh0y5m0n0q0sck8ca4x18ganv2mxbr";
+  version = "1.13.1";
+  sha256 = "0xk7gcsgwhz047h54adn8crnkrkr7g1z79w8ik34v6k0lrr6r1d5";
 })
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 02786cd19d1..ea819c7ec83 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -15,8 +15,8 @@
     src = fetchFromGitHub {
       owner = "arut";
       repo = "nginx-rtmp-module";
-      rev = "v1.1.9";
-      sha256 = "19vqw1ba01m2wlncpycw9vj5n8741pv36hd3dy9jjdxwlzdjzyi5";
+      rev = "v1.1.11";
+      sha256 = "09zrnf8lk179mpqnx92zm24xl7m3bq4ca84wc2zwi5hc8kxjbwxc";
     };
   };
 
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index efbcada6230..bc8b831eec7 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "1.10.3";
-  sha256 = "146xd566l1wkhzxqhmd01vj7c0yhsap1qkiwfg5mki6ach9hy0km";
+  version = "1.12.0";
+  sha256 = "0c2vg6530qplwk8rhldww5r3cwcbw1avka53qg9sh85nzlk2w8ml";
 })
diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix
index 46e4b755e5c..f63fecb66c8 100644
--- a/pkgs/servers/irc/charybdis/default.nix
+++ b/pkgs/servers/irc/charybdis/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     "--enable-ipv6"
     "--enable-openssl=${openssl.dev}"
     "--with-program-prefix=charybdis-"
+    "--sysconfdir=/etc/charybdis"
   ];
 
   buildInputs = [ bison flex openssl ];
diff --git a/pkgs/servers/mail/dkimproxy/default.nix b/pkgs/servers/mail/dkimproxy/default.nix
new file mode 100644
index 00000000000..9abf95fb6d6
--- /dev/null
+++ b/pkgs/servers/mail/dkimproxy/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, perl, fetchurl, Error, MailDKIM, MIMEtools, NetServer }:
+
+let
+  pkg = "dkimproxy";
+  version = "1.4.1";
+in
+stdenv.mkDerivation rec {
+  name = "${pkg}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dkimproxy/${name}.tar.gz";
+    sha256 = "1gc5c7lg2qrlck7b0lvjfqr824ch6jkrzkpsn0gjvlzg7hfmld75";
+  };
+
+  # Idea taken from pkgs/development/perl-modules/generic/builder.sh
+  preFixup = ''
+    perlFlags=
+    for i in $(IFS=:; echo $PERL5LIB); do
+      perlFlags="$perlFlags -I$i"
+    done
+    for f in $(ls $out/bin); do
+      sed -i $out/bin/$f -e "s|#\!\(.*/perl.*\)$|#\! \1 $perlFlags|"
+    done
+  '';
+
+  buildInputs = [ perl ];
+  propagatedBuildInputs = [ Error MailDKIM MIMEtools NetServer ];
+
+  meta = with stdenv.lib; {
+    description = "SMTP-proxy that signs and/or verifies emails";
+    homepage = http://dkimproxy.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.ekleog ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index 14149713ee8..f4ab6a02995 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,17 +1,7 @@
-{ stdenv, fetchurl, buildPerlPackage, perl, HTMLParser, NetDNS, NetAddrIP, DBFile
+{ stdenv, fetchurl, buildPerlPackage, perl, perlPackages, HTMLParser, NetDNS, NetAddrIP, DBFile
 , HTTPDate, MailDKIM, LWP, IOSocketSSL, makeWrapper, gnupg1
 }:
 
-# TODO: Add the Perl modules ...
-#
-#   DBI
-#   Encode::Detect
-#   IP::Country::Fast
-#   Mail::SPF
-#   Net::Ident
-#   Razor2::Client::Agent
-#
-
 buildPerlPackage rec {
   name = "SpamAssassin-3.4.1";
 
@@ -20,14 +10,17 @@ buildPerlPackage rec {
     sha256 = "0la6s5ilamf9129kyjckcma8cr6fpb6b5f2fb64v7106iy0ckhd0";
   };
 
-  buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM
-    LWP IOSocketSSL ];
+  # https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7434
+  patches = [ ./sa-update_add--siteconfigpath.patch ];
+
+  buildInputs = with perlPackages; [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM
+    LWP IOSocketSSL DBI EncodeDetect IPCountry NetIdent Razor2ClientAgent MailSPF NetDNSResolverProgrammable ];
 
   # Enabling 'taint' mode is desirable, but that flag disables support
   # for the PERL5LIB environment variable. Needs further investigation.
   makeFlags = "PERL_BIN=${perl}/bin/perl PERL_TAINT=no";
 
-  makeMakerFlags = "CONFDIR=/etc/spamassassin LOCALSTATEDIR=/var/lib/spamassassin";
+  makeMakerFlags = "CONFDIR=/homeless/shelter LOCALSTATEDIR=/var/lib/spamassassin";
 
   doCheck = false;
 
@@ -45,6 +38,6 @@ buildPerlPackage rec {
     description = "Open-Source Spam Filter";
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.peti ];
+    maintainers = with stdenv.lib.maintainers; [ peti qknight ];
   };
 }
diff --git a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch b/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch
new file mode 100644
index 00000000000..3264aefc072
--- /dev/null
+++ b/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch
@@ -0,0 +1,59 @@
+From 60abf3ee8864980a95b32e2d6cf60e26b49654c0 Mon Sep 17 00:00:00 2001
+From: joachim schiele <js@lastlog.de>
+Date: Wed, 7 Jun 2017 22:15:39 +0200
+Subject: [PATCH 2/2] Adding --siteconfigpath to not be forced to use global /etc/spamasassin configuration directory but to provide an alternative location.
+
+---
+ sa-update.raw | 5 +++++
+ lib/Mail/SpamAssassin/PerMsgStatus.pm | 2 +
+ 2 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/sa-update.raw b/sa-update.raw
+index bb7396d..39f681f 100755
+--- a/sa-update.raw
++++ b/sa-update.raw
+@@ -196,6 +196,7 @@ GetOptions(
+   'gpgkeyfile=s'			=> \$opt{'gpgkeyfile'},
+   'channelfile=s'			=> \$opt{'channelfile'},
+   'updatedir=s'				=> \$opt{'updatedir'},
++  'siteconfigpath=s'                           => \$opt{'siteconfigpath'},
+   'gpg!'				=> \$GPG_ENABLED,
+ 
+   '4'                                   => sub { $opt{'force_pf'} = 'inet' },
+@@ -267,6 +268,9 @@ else {
+   $opt{'updatedir'} = $SA->sed_path('__local_state_dir__/__version__');
+ }
+ 
++if (defined $opt{'siteconfigpath'}) {
++  $LOCAL_RULES_DIR = untaint_file_path($opt{'siteconfigpath'});
++}
+ 
+ # check only disabled gpg
+ # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5854
+@@ -1808,6 +1812,7 @@ Options:
+   --updatedir path        Directory to place updates, defaults to the
+                           SpamAssassin site rules directory
+                           (default: @@LOCAL_STATE_DIR@@/@@VERSION@@)
++  --siteconfigpath=path   Path for site configs
+   --refreshmirrors        Force the MIRRORED.BY file to be updated
+   -D, --debug [area=n,...]  Print debugging messages
+   -v, --verbose           Be verbose, like print updated channel names;
+-- 
+diff --git a/lib/Mail/SpamAssassin/PerMsgStatus.pm b/lib/Mail/SpamAssassin/PerMsgStatus.pm
+index 6d8beaa..6ad87dc 100644
+--- a/lib/Mail/SpamAssassin/PerMsgStatus.pm
++++ b/lib/Mail/SpamAssassin/PerMsgStatus.pm
+@@ -389,7 +389,8 @@ sub check_timed {
+     if (!$self->{main}->have_plugin("check_main")) {
+       die "check: no loaded plugin implements 'check_main': cannot scan!\n".
+             "Check that the necessary '.pre' files are in the config directory.\n".
+-              "At a minimum, v320.pre loads the Check plugin which is required.\n";
++              "At a minimum, v320.pre loads the Check plugin which is required.\n".
++              "NixOS: Since there is no '/etc/spamassassin' simply restart 'spamd.service' which on its behalf will run 'sa-learn --siteconfigpath=/nix/store/l4hr4yxk8mb4wbkha6vm6rh92pj19rj6-spamd-env ...' to update the /var/lib/spamassassin configs.\n";
+     }
+   }
+ 
+-- 
+
+2.12.2
+
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index dbcebf84239..56d2f854654 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "4.2.0";
+  version = "4.3.2";
   name = "grafana-v${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0zzvdzakswqidxbsss98nfa8rw80r36f45yviai12xsns9jzmj7z";
+    sha256 = "0hz323favjm0gz4s2112rl8ygw7dy2pz808yhraplq8nljqh4h11";
   };
 
   srcStatic = fetchurl {
-    url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}.linux-x64.tar.gz";
-    sha256 = "1cs7ghkp13znz9yxv108770xjfsp8vks6xkzpqqhsjis5h5y0g9w";
+    url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-x64.tar.gz";
+    sha256 = "0vk668ibayx0hqlam9jns5c7pggdh83yy54hnz5l7fnws4lm50qc";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
index 82d18091050..5c72ac97bc0 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -1,19 +1,23 @@
-{ stdenv, fetchurl, doxygen }:
+{ stdenv, fetchFromGitHub, autoreconfHook, doxygen }:
 
 stdenv.mkDerivation rec {
   version = "${passthru.majorVersion}.${passthru.minorVersion}";
   name = "libmpdclient-${version}";
 
-  src = fetchurl {
-    url = "http://www.musicpd.org/download/libmpdclient/2/${name}.tar.xz";
-    sha256 = "10pzs9z815a8hgbbbiliapyiw82bnplsccj5irgqjw5f5plcs22g";
+  src = fetchFromGitHub {
+    owner  = "MusicPlayerDaemon";
+    repo   = "libmpdclient";
+    rev    = "v${version}";
+    sha256 = "06rv2j8rw9v9l4nwpvbh28nad8bbg368hzd8s58znbr5pgb8dihd";
   };
 
-  buildInputs = [ doxygen ];
+  nativeBuildInputs = [ autoreconfHook doxygen ];
+
+  enableParallelBuilding = true;
 
   passthru = {
     majorVersion = "2";
-    minorVersion = "10";
+    minorVersion = "11";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 1883764e24f..b7eb0b5397d 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, systemd, boost, darwin
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, glib, systemd, boost, darwin
 , alsaSupport ? true, alsaLib
 , avahiSupport ? true, avahi, dbus
 , flacSupport ? true, flac
@@ -33,18 +33,22 @@ let
   opt = stdenv.lib.optional;
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
   major = "0.20";
-  minor = "6";
+  minor = "9";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-${major}${if minor == "" then "" else "." + minor}";
-  src = fetchurl {
-    url    = "http://www.musicpd.org/download/mpd/${major}/${name}.tar.xz";
-    sha256 = "0isbpa79m7zf09w3s1ry638cw96rxasy1ch66zl01k75i48mw1gl";
+  name = "mpd-${version}";
+  version = "${major}${if minor == "" then "" else "." + minor}";
+
+  src = fetchFromGitHub {
+    owner  = "MusicPlayerDaemon";
+    repo   = "MPD";
+    rev    = "v${version}";
+    sha256 = "17ly30syrlw5274washifr0nddll3g1zb4rr4f9sfnlxz9wz73p1";
   };
 
   patches = [ ./x86.patch ];
 
-  buildInputs = [ pkgconfig glib boost ]
+  buildInputs = [ glib boost ]
     ++ opt stdenv.isDarwin darwin.apple_sdk.frameworks.CoreAudioKit
     ++ opt stdenv.isLinux systemd
     ++ opt (stdenv.isLinux && alsaSupport) alsaLib
@@ -77,6 +81,10 @@ in stdenv.mkDerivation rec {
     ++ opt opusSupport libopus
     ++ opt soundcloudSupport yajl;
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  enableParallelBuilding = true;
+
   configureFlags =
     [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
       (mkFlag flacSupport "flac")
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 4bbff8b86ad..03c8463f9ea 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name= "nextcloud-${version}";
-  version = "11.0.2";
+  version = "12.0.0";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "0047kfl73720w7y2r7ivzj2gqg84rcfp98svq130nd0ziyfz27jx";
+    sha256 = "0gr47bwwni7y33qz3l8g3sjrqridykxiid2jlmjdaz35bvq9r78v";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index af6cea97d2f..861aaa71cde 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "radarr-${version}";
-  version = "0.2.0.654";
+  version = "0.2.0.696";
 
   src = fetchurl {
     url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz";
-    sha256 = "05sb3zk8gvydmkiy7g9ha5cmiqzqfwcydljm401zjndzwzhkz698";
+    sha256 = "0rqxhzn8hmg6a8di1gaxlrfp5f7mykf2lxrzhri10zqs975i3a29";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/radicale/default.nix b/pkgs/servers/radicale/default.nix
index e49e399194d..f36d19bfb20 100644
--- a/pkgs/servers/radicale/default.nix
+++ b/pkgs/servers/radicale/default.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "radicale-${version}";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchurl {
     url = "mirror://pypi/R/Radicale/Radicale-${version}.tar.gz";
-    sha256 = "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2";
+    sha256 = "1g20p3998f46ywda7swv0py63wjbrhvk0nrafajlbb6wgzxjmqpb";
   };
 
   propagatedBuildInputs = stdenv.lib.optionals (!pythonPackages.isPy3k) [
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 26958e355b3..d7b1c8173dd 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -19,11 +19,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.6.3";
+  version = "4.6.4";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0q8m9cp76vx0x7zhvbfamqvh8hmmlki8ih9zb2hcn2bqlwyyyf1a";
+    sha256 = "0qcsinhcq3frlqp7bfav5mdc9xn1h4xy4l6vfpf8cmcfs4lp7ija";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/search/elasticsearch/5.x.nix b/pkgs/servers/search/elasticsearch/5.x.nix
new file mode 100644
index 00000000000..512337cf382
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/5.x.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, elk5Version, makeWrapper, jre, utillinux, getopt }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = elk5Version;
+  name = "elasticsearch-${version}";
+
+  src = fetchurl {
+    url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
+    sha256 = "1ml2dvwxxhj3azj13wa8xd08kpapal2477lpcaxzw5gnzizgyx5z";
+  };
+
+  patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
+
+  buildInputs = [ makeWrapper jre ] ++
+    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R bin config lib modules plugins $out
+
+    chmod -x $out/bin/*.*
+
+    wrapProgram $out/bin/elasticsearch \
+      --prefix ES_CLASSPATH : "$out/lib/*" \
+      ${if (!stdenv.isDarwin)
+        then ''--prefix PATH : "${utillinux}/bin/"''
+        else ''--prefix PATH : "${getopt}/bin"''} \
+      --set JAVA_HOME "${jre}" \
+      --set ES_JVM_OPTIONS "$out/config/jvm.options"
+
+    wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre}"
+  '';
+
+  meta = {
+    description = "Open Source, Distributed, RESTful Search Engine";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = [
+      maintainers.apeschar
+    ];
+  };
+}
diff --git a/pkgs/servers/search/elasticsearch/es-classpath-5.x.patch b/pkgs/servers/search/elasticsearch/es-classpath-5.x.patch
new file mode 100644
index 00000000000..6898ffcf1d7
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/es-classpath-5.x.patch
@@ -0,0 +1,34 @@
+diff -rupN a/bin/elasticsearch b/bin/elasticsearch
+--- a/bin/elasticsearch	2017-05-17 10:53:49.444487071 +0200
++++ b/bin/elasticsearch	2017-05-17 10:55:52.755081523 +0200
+@@ -129,12 +129,7 @@ ES_JAVA_OPTS="$(parse_jvm_options "$ES_J
+ # If an include wasn't specified in the environment, then search for one...
+ if [ "x$ES_INCLUDE" = "x" ]; then
+     # Locations (in order) to use when searching for an include file.
+-    for include in /usr/share/elasticsearch/elasticsearch.in.sh \
+-                   /usr/local/share/elasticsearch/elasticsearch.in.sh \
+-                   /opt/elasticsearch/elasticsearch.in.sh \
+-                   ~/.elasticsearch.in.sh \
+-                   "$ES_HOME/bin/elasticsearch.in.sh" \
+-                   "`dirname "$0"`"/elasticsearch.in.sh; do
++    for include in "`dirname "$0"`"/elasticsearch.in.sh; do
+         if [ -r "$include" ]; then
+             . "$include"
+             break
+diff -rupN a/bin/elasticsearch.in.sh b/bin/elasticsearch.in.sh
+--- a/bin/elasticsearch.in.sh	2017-04-28 19:41:47.000000000 +0200
++++ b/bin/elasticsearch.in.sh	2017-05-17 10:56:49.303519788 +0200
+@@ -1,13 +1 @@
+ #!/bin/bash
+-
+-# check in case a user was using this mechanism
+-if [ "x$ES_CLASSPATH" != "x" ]; then
+-    cat >&2 << EOF
+-Error: Don't modify the classpath with ES_CLASSPATH. Best is to add
+-additional elements via the plugin mechanism, or if code must really be
+-added to the main classpath, add jars to lib/ (unsupported).
+-EOF
+-    exit 1
+-fi
+-
+-ES_CLASSPATH="$ES_HOME/lib/*"
diff --git a/pkgs/servers/search/elasticsearch/es-home-5.x.patch b/pkgs/servers/search/elasticsearch/es-home-5.x.patch
new file mode 100644
index 00000000000..cee0137312f
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/es-home-5.x.patch
@@ -0,0 +1,31 @@
+diff -rupN a/bin/elasticsearch b/bin/elasticsearch
+--- a/bin/elasticsearch	2017-05-17 10:53:42.214686741 +0200
++++ b/bin/elasticsearch	2017-05-17 10:53:49.444487071 +0200
+@@ -105,7 +105,11 @@ while [ -h "$SCRIPT" ] ; do
+ done
+ 
+ # determine elasticsearch home
+-ES_HOME=`dirname "$SCRIPT"`/..
++
++if [ -z "$ES_HOME" ]; then
++    echo "You must set the ES_HOME var" >&2
++    exit 1
++fi
+ 
+ # make ELASTICSEARCH_HOME absolute
+ ES_HOME=`cd "$ES_HOME"; pwd`
+diff -rupN a/bin/elasticsearch-plugin b/bin/elasticsearch-plugin
+--- a/bin/elasticsearch-plugin	2017-05-17 10:53:42.214686741 +0200
++++ b/bin/elasticsearch-plugin	2017-05-17 10:53:49.445487044 +0200
+@@ -16,7 +16,10 @@ while [ -h "$SCRIPT" ] ; do
+ done
+ 
+ # determine elasticsearch home
+-ES_HOME=`dirname "$SCRIPT"`/..
++if [ -z "$ES_HOME" ]; then
++    echo "You must set the ES_HOME var" >&2
++    exit 1
++fi
+ 
+ # make ELASTICSEARCH_HOME absolute
+ ES_HOME=`cd "$ES_HOME"; pwd`
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index e71c570f736..500913b5eec 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name    = "groonga-${version}";
-  version = "7.0.0";
+  version = "7.0.3";
 
   src = fetchurl {
     url    = "http://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "0c3vzw2ias0xpz1hwywlib1qqfjvvzwj1zggswd5l2cj87f1krfd";
+    sha256 = "17pp4sbfa6wpiiiqvdbnvd1qxrchmj7zh27zdrmmnbvwpyc5g2n6";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index de147e31da7..bd921df6e52 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sonarr-${version}";
-  version = "2.0.0.4689";
+  version = "2.0.0.4753";
 
   src = fetchurl {
     url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
-    sha256 = "056ndn98byn6gkiq46vn8pl0s715ni7wklxnmid2hk5xwyjy7bwk";
+    sha256 = "1rhdnd37fd5a4wbnrd817bf7ln4095kzmv283kmm8fz93nmmc19c";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index 6d29c745697..f871e6adf2b 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -34,7 +34,7 @@ let pythonPlugin = pkg : lib.nameValuePair "python${if pkg ? isPy2 then "2" else
                     # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx
                     path = "plugins/php";
                     preBuild = "touch unix.h";
-                    inputs = [ php-embed php-embed.nativeBuildInputs ];
+                    inputs = [ php-embed ] ++ php-embed.buildInputs;
                   })
                 ];
 
@@ -49,11 +49,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "uwsgi-${version}";
-  version = "2.0.14";
+  version = "2.0.15";
 
   src = fetchurl {
     url = "http://projects.unbit.it/downloads/${name}.tar.gz";
-    sha256 = "11r829j4fyk7y068arqmwbc9dj6lc0n3l6bn6pr5z0vdjbpx3cr1";
+    sha256 = "1zvj28wp3c1hacpd4c6ra5ilwvvfq3l8y6gn8i7mnncpddlzjbjp";
   };
 
   nativeBuildInputs = [ python3 pkgconfig ];
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 3e9bc1ba718..eb08986e702 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1010,22 +1010,22 @@ let
   }) // {inherit xproto zlib ;};
 
   libpciaccess = (mkDerivation "libpciaccess" {
-    name = "libpciaccess-0.13.4";
+    name = "libpciaccess-0.13.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2;
-      sha256 = "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07";
+      url = mirror://xorg/individual/lib/libpciaccess-0.13.5.tar.bz2;
+      sha256 = "16dr80rdw5bzdyhahvilfjrflj7scs2yl2mmghsb84f3nglm8b3m";
     };
     buildInputs = [pkgconfig zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) // {inherit zlib ;};
 
   libpthreadstubs = (mkDerivation "libpthreadstubs" {
-    name = "libpthread-stubs-0.3";
+    name = "libpthread-stubs-0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2;
-      sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim";
+      url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2;
+      sha256 = "0cz7s9w8lqgzinicd4g36rjg08zhsbyngh0w68c3np8nlc8mkl74";
     };
     buildInputs = [pkgconfig ];
     meta.platforms = stdenv.lib.platforms.unix;
@@ -1197,11 +1197,11 @@ let
   }) // {inherit ;};
 
   sessreg = (mkDerivation "sessreg" {
-    name = "sessreg-1.1.0";
+    name = "sessreg-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2;
-      sha256 = "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am";
+      url = mirror://xorg/individual/app/sessreg-1.1.1.tar.bz2;
+      sha256 = "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq";
     };
     buildInputs = [pkgconfig xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
@@ -1869,11 +1869,11 @@ let
   }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
 
   xf86videonouveau = (mkDerivation "xf86videonouveau" {
-    name = "xf86-video-nouveau-1.0.14";
+    name = "xf86-video-nouveau-1.0.15";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.14.tar.bz2;
-      sha256 = "1h9izq510m2pvg77d0y9krc0cvvbhp2y3xlrrz6id7y47jdzkpsd";
+      url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.15.tar.bz2;
+      sha256 = "0k0xah72ryjwak4dc4crszxrlkmi9x1s7p3sd4la642n77yi1pmf";
     };
     buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
@@ -2210,11 +2210,11 @@ let
   }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
 
   xkbcomp = (mkDerivation "xkbcomp" {
-    name = "xkbcomp-1.3.1";
+    name = "xkbcomp-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xkbcomp-1.3.1.tar.bz2;
-      sha256 = "0gcjy70ppmcl610z8gxc7sydsx93f8cm8pggm4qhihaa1ngdq103";
+      url = mirror://xorg/individual/app/xkbcomp-1.4.0.tar.bz2;
+      sha256 = "0syfc6zscvai824mzihlnrqxhkcr27dzkpy8zndavi83iischsdw";
     };
     buildInputs = [pkgconfig libX11 libxkbfile xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
@@ -2254,11 +2254,11 @@ let
   }) // {inherit inputproto libX11 libXaw xproto libXt ;};
 
   xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
-    name = "xkeyboard-config-2.20";
+    name = "xkeyboard-config-2.21";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.20.tar.bz2;
-      sha256 = "0d619g4r0w1f6q5qmaqjnsc0956gi02fqgpisqffzqy4acjwggyi";
+      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.21.tar.bz2;
+      sha256 = "1iffxpchy6dfgbby23nfsqqk17h9lfddlmjnhwagqag1z94p1h9h";
     };
     buildInputs = [pkgconfig libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 56a7b1f76a9..28b698bdc81 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,4 +1,4 @@
-http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
+http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2
 http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 99c9ffa14c2..09f75b436da 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -316,6 +316,11 @@ in
   };
 
   xf86inputlibinput = attrs: attrs // {
+    name = "xf86-input-libinput-0.25.1";
+    src = args.fetchurl {
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.25.1.tar.bz2;
+      sha256 = "1q67hjd67ni1nq7kgxdrrdgkyhzaqvvn2vlnsiiq9w4y3icpv7s8";
+    };
     buildInputs = attrs.buildInputs ++ [ args.libinput ];
     installFlags = "sdkdir=\${out}/include/xorg";
   };
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index ee85de75b40..8d9b66f21ae 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -56,7 +56,7 @@ mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2
 mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2
 mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.13.5.tar.bz2
 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libX11-1.6.5.tar.bz2
@@ -96,7 +96,7 @@ mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2
-mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2
+mirror://xorg/individual/app/sessreg-1.1.1.tar.bz2
 mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2
 mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2
 mirror://xorg/individual/app/twm-1.0.9.tar.bz2
@@ -131,7 +131,7 @@ mirror://xorg/individual/driver/xf86-video-amdgpu-1.3.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ati-7.9.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-nouveau-1.0.14.tar.bz2
+mirror://xorg/individual/driver/xf86-video-nouveau-1.0.15.tar.bz2
 mirror://xorg/individual/driver/xf86-video-chips-1.2.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2
 mirror://xorg/individual/driver/xf86-video-dummy-0.3.8.tar.bz2
@@ -174,10 +174,10 @@ mirror://xorg/individual/app/xgc-1.0.5.tar.bz2
 mirror://xorg/individual/app/xhost-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
 mirror://xorg/individual/app/xinput-1.6.2.tar.bz2
-mirror://xorg/individual/app/xkbcomp-1.3.1.tar.bz2
+mirror://xorg/individual/app/xkbcomp-1.4.0.tar.bz2
 mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2
 mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.20.tar.bz2
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.21.tar.bz2
 mirror://xorg/individual/app/xkill-1.0.4.tar.bz2
 mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2
 mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
diff --git a/pkgs/shells/zsh-autosuggestions/default.nix b/pkgs/shells/zsh-autosuggestions/default.nix
index 4071d7bd0f2..fe7ed752f5e 100644
--- a/pkgs/shells/zsh-autosuggestions/default.nix
+++ b/pkgs/shells/zsh-autosuggestions/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "zsh-autosuggestions-${version}";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
-    repo = "zsh-autosuggestions";
     owner = "zsh-users";
+    repo = "zsh-autosuggestions";
     rev = "v${version}";
-    sha256 = "0mnwyz4byvckrslzqfng5c0cx8ka0y12zcy52kb7amg3l07jrls4";
+    sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
   };
 
   buildInputs = [ zsh ];
diff --git a/pkgs/shells/zsh-completions/default.nix b/pkgs/shells/zsh-completions/default.nix
index dc62460441d..a1f70822725 100644
--- a/pkgs/shells/zsh-completions/default.nix
+++ b/pkgs/shells/zsh-completions/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "zsh-completions-${version}";
-  version = "0.18.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
     repo = "zsh-completions";
     rev = "${version}";
-    sha256 = "0iwb1kaidjxaz66kbbdzbydbdlfc6dk21sflzar0zy25jgx1p4xs";
+    sha256 = "0hc56y0fvshzs05acbzxf4q37vqsk4q3zp4c7smh175v56wigy94";
   };
 
   installPhase= ''
diff --git a/pkgs/shells/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh-syntax-highlighting/default.nix
index 792a8875db4..21911c8800c 100644
--- a/pkgs/shells/zsh-syntax-highlighting/default.nix
+++ b/pkgs/shells/zsh-syntax-highlighting/default.nix
@@ -1,25 +1,21 @@
-{ stdenv, fetchurl, zsh }:
+{ stdenv, fetchFromGitHub, zsh }:
 
 # To make use of this derivation, use the `programs.zsh.enableSyntaxHighlighting` option
 
-let
-
-  pkgName = "zsh-syntax-highlighting";
-  version = "0.4.1";
-
-in
-
 stdenv.mkDerivation rec {
-  name = "${pkgName}-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/zsh-users/${pkgName}/archive/${version}.tar.gz";
-    sha256 = "15sih7blqz11d8wdybx38d91vgcq9jg3q0205r26138si0g9q6wp";
+  version = "0.5.0";
+  name = "zsh-syntax-highlighting-${version}";
+
+  src = fetchFromGitHub {
+    owner = "zsh-users";
+    repo = "zsh-syntax-highlighting";
+    rev = version;
+    sha256 = "0k0m5aw67lhi4z143sdawx93y1892scvvdfdnjvljb4hf0vzs2ww";
   };
 
   buildInputs = [ zsh ];
 
-  installFlags="PREFIX=$(out)";
+  installFlags = "PREFIX=$(out)";
 
   meta = with stdenv.lib; {
     description = "Fish shell like syntax highlighting for Zsh";
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 8a517fddad8..fba5afd4f6e 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -61,7 +61,7 @@ in rec {
                           allowedRequisites ? null}:
     let
       thisStdenv = import ../generic {
-        inherit system config shell extraBuildInputs allowedRequisites;
+        inherit config shell extraBuildInputs allowedRequisites;
 
         name = "stdenv-darwin-boot-${toString step}";
 
@@ -87,6 +87,10 @@ in rec {
           ${extraPreHook}
         '';
         initialPath  = [ bootstrapTools ];
+
+        hostPlatform = localSystem;
+        targetPlatform = localSystem;
+
         fetchurlBoot = import ../../build-support/fetchurl {
           stdenv = stage0.stdenv;
           curl   = bootstrapTools;
@@ -161,14 +165,14 @@ in rec {
 
   persistent1 = prevStage: self: super: with prevStage; {
     inherit
-      zlib patchutils m4 scons flex perl bison unifdef unzip openssl icu python
+      zlib patchutils m4 scons flex perl bison unifdef unzip openssl python
       libxml2 gettext sharutils gmp libarchive ncurses pkg-config libedit groff
       openssh sqlite sed serf openldap db cyrus-sasl expat apr-util subversion xz
       findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils;
 
     darwin = super.darwin // {
       inherit (darwin)
-        dyld Libsystem xnu configd libdispatch libclosure launchd;
+        dyld Libsystem xnu configd ICU libdispatch libclosure launchd;
     };
   };
 
@@ -181,8 +185,8 @@ in rec {
 
     allowedRequisites =
       [ bootstrapTools ] ++
-      (with pkgs; [ xz.bin xz.out libcxx libcxxabi icu.out ]) ++
-      (with pkgs.darwin; [ dyld Libsystem CF locale ]);
+      (with pkgs; [ xz.bin xz.out libcxx libcxxabi ]) ++
+      (with pkgs.darwin; [ dyld Libsystem CF ICU locale ]);
 
     overrides = persistent1 prevStage;
   };
@@ -217,8 +221,8 @@ in rec {
 
     allowedRequisites =
       [ bootstrapTools ] ++
-      (with pkgs; [ xz.bin xz.out icu.out bash libcxx libcxxabi ]) ++
-      (with pkgs.darwin; [ dyld Libsystem locale ]);
+      (with pkgs; [ xz.bin xz.out bash libcxx libcxxabi ]) ++
+      (with pkgs.darwin; [ dyld ICU Libsystem locale ]);
 
     overrides = persistent2 prevStage;
   };
@@ -229,11 +233,11 @@ in rec {
       libcxxabi libcxx ncurses libffi zlib gmp pcre gnugrep
       coreutils findutils diffutils patchutils;
 
-    llvmPackages = let llvmOverride = llvmPackages.llvm.override { inherit libcxxabi; };
-    in super.llvmPackages // {
-      llvm = llvmOverride;
-      clang-unwrapped = llvmPackages.clang-unwrapped.override { llvm = llvmOverride; };
-    };
+    llvmPackages = let llvmOverride = llvmPackages.llvm.override { enableManpages = false; inherit libcxxabi; }; in
+      super.llvmPackages // {
+        llvm = llvmOverride;
+        clang-unwrapped = llvmPackages.clang-unwrapped.override { enableManpages = false; llvm = llvmOverride; };
+      };
 
     darwin = super.darwin // {
       inherit (darwin) dyld Libsystem libiconv locale;
@@ -252,7 +256,7 @@ in rec {
   persistent4 = prevStage: self: super: with prevStage; {
     inherit
       gnumake gzip gnused bzip2 gawk ed xz patch bash
-      libcxxabi libcxx ncurses libffi zlib icu llvm gmp pcre gnugrep
+      libcxxabi libcxx ncurses libffi zlib llvm gmp pcre gnugrep
       coreutils findutils diffutils patchutils;
 
     llvmPackages = super.llvmPackages // {
@@ -260,7 +264,7 @@ in rec {
     };
 
     darwin = super.darwin // {
-      inherit (darwin) dyld Libsystem cctools libiconv;
+      inherit (darwin) dyld ICU Libsystem cctools libiconv;
     };
   } // lib.optionalAttrs (super.targetPlatform == localSystem) {
     # Need to get rid of these when cross-compiling.
@@ -268,7 +272,7 @@ in rec {
   };
 
   stdenvDarwin = prevStage: let pkgs = prevStage; in import ../generic rec {
-    inherit system config;
+    inherit config;
     inherit (pkgs.stdenv) fetchurlBoot;
 
     name = "stdenv-darwin";
@@ -280,6 +284,9 @@ in rec {
     stdenvSandboxProfile = binShClosure + libSystemProfile;
     extraSandboxProfile  = binShClosure + libSystemProfile;
 
+    hostPlatform = localSystem;
+    targetPlatform = localSystem;
+
     initialPath = import ../common-path.nix { inherit pkgs; };
     shell       = "${pkgs.bash}/bin/bash";
 
@@ -303,13 +310,13 @@ in rec {
     };
 
     allowedRequisites = (with pkgs; [
-      xz.out xz.bin libcxx libcxxabi icu.out gmp.out gnumake findutils bzip2.out
+      xz.out xz.bin libcxx libcxxabi gmp.out gnumake findutils bzip2.out
       bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar
       gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk
       gnugrep llvmPackages.clang-unwrapped patch pcre.out binutils-raw.out
       binutils-raw.dev binutils gettext
     ]) ++ (with pkgs.darwin; [
-      dyld Libsystem CF cctools libiconv locale
+      dyld Libsystem CF cctools ICU libiconv locale
     ]);
 
     overrides = self: super:
diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix
index b926c6bdd90..474a467e90c 100644
--- a/pkgs/stdenv/freebsd/default.nix
+++ b/pkgs/stdenv/freebsd/default.nix
@@ -35,8 +35,10 @@ let inherit (localSystem) system; in
 
     stdenv = import ../generic {
       name = "stdenv-freebsd-boot-1";
-      inherit system config;
+      inherit config;
       initialPath = [ "/" "/usr" ];
+      hostPlatform = localSystem;
+      targetPlatform = localSystem;
       shell = "${bootstrapTools}/bin/bash";
       fetchurlBoot = null;
       cc = null;
@@ -50,9 +52,10 @@ let inherit (localSystem) system; in
 
     stdenv = import ../generic {
       name = "stdenv-freebsd-boot-0";
-      inherit system config;
+      inherit config;
       initialPath = [ prevStage.bootstrapTools ];
-      inherit (prevStage.stdenv) shell;
+      inherit (prevStage.stdenv)
+        hostPlatform targetPlatform shell;
       fetchurlBoot = prevStage.fetchurl;
       cc = null;
     };
@@ -65,10 +68,10 @@ let inherit (localSystem) system; in
     inherit config overlays;
     stdenv = import ../generic {
       name = "stdenv-freebsd-boot-3";
-      inherit system config;
+      inherit config;
 
       inherit (prevStage.stdenv)
-        initialPath shell fetchurlBoot;
+        hostPlatform targetPlatform initialPath shell fetchurlBoot;
 
       cc = import ../../build-support/cc-wrapper {
         nativeTools  = true;
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index a063a1ed2dc..8b85c5372fd 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,6 +1,6 @@
 let lib = import ../../../lib; in lib.makeOverridable (
 
-{ system, name ? "stdenv", preHook ? "", initialPath, cc, shell
+{ name ? "stdenv", preHook ? "", initialPath, cc, shell
 , allowedRequisites ? null, extraAttrs ? {}, overrides ? (self: super: {}), config
 
 , # The `fetchurl' to use for downloading curl and its dependencies
@@ -14,9 +14,18 @@ let lib = import ../../../lib; in lib.makeOverridable (
 , __extraImpureHostDeps ? []
 , stdenvSandboxProfile ? ""
 , extraSandboxProfile ? ""
+
+, # The platforms here do *not* correspond to the stage the stdenv is
+  # used in, but rather the previous one, in which it was built. We
+  # use the latter two platforms, like a cross compiler, because the
+  # stand environment is a build tool if you squint at it, and because
+  # neither of these are used when building stdenv so we know the
+  # build platform is irrelevant.
+  hostPlatform, targetPlatform
 }:
 
 let
+  inherit (targetPlatform) system;
 
   # See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
   # for why this defaults to false, but I (@copumpkin) want to default it to true soon.
@@ -94,6 +103,11 @@ let
       ../../build-support/setup-hooks/compress-man-pages.sh
       ../../build-support/setup-hooks/strip.sh
       ../../build-support/setup-hooks/patch-shebangs.sh
+    ]
+      # FIXME this on Darwin; see
+      # https://github.com/NixOS/nixpkgs/commit/94d164dd7#commitcomment-22030369
+    ++ lib.optional result.isLinux ../../build-support/setup-hooks/audit-tmpdir.sh
+    ++ [
       ../../build-support/setup-hooks/multiple-outputs.sh
       ../../build-support/setup-hooks/move-sbin.sh
       ../../build-support/setup-hooks/move-lib64.sh
@@ -265,7 +279,7 @@ let
 
       outputs' =
         outputs ++
-        (if separateDebugInfo then assert result.isLinux; [ "debug" ] else []);
+        (if separateDebugInfo then assert targetPlatform.isLinux; [ "debug" ] else []);
 
       buildInputs' = lib.chooseDevOutputs buildInputs ++
         (if separateDebugInfo then [ ../../build-support/setup-hooks/separate-debug-info.sh ] else []);
@@ -311,7 +325,7 @@ let
           # Inputs built by the usual native compiler.
           nativeBuildInputs = nativeBuildInputs'
             ++ lib.optional
-                (result.isCygwin
+                (hostPlatform.isCygwin
                   || (crossConfig != null && lib.hasSuffix "mingw32" crossConfig))
                 ../../build-support/setup-hooks/win-dll-link.sh
             ;
@@ -392,54 +406,11 @@ let
       };
 
       # Utility flags to test the type of platform.
-      isDarwin = system == "x86_64-darwin";
-      isLinux = system == "i686-linux"
-             || system == "x86_64-linux"
-             || system == "powerpc-linux"
-             || system == "armv5tel-linux"
-             || system == "armv6l-linux"
-             || system == "armv7l-linux"
-             || system == "aarch64-linux"
-             || system == "mips64el-linux";
-      isGNU = system == "i686-gnu"; # GNU/Hurd
-      isGlibc = isGNU # useful for `stdenvNative'
-             || isLinux
-             || system == "x86_64-kfreebsd-gnu";
-      isSunOS = system == "i686-solaris"
-             || system == "x86_64-solaris";
-      isCygwin = system == "i686-cygwin"
-              || system == "x86_64-cygwin";
-      isFreeBSD = system == "i686-freebsd"
-               || system == "x86_64-freebsd";
-      isOpenBSD = system == "i686-openbsd"
-               || system == "x86_64-openbsd";
-      isi686 = system == "i686-linux"
-            || system == "i686-gnu"
-            || system == "i686-freebsd"
-            || system == "i686-openbsd"
-            || system == "i686-cygwin"
-            || system == "i386-sunos";
-      isx86_64 = system == "x86_64-linux"
-              || system == "x86_64-darwin"
-              || system == "x86_64-freebsd"
-              || system == "x86_64-openbsd"
-              || system == "x86_64-cygwin"
-              || system == "x86_64-solaris";
-      is64bit = system == "x86_64-linux"
-             || system == "x86_64-darwin"
-             || system == "x86_64-freebsd"
-             || system == "x86_64-openbsd"
-             || system == "x86_64-cygwin"
-             || system == "x86_64-solaris"
-             || system == "aarch64-linux"
-             || system == "mips64el-linux";
-      isMips = system == "mips-linux"
-            || system == "mips64el-linux";
-      isArm = system == "armv5tel-linux"
-           || system == "armv6l-linux"
-           || system == "armv7l-linux";
-      isAarch64 = system == "aarch64-linux";
-      isBigEndian = system == "powerpc-linux";
+      inherit (hostPlatform)
+        isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD
+        isi686 isx86_64 is64bit isMips isBigEndian;
+      isArm = hostPlatform.isArm32;
+      isAarch64 = hostPlatform.isArm64;
 
       # Whether we should run paxctl to pax-mark binaries.
       needsPax = isLinux;
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index de33ab56598..eb63b18e5f3 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -199,6 +199,18 @@ isELF() {
     if [[ "$magic" =~ ELF ]]; then return 0; else return 1; fi
 }
 
+# Return success if the specified file is a script (i.e. starts with
+# "#!").
+isScript() {
+    local fn="$1"
+    local magic
+    if ! [ -x /bin/sh ]; then return 0; fi
+    exec {fd}< "$fn"
+    read -n 2 -u $fd magic
+    exec {fd}<&-
+    if [[ "$magic" =~ \#! ]]; then return 0; else return 1; fi
+}
+
 
 ######################################################################
 # Initialisation.
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 3a244675b3a..b3399cc29b3 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -52,7 +52,7 @@ let
     let
 
       thisStdenv = import ../generic {
-        inherit system config extraBuildInputs;
+        inherit config extraBuildInputs;
         name = "stdenv-linux-boot";
         preHook =
           ''
@@ -64,6 +64,9 @@ let
         shell = "${bootstrapTools}/bin/bash";
         initialPath = [bootstrapTools];
 
+        hostPlatform = localSystem;
+        targetPlatform = localSystem;
+
         fetchurlBoot = import ../../build-support/fetchurl/boot.nix {
           inherit system;
         };
@@ -261,7 +264,7 @@ in
     targetPlatform = localSystem;
     inherit config overlays;
     stdenv = import ../generic rec {
-      inherit system config;
+      inherit config;
 
       preHook = ''
         # Make "strip" produce deterministic output, by setting
@@ -273,6 +276,9 @@ in
       initialPath =
         ((import ../common-path.nix) {pkgs = prevStage;});
 
+      hostPlatform = localSystem;
+      targetPlatform = localSystem;
+
       extraBuildInputs = [ prevStage.patchelf prevStage.paxctl ] ++
         # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64.
         lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook;
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index 50fd563e7c2..0378891b27a 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -6,91 +6,19 @@ let
   lib = import ../../../lib;
   pkgsFun = import ../../..;
 
-  sheevaplugCrossSystem = {
-    crossSystem = rec {
-      config = "arm-linux-gnueabi";
-      bigEndian = false;
-      arch = "armv5te";
-      float = "soft";
-      withTLS = true;
-      libc = "glibc";
-      platform = lib.systems.platforms.sheevaplug;
-      openssl.system = "linux-generic32";
-      inherit (platform) gcc;
-    };
-  };
-
-  raspberrypiCrossSystem = {
-    crossSystem = rec {
-      config = "arm-linux-gnueabihf";
-      bigEndian = false;
-      arch = "armv6";
-      float = "hard";
-      fpu = "vfp";
-      withTLS = true;
-      libc = "glibc";
-      platform = lib.systems.platforms.raspberrypi;
-      openssl.system = "linux-generic32";
-      inherit (platform) gcc;
-    };
-  };
-
-  armv7l-hf-multiplatform-crossSystem = {
-    crossSystem = rec {
-      config = "arm-linux-gnueabihf";
-      bigEndian = false;
-      arch = "armv7-a";
-      float = "hard";
-      fpu = "vfpv3-d16";
-      withTLS = true;
-      libc = "glibc";
-      platform = lib.systems.platforms.armv7l-hf-multiplatform;
-      openssl.system = "linux-generic32";
-      inherit (platform) gcc;
-    };
-  };
-
-  aarch64-multiplatform-crossSystem = {
-    crossSystem = rec {
-      config = "aarch64-linux-gnu";
-      bigEndian = false;
-      arch = "aarch64";
-      withTLS = true;
-      libc = "glibc";
-      platform = lib.systems.platforms.aarch64-multiplatform;
-      inherit (platform) gcc;
-    };
-  };
-
-  scaleway-c1-crossSystem.crossSystem = armv7l-hf-multiplatform-crossSystem.crossSystem // rec {
-    platform = lib.systems.platforms.scaleway-c1;
-    inherit (platform) gcc;
-    inherit (gcc) fpu;
-  };
-
-  pogoplug4-crossSystem.crossSystem = {
-    arch = "armv5tel";
-    config = "armv5tel-softfloat-linux-gnueabi";
-    float = "soft";
-
-    platform = lib.systems.platforms.pogoplug4;
-
-    inherit (lib.systems.platforms.pogoplug4) gcc;
-    libc = "glibc";
-
-    withTLS = true;
-    openssl.system = "linux-generic32";
-  };
+  inherit (lib.systems.examples)
+    sheevaplug raspberryPi armv7l-hf-multiplatform
+    aarch64-multiplatform scaleway-c1 pogoplug4;
 
   selectedCrossSystem =
-    if toolsArch == "armv5tel" then sheevaplugCrossSystem else
-    if toolsArch == "scaleway" then scaleway-c1-crossSystem else
-    if toolsArch == "pogoplug4" then pogoplug4-crossSystem else
-    if toolsArch == "armv6l" then raspberrypiCrossSystem else
-    if toolsArch == "armv7l" then armv7l-hf-multiplatform-crossSystem else
-    if toolsArch == "aarch64" then aarch64-multiplatform-crossSystem else null;
-
-  pkgs = pkgsFun ({inherit system;} // selectedCrossSystem);
+    if toolsArch == "armv5tel" then sheevaplug else
+    if toolsArch == "scaleway" then scaleway-c1 else
+    if toolsArch == "pogoplug4" then pogoplug4 else
+    if toolsArch == "armv6l" then raspberryPi else
+    if toolsArch == "armv7l" then armv7l-hf-multiplatform else
+    if toolsArch == "aarch64" then aarch64-multiplatform else null;
+
+  pkgs = pkgsFun ({ inherit system; crossSystem = selectedCrossSystem; });
 
   glibc = pkgs.libcCross;
   bash = pkgs.bash;
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index f5c0976bf93..77c868a02f8 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -81,6 +81,9 @@ let
     { cc, fetchurl, extraPath ? [], overrides ? (self: super: { }) }:
 
     import ../generic {
+      hostPlatform = localSystem;
+      targetPlatform = localSystem;
+
       preHook =
         if system == "i686-freebsd" then prehookFreeBSD else
         if system == "x86_64-freebsd" then prehookFreeBSD else
diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix
index 9aece3ce829..ef088ecbf64 100644
--- a/pkgs/stdenv/nix/default.nix
+++ b/pkgs/stdenv/nix/default.nix
@@ -24,11 +24,11 @@ bootStages ++ [
 
       initialPath = (import ../common-path.nix) { pkgs = prevStage; };
 
-      system = stdenv.system;
+      inherit (prevStage.stdenv) hostPlatform targetPlatform;
 
       cc = import ../../build-support/cc-wrapper {
         nativeTools = false;
-        nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr";
+        nativePrefix = stdenv.lib.optionalString hostPlatform.isSunOS "/usr";
         nativeLibc = true;
         inherit stdenv;
         inherit (prevStage) binutils coreutils gnugrep;
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index 16e339b41c2..a1d3a059a83 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -29,15 +29,16 @@ stdenv.mkDerivation rec {
 
   postInstall = stdenv.lib.optionalString mimiSupport ''
     cp ${mimisrc}/xdg-open $out/bin/xdg-open
-  ''
-  + ''
-    for tool in "${coreutils}/bin/cut" "${gnused}/bin/sed" \
-      "${gnugrep}"/bin/{e,}grep "${file}/bin/file" \
-      ${stdenv.lib.optionalString mimiSupport
-        '' "${gawk}/bin/awk" "${coreutils}/bin/sort" ''} ;
-    do
-      sed "s# $(basename "$tool") # $tool #g" -i "$out"/bin/*
-    done
+  '' + ''
+    sed  '2s#.#\
+    cut()   { ${coreutils}/bin/cut  "$@"; }\
+    sed()   { ${gnused}/bin/sed     "$@"; }\
+    grep()  { ${gnugrep}/bin/grep   "$@"; }\
+    egrep() { ${gnugrep}/bin/egrep  "$@"; }\
+    file()  { ${file}/bin/file      "$@"; }\
+    awk()   { ${gawk}/bin/awk       "$@"; }\
+    sort()  { ${coreutils}/bin/sort "$@"; }\
+    &#' -i "$out"/bin/*
 
     substituteInPlace $out/bin/xdg-open \
       --replace "/usr/bin/printf" "${coreutils}/bin/printf"
diff --git a/pkgs/tools/admin/daemontools/default.nix b/pkgs/tools/admin/daemontools/default.nix
index 5594368b04f..7e8c1bccc3e 100644
--- a/pkgs/tools/admin/daemontools/default.nix
+++ b/pkgs/tools/admin/daemontools/default.nix
@@ -2,40 +2,42 @@
 
 stdenv.mkDerivation rec {
   name = "daemontools-0.76";
-  
+
   src = fetchurl {
     url = "https://cr.yp.to/daemontools/${name}.tar.gz";
     sha256 = "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5";
   };
-  
+
+  patches = [ ./fix-nix-usernamespace-build.patch ];
+
   configurePhase = ''
     cd ${name}
-    
+
     sed -ie '1 s_$_ -include ${glibc.dev}/include/errno.h_' src/conf-cc
-    
+
     substituteInPlace src/Makefile \
       --replace '/bin/sh' '${bash}/bin/bash -oxtrace'
-    
+
     sed -ie "s_^PATH=.*_PATH=$src/${name}/compile:''${PATH}_" src/rts.tests
-    
+
     cat ${glibc.dev}/include/errno.h
   '';
-  
+
   buildPhase = ''
     package/compile
   '';
-  
+
   installPhase = ''
     for cmd in $(cat package/commands); do
       install -Dm755 "command/$cmd" "$out/bin/$cmd"
     done
   '';
-  
+
   meta = {
     license = stdenv.lib.licenses.publicDomain;
     homepage = https://cr.yp.to/daemontools.html;
     description = "A collection of tools for managing UNIX services.";
-    
+
     maintainers = with stdenv.lib.maintainers; [ kevincox ];
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/tools/admin/daemontools/fix-nix-usernamespace-build.patch b/pkgs/tools/admin/daemontools/fix-nix-usernamespace-build.patch
new file mode 100644
index 00000000000..9b784e7ca11
--- /dev/null
+++ b/pkgs/tools/admin/daemontools/fix-nix-usernamespace-build.patch
@@ -0,0 +1,10 @@
+--- admin.org/daemontools-0.76/src/chkshsgr.c	2001-07-12 17:49:49.000000000 +0100
++++ admin/daemontools-0.76/src/chkshsgr.c	2017-05-31 23:54:56.662174028 +0100
+@@ -4,6 +4,7 @@
+ 
+ int main()
+ {
++  return 0;
+   short x[4];
+ 
+   x[0] = x[1] = 0;
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 40647f73379..cba686f9c4c 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "lxd-${version}";
-  version = "2.0.2";
+  version = "2.12";
   rev = "lxd-${version}";
 
   goPackagePath = "github.com/lxc/lxd";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "lxc";
     repo = "lxd";
-    sha256 = "1rs9g1snjymg6pjz5bj77zk5wbs0w8xmrfxzqs32w6zr1dxhf9hs";
+    sha256 = "1znqsf6iky21kddvl13bf0lsj65czabwysdbvha24lm16s51mv0p";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/tools/admin/lxd/deps.nix b/pkgs/tools/admin/lxd/deps.nix
index 7325100bb3a..e0f591a23d1 100644
--- a/pkgs/tools/admin/lxd/deps.nix
+++ b/pkgs/tools/admin/lxd/deps.nix
@@ -1,20 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
 [
   {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "a83829b6f1293c91addabc89d0571c246397bbf4";
-      sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
+    goPackagePath = "github.com/dustinkirkland/golang-petname";
     fetch = {
       type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6";
-      sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa";
+      url = "https://github.com/dustinkirkland/golang-petname";
+      rev = "4f77bdee0b67a08d17afadc0d5a4a3d1cb7d8d14";
+      sha256 = "1cizm3xywsp9vc381k02dhjq5a6c772wc05w60m4gfdmp2kmd4di";
     };
   }
   {
@@ -22,17 +14,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "59b73b37c1e45995477aae817e4a653c89a858db";
-      sha256 = "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa";
+      rev = "2bba0603135d7d7f5cb73b2125beeda19c09f4ef";
+      sha256 = "1xy0bj66qks2xlzxzlfma16w7m8g6rrwawmlhlv68bcw2k5hvvib";
     };
   }
   {
-    goPackagePath = "gopkg.in/tomb.v2";
+    goPackagePath = "github.com/gorilla/mux";
     fetch = {
       type = "git";
-      url = "https://gopkg.in/tomb.v2";
-      rev = "14b3d72120e8d10ea6e6b7f87f7175734b1faab8";
-      sha256 = "1nza31jvkpka5431c4bdbirvjdy36b1b55sbzljqhqih25jrcjx5";
+      url = "https://github.com/gorilla/mux";
+      rev = "599cba5e7b6137d46ddf58fb1765f5d928e69604";
+      sha256 = "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz";
     };
   }
   {
@@ -40,35 +32,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev = "a622679ebd7a3b813862379232f645f8e690e43f";
-      sha256 = "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q";
+      rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
+      sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
     };
   }
   {
-    goPackagePath = "github.com/syndtr/gocapability";
-    fetch = {
-      type = "git";
-      url = "https://github.com/syndtr/gocapability";
-      rev = "2c00daeb6c3b45114c80ac44119e7b8801fdd852";
-      sha256 = "1x7jdcg2r5pakjf20q7bdiidfmv7vcjiyg682186rkp2wz0yws0l";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/inconshreveable/log15.v2";
+    goPackagePath = "github.com/mattn/go-colorable";
     fetch = {
       type = "git";
-      url = "https://gopkg.in/inconshreveable/log15.v2";
-      rev = "b105bd37f74e5d9dc7b6ad7806715c7a2b83fd3f";
-      sha256 = "18rldvi60i7b3lljfrsqgcc24gdkw2pcixxydznyggaqhh96l6a8";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "ded68f7a9561c023e790de24279db7ebf473ea80";
+      sha256 = "0q019h59jq815jfl9rgk4yrpkn5rpcx9s6dksdm48rp1abafwvfc";
     };
   }
   {
-    goPackagePath = "github.com/gorilla/mux";
+    goPackagePath = "github.com/mattn/go-sqlite3";
     fetch = {
       type = "git";
-      url = "https://github.com/gorilla/mux";
-      rev = "8096f47503459bcc74d1f4c487b7e6e42e5746b5";
-      sha256 = "0163fm9jsh54df471mx9kfhdg0070klqhw9ja0qwdzqibxq791b9";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "cf7286f069c3ef596efcc87781a4653a2e7607bd";
+      sha256 = "19ipf6bf1xd7w2fm8dnv5my4jp3lhwhlrhfwhwq559amp1h4nwyq";
     };
   }
   {
@@ -76,98 +59,107 @@
     fetch = {
       type = "git";
       url = "https://github.com/pborman/uuid";
-      rev = "ca53cad383cad2479bbba7f7a1a05797ec1386e4";
-      sha256 = "0rcx669bbjkkwdlw81spnra4ffgzd4rbpywnrj3w41m9vq6mk1gn";
+      rev = "1b00554d822231195d1babd97ff4a781231955c9";
+      sha256 = "0rjkcf85sagdwzsycj1bbjyx5bgmrc1i8l5qf1f44z24rhbbkaan";
     };
   }
   {
-    goPackagePath = "gopkg.in/flosch/pongo2.v3";
+    goPackagePath = "github.com/syndtr/gocapability";
     fetch = {
       type = "git";
-      url = "https://gopkg.in/flosch/pongo2.v3";
-      rev = "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9";
-      sha256 = "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8";
+      url = "https://github.com/syndtr/gocapability";
+      rev = "e7cb7fa329f456b3855136a2642b197bad7366ba";
+      sha256 = "1i65kyjhbaya45zj9zqkb17plbqf92sfvl9fcz9s9qslg0qab2i1";
     };
   }
   {
-    goPackagePath = "github.com/olekukonko/tablewriter";
+    goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
-      url = "https://github.com/olekukonko/tablewriter";
-      rev = "cca8bbc0798408af109aaaa239cbd2634846b340";
-      sha256 = "0f9ph3z7lh6p6gihbl1461j9yq5qiaqxr9mzdkp512n18v89ml48";
+      url = "https://go.googlesource.com/crypto";
+      rev = "3543873453996aaab2fc6b3928a35fc5ca2b5afb";
+      sha256 = "1d7pjqzh5893mzkz60bv5ypmr9zgyvb9z2gvcjrsqniwcqlhbk2c";
     };
   }
   {
-    goPackagePath = "github.com/mattn/go-sqlite3";
+    goPackagePath = "golang.org/x/net";
     fetch = {
       type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev = "b4142c444a8941d0d92b0b7103a24df9cd815e42";
-      sha256 = "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla";
+      url = "https://go.googlesource.com/net";
+      rev = "da118f7b8e5954f39d0d2130ab35d4bf0e3cb344";
+      sha256 = "09xpndqc6a2r0lw42cyl1pkhfddl01sd9c3qqjjwp3vmxm004whv";
     };
   }
   {
-    goPackagePath = "gopkg.in/lxc/go-lxc.v2";
+    goPackagePath = "gopkg.in/flosch/pongo2.v3";
     fetch = {
       type = "git";
-      url = "https://gopkg.in/lxc/go-lxc.v2";
-      rev = "8f9e220b36393c03854c2d224c5a55644b13e205";
-      sha256 = "1dc1n2561k3pxbm2zzh3qwlh30bcb2k9v22ghvr7ps2j9lmhs0ip";
+      url = "https://gopkg.in/flosch/pongo2.v3";
+      rev = "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9";
+      sha256 = "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8";
     };
   }
   {
-    goPackagePath = "github.com/mattn/go-runewidth";
+    goPackagePath = "gopkg.in/inconshreveable/log15.v2";
     fetch = {
       type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "d6bea18f789704b5f83375793155289da36a3c7f";
-      sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs";
+      url = "https://gopkg.in/inconshreveable/log15.v2";
+      rev = "b105bd37f74e5d9dc7b6ad7806715c7a2b83fd3f";
+      sha256 = "18rldvi60i7b3lljfrsqgcc24gdkw2pcixxydznyggaqhh96l6a8";
     };
   }
   {
-    goPackagePath = "github.com/coreos/go-systemd";
+    goPackagePath = "gopkg.in/lxc/go-lxc.v2";
     fetch = {
       type = "git";
-      url = "https://github.com/coreos/go-systemd";
-      rev = "a606a1e936df81b70d85448221c7b1c6d8a74ef1";
-      sha256 = "0fhan564swp982dnzzspb6jzfdl453489c0qavh65g3shy5x8x28";
+      url = "https://gopkg.in/lxc/go-lxc.v2";
+      rev = "8304875cc3423823032ec93556beee076c6ba687";
+      sha256 = "12vrx9ilxkl1nxc5k81c6b2a1i715843r23fra681digdjnd8bpk";
     };
   }
   {
-    goPackagePath = "github.com/dustinkirkland/golang-petname";
+    goPackagePath = "gopkg.in/tomb.v2";
     fetch = {
       type = "git";
-      url = "https://github.com/dustinkirkland/golang-petname";
-      rev = "2182cecef7f257230fc998bc351a08a5505f5e6c";
-      sha256 = "1xagj34y5rxl7rykhil8iqxlls9rbgcxgdvgfp7kg39pinw83arl";
+      url = "https://gopkg.in/tomb.v2";
+      rev = "d5d1b5820637886def9eef33e03a27a9f166942c";
+      sha256 = "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10";
     };
   }
   {
-    goPackagePath = "github.com/gorilla/context";
+    goPackagePath = "gopkg.in/yaml.v2";
     fetch = {
       type = "git";
-      url = "https://github.com/gorilla/context";
-      rev = "215affda49addc4c8ef7e2534915df2c8c35c6cd";
-      sha256 = "1ybvjknncyx1f112mv28870n0l7yrymsr0861vzw10gc4yn1h97g";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
+      sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
     };
   }
   {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "3dac7b4f76f6e17fb39b768b89e3783d16e237fe";
-      sha256 = "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6";
-    };
+      goPackagePath = "github.com/gosexy/gettext";
+      fetch = {
+        type = "git";
+        url = "https://github.com/gosexy/gettext";
+        rev = "74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b";
+        sha256 = "0asphx8nd7zmp88wk6aakk5292np7yw73akvfdvlvs9q5r5ahkgi";
+      };
   }
   {
-    goPackagePath = "github.com/gosexy/gettext";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosexy/gettext";
-      rev = "305f360aee30243660f32600b87c3c1eaa947187";
-      sha256 = "0sm7ziv56ms0lrk30ipbl6i17azar3a44dd2xvr011442zs5ym09";
-    };
+      goPackagePath = "github.com/olekukonko/tablewriter";
+      fetch = {
+        type = "git";
+        url = "https://github.com/olekukonko/tablewriter";
+        rev = "febf2d34b54a69ce7530036c7503b1c9fbfdf0bb";
+        sha256 = "1ir7bs4m5rk8v9vpycjj7mn6sc6j9wvxkd63i9b6fmrdsx9q0x4g";
+      };
+  }
+  {
+      goPackagePath = "github.com/mattn/go-runewidth";
+      fetch = {
+        type = "git";
+        url = "https://github.com/mattn/go-runewidth";
+        rev = "14207d285c6c197daabb5c9793d63e7af9ab2d50";
+        sha256 = "0y6yq9zd4kh7fimnc00r3h9pr2pwa5j85b3jcn5dyfamsnm2xdsv";
+      };
   }
 ]
diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix
index 499bccaa425..5e63c7cfaab 100644
--- a/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -1,7 +1,10 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl, unzip
+, buildPlatform, hostPlatform
+}:
+
 let
-  s = # Generated upstream information
-  rec {
+  # Generated upstream information
+  s = rec {
     baseName="zpaqd";
     version="715";
     name="${baseName}-${version}";
@@ -9,15 +12,12 @@ let
     url="http://mattmahoney.net/dc/zpaqd715.zip";
     sha256="0868lynb45lm79yvx5f10lj5h6bfv0yck8whcls2j080vmk3n7rk";
   };
-  isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
-  isx86 = stdenv.isi686 || stdenv.isx86_64;
-  compileFlags = with stdenv; ""
-    + (lib.optionalString (isUnix) " -Dunix -pthread")
-    + (lib.optionalString (isi686) " -march=i686")
-    + (lib.optionalString (isx86_64) " -march=nocona")
-    + (lib.optionalString (!isx86) " -DNOJIT")
-    + " -O3 -mtune=generic -DNDEBUG"
-    ;
+
+  compileFlags = stdenv.lib.concatStringsSep " " ([ "-O3" "-mtune=generic" "-DNDEBUG" ]
+    ++ stdenv.lib.optional (hostPlatform.isUnix) "-Dunix -pthread"
+    ++ stdenv.lib.optional (hostPlatform.isi686) "-march=i686"
+    ++ stdenv.lib.optional (hostPlatform.isx86_64) "-march=nocona"
+    ++ stdenv.lib.optional (!hostPlatform.isx86) "-DNOJIT");
 in
 stdenv.mkDerivation {
   inherit (s) name version;
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index c1418d152dd..35b4557a33c 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, writeScript, glibcLocales
+{ stdenv, fetchFromGitHub, writeScript, glibcLocales, diffPlugins
 , pythonPackages, imagemagick, gobjectIntrospection, gst_all_1
 
 , enableAcousticbrainz ? true
@@ -158,20 +158,13 @@ in pythonPackages.buildPythonApplication rec {
   doCheck = true;
 
   preCheck = ''
-    (${concatMapStrings (s: "echo \"${s}\";") allPlugins}) \
-      | sort -u > plugins_defined
     find beetsplug -mindepth 1 \
       \! -path 'beetsplug/__init__.py' -a \
       \( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \
       | sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \
       | sort -u > plugins_available
 
-    if ! mismatches="$(diff -y plugins_defined plugins_available)"; then
-      echo "The the list of defined plugins (left side) doesn't match" \
-           "the list of available plugins (right side):" >&2
-      echo "$mismatches" >&2
-      exit 1
-    fi
+     ${diffPlugins allPlugins "plugins_available"}
   '';
 
   checkPhase = ''
diff --git a/pkgs/tools/audio/pnmixer/default.nix b/pkgs/tools/audio/pnmixer/default.nix
index 9827cc47243..385021b7354 100644
--- a/pkgs/tools/audio/pnmixer/default.nix
+++ b/pkgs/tools/audio/pnmixer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pnmixer-${version}";
-  version = "0.7.1-rc1";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "nicklan";
     repo = "pnmixer";
     rev = "v${version}";
-    sha256 = "0ns7s1jsc7fc3fvs9m3xwbv1fk1410cqc5w1cmia1mlzy94r3r6p";
+    sha256 = "0mmrq4m2rk0wmkfmqs3fk2rnw5g5lvd7ill2s3d7ggf9vba1pcn2";
   };
 
   nativeBuildInputs = [ cmake pkgconfig gettext ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://github.com/nicklan/pnmixer;
-    description = "ALSA mixer for the system tray";
+    description = "ALSA volume mixer for the system tray";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ campadrenalin romildo ];
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index b816aac99a1..742c1cafc93 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "restic-${version}";
-  version = "0.5.0";
+  version = "0.6.1";
 
   goPackagePath = "github.com/restic/restic";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "0dj6zg4b00pwgs6nj7w5s0jxm6cfavd9kdcq0z4spypwdf211cgl";
+    sha256 = "1rp4s1gh07j06457rhl4r0qnxqn0h7n4i8k50akdr87nwyikkn17";
   };
 
   buildPhase = ''
@@ -28,5 +28,6 @@ buildGoPackage rec {
     description = "A backup program that is fast, efficient and secure";
     platforms = platforms.linux;
     license = licenses.bsd2;
+    maintainers = [ maintainers.mbrgm ];
   };
 }
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 0c298aa1f21..db0c2c26d3c 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -33,7 +33,8 @@ in stdenv.mkDerivation rec {
 
   preFixup = ''
     makeWrapperArgs="--prefix PATH ':' ${binPath}"
-    wrapPythonPrograms
+    wrapPythonProgramsIn "$out/bin" "$pythonPath"
+    wrapPythonProgramsIn "$out/libexec" "$pythonPath"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix
index 288cd14c16b..1eedff5c011 100644
--- a/pkgs/tools/filesystems/bcache-tools/default.nix
+++ b/pkgs/tools/filesystems/bcache-tools/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, utillinux }:
+{ stdenv, fetchurl, pkgconfig, utillinux, bash }:
 
 stdenv.mkDerivation rec {
   name = "bcache-tools-${version}";
   version = "1.0.7";
 
   src = fetchurl {
+    name = "${name}.tar.gz";
     url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz";
     sha256 = "1gbsh2qw0a7kgck6w0apydiy37nnz5xvdgipa0yqrfmghl86vmv4";
   };
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
 
   preBuild = ''
     export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\"";
+    sed -e "s|/bin/sh|${bash}/bin/sh|" -i *.rules
   '';
 
   preInstall = ''
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 4689207e835..60e49486454 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,32 +1,87 @@
 {stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python2, ncurses, readline,
- autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite
- , liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which
+ autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite,
+ liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which, python2Packages,
+ openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd,
+ rsync, glibc
 }:
-let 
+let
   s =
   rec {
     baseName="glusterfs";
-    version = "3.10.1";
+    # NOTE: On each glusterfs release, it should be checked if gluster added
+    #       new, or changed, Python scripts whose PYTHONPATH has to be set in
+    #       `postFixup` below, and whose runtime deps need to go into
+    #       `nativeBuildInputs`.
+    #       The command
+    #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
+    #       can help with finding new Python scripts.
+    version = "3.10.2";
     name="${baseName}-${version}";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.10/${version}/glusterfs-${version}.tar.gz";
-    sha256 = "05qmn85lg3d1gz0fhn1v2z7nwl2qwbflvjc8nvkfyr4r57rkvhnk";
+    url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
+    sha256 = "09hpvw42sc77nc3bfv7395wjn7fxvp0n8qnmrlyxq83hf0w81gfs";
   };
   buildInputs = [
-    fuse bison flex_2_5_35 openssl python2 ncurses readline
+    fuse bison flex_2_5_35 openssl ncurses readline
     autoconf automake libtool pkgconfig zlib libaio libxml2
     acl sqlite liburcu attr makeWrapper
+    (python2.withPackages (pkgs: [
+      pkgs.flask
+      pkgs.prettytable
+      pkgs.requests
+      pkgs.xattr
+    ]))
+    # NOTE: `python2` has to be *AFTER* the above `python2.withPackages`,
+    #       to ensure that the packages are available but the `toPythonPath`
+    #       shell function used in `postFixup` is also still available.
+    python2
   ];
   # Some of the headers reference acl
   propagatedBuildInputs = [
     acl
   ];
+  # Packages from which GlusterFS calls binaries at run-time from PATH,
+  # with comments on which commands are known to be called by it.
+  runtimePATHdeps = [
+    attr # getfattr setfattr
+    btrfs-progs # btrfs
+    coreutils # lots of commands in bash scripts
+    e2fsprogs # tune2fs
+    findutils # find
+    gawk # awk
+    glibc # getent
+    gnugrep # grep
+    gnused # sed
+    lvm2 # lvs
+    openssh # ssh
+    rsync # rsync, e.g. for geo-replication
+    systemd # systemctl
+    utillinux # mount umount
+    which # which
+    xfsprogs # xfs_info
+  ];
 in
 stdenv.mkDerivation
 rec {
   inherit (s) name version;
   inherit buildInputs propagatedBuildInputs;
 
-  preConfigure = ''
+  patches = [
+    ./glusterfs-use-PATH-instead-of-hardcodes.patch
+    ./glusterfs-fix-unsubstituted-autoconf-macros.patch
+    ./glusterfs-python-remove-find_library.patch
+  ];
+
+   # Note that the VERSION file is something that is present in release tarballs
+   # but not in git tags (at least not as of writing in v3.10.1).
+   # That's why we have to create it.
+   # Without this, gluster (at least 3.10.1) will fail very late and cryptically,
+   # for example when setting up geo-replication, with a message like
+   #   Staging of operation 'Volume Geo-replication Create' failed on localhost : Unable to fetch master volume details. Please check the master cluster and master volume.
+   # What happens here is that the gverify.sh script tries to compare the versions,
+   # but fails when the version is empty.
+   # See upstream GlusterFS bug https://bugzilla.redhat.com/show_bug.cgi?id=1452705
+   preConfigure = ''
+     echo "v${s.version}" > VERSION
     ./autogen.sh
     '';
 
@@ -36,18 +91,78 @@ rec {
 
   makeFlags = "DESTDIR=$(out)";
 
-  preInstall = ''
-    substituteInPlace api/examples/Makefile --replace '$(DESTDIR)' $out
-    substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out
-    substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out
-    substituteInPlace xlators/features/glupy/examples/Makefile --replace '$(DESTDIR)' $out
-    substituteInPlace xlators/features/glupy/src/Makefile --replace '$(DESTDIR)' $out
-    '';
+  enableParallelBuilding = true;
 
   postInstall = ''
     cp -r $out/$out/* $out
     rm -r $out/nix
-    wrapProgram $out/sbin/mount.glusterfs --set PATH "${stdenv.lib.makeBinPath [ coreutils gnused attr gnugrep which]}"
+    '';
+
+  postFixup = ''
+    # glusterd invokes `gluster` and other utilities when telling other glusterd nodes to run commands.
+    # For example for `peer_georep-sshkey` key generation, so `$out/bin` is needed in the PATH.
+    # It also invokes bash scripts like `gverify.sh`.
+    # It also invokes executable Python scripts in `$out/libexec/glusterfs`, which is why we set up PYTHONPATH accordingly.
+    # We set up the paths for the main entry point executables.
+
+    GLUSTER_PATH="${stdenv.lib.makeBinPath runtimePATHdeps}:$out/bin"
+    GLUSTER_PYTHONPATH="$(toPythonPath $out):$out/libexec/glusterfs"
+    GLUSTER_LD_LIBRARY_PATH="$out/lib"
+
+    wrapProgram $out/bin/glusterd --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/bin/gluster --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/sbin/mount.glusterfs --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+
+    # Set Python environment for the Python based utilities.
+    # It would be nice if there was a better way to do this, automatically for all of them.
+    # Also, this is brittle: If we forget a dependency or gluster adds a new one, things will break deep inside gluster.
+    # We should better try to get an explicit list of Python dependencies from gluster and ensure all of them are in the PYTHONPATH of all these python scripts.
+    # But at the time of writing (gluster 3.10), gluster only provides this in form of a gluster.spec file for RPM creation,
+    # and even that one is not complete (for example it doesn't mention the `flask` dependency).
+
+    wrapProgram $out/bin/gluster-eventsapi --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/bin/gluster-georep-sshkey --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/bin/gluster-mountbroker --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/bin/glusterfind --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+
+    # Note that we only wrap the symlinks in $out/bin, not the actual executable scripts in $out/libexec/glusterfs.
+    # This is because those scripts use `__file__` in their program logic
+    # (see https://github.com/gluster/glusterfs/blob/v3.10.1/extras/cliutils/cliutils.py#L116)
+    # which would break if we changed the file name (which is what `wrapProgram` does).
+    # Luckily, `libexec` scripts are never supposed to be invoked straight from PATH,
+    # instead they are invoked directly from `gluster` or `glusterd`, which is why it is
+    # sufficient to set PYTHONPATH for those executables.
+
+    wrapProgram $out/share/glusterfs/scripts/eventsdash.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    '';
+
+  doInstallCheck = true;
+
+  # Below we run Python programs. That generates .pyc/.pyo files.
+  # By default they are indeterministic because such files contain time stamps
+  # (see https://nedbatchelder.com/blog/200804/the_structure_of_pyc_files.html).
+  # So we use the same environment variables as in
+  #   https://github.com/NixOS/nixpkgs/blob/249b34aadca7038207492f29142a3456d0cecec3/pkgs/development/interpreters/python/mk-python-derivation.nix#L61
+  # to make these files deterministic.
+  # A general solution to this problem might be brought by #25707.
+  DETERMINISTIC_BUILD = 1;
+  PYTHONHASHSEED = 0;
+
+  installCheckPhase = ''
+    # Tests that the above programs work without import errors.
+    # For testing it manually in a shell you may want to substitute `$out` with `$(dirname $(readlink -f $(which gluster)))/../`.
+    $out/bin/glusterd --help
+    # $out/bin/gluster help # can't do this because even `gluster help` tries to write to `/var/log/glusterfs/cli.log`
+    $out/bin/gluster-eventsapi --help
+    $out/bin/gluster-georep-sshkey --help
+    $out/bin/gluster-mountbroker --help
+    $out/bin/glusterfind --help
+    # gfid_to_path.py doesn't accept --help, and it requires different arguments
+    # (a dir as single argument) than the usage prints when stdin is not a TTY.
+    # The `echo ""` is just so that stdin is not a TTY even if you try this line
+    # on a real TTY for testing purposes.
+    echo "" | (mkdir -p nix-test-dir-for-gfid_to_path && touch b && $out/libexec/glusterfs/gfind_missing_files/gfid_to_path.py nix-test-dir-for-gfid_to_path)
+    $out/share/glusterfs/scripts/eventsdash.py --help
     '';
 
   src = fetchurl {
@@ -60,7 +175,7 @@ rec {
     maintainers = [
       stdenv.lib.maintainers.raskin
     ];
-    platforms = with stdenv.lib.platforms; 
+    platforms = with stdenv.lib.platforms;
       linux ++ freebsd;
   };
 }
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-fix-unsubstituted-autoconf-macros.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-unsubstituted-autoconf-macros.patch
new file mode 100644
index 00000000000..de3c2fa9f62
--- /dev/null
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-unsubstituted-autoconf-macros.patch
@@ -0,0 +1,236 @@
+From b37e0222a6a60505868a6fbb8591608cdc4bba57 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Sat, 13 May 2017 15:33:27 +0200
+Subject: [PATCH] Revert "build/packaging: Debian and Ubuntu don't have
+ /usr/libexec". Fixes #1450588
+
+This reverts commit 18509e436f8a728ef522f3e76e2f2dc30e1bd8ac.
+
+This fixes autoconf unsubstituted strings to appear in generated source code.
+---
+ cli/src/Makefile.am                      |  2 +-
+ configure.ac                             | 12 ++++++------
+ events/src/Makefile.am                   |  8 ++++----
+ extras/Makefile.am                       |  2 +-
+ geo-replication/src/Makefile.am          |  8 ++++----
+ geo-replication/syncdaemon/Makefile.am   |  2 +-
+ tools/gfind_missing_files/Makefile.am    |  4 ++--
+ tools/glusterfind/Makefile.am            |  4 ++--
+ tools/glusterfind/src/Makefile.am        |  2 +-
+ xlators/features/ganesha/src/Makefile.am |  2 +-
+ xlators/mgmt/glusterd/src/Makefile.am    |  2 +-
+ 11 files changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/cli/src/Makefile.am b/cli/src/Makefile.am
+index 5ef9389..f5b8d00 100644
+--- a/cli/src/Makefile.am
++++ b/cli/src/Makefile.am
+@@ -18,7 +18,7 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) \
+ 	-I$(top_builddir)/rpc/xdr/src\
+ 	-DDATADIR=\"$(localstatedir)\" \
+ 	-DCONFDIR=\"$(sysconfdir)/glusterfs\" \
+-	-DGSYNCD_PREFIX=\"$(GLUSTERFS_LIBEXECDIR)\"\
++	-DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\"\
+ 	-DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) -DSBIN_DIR=\"$(sbindir)\"\
+ 	$(XML_CPPFLAGS)
+ 
+diff --git a/configure.ac b/configure.ac
+index c9742e2..0c3a386 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1056,24 +1056,24 @@ old_prefix=$prefix
+ if test "x$prefix" = xNONE; then
+ 	prefix=$ac_default_prefix
+ fi
+-GLUSTERFS_LIBEXECDIR="$libexecdir/glusterfs"
+-GLUSTERFSD_MISCDIR="$prefix/var/lib/misc/glusterfsd"
++GLUSTERFS_LIBEXECDIR="$(eval echo $prefix)/libexec/glusterfs"
++GLUSTERFSD_MISCDIR="$(eval echo $prefix)/var/lib/misc/glusterfsd"
+ prefix=$old_prefix
+ 
+ ### Dirty hacky stuff to make LOCALSTATEDIR work
+ if test "x$prefix" = xNONE; then
+-   test $localstatedir = '$prefix/var' && localstatedir=$ac_default_prefix/var
++   test $localstatedir = '${prefix}/var' && localstatedir=$ac_default_prefix/var
+    localstatedir=/var
+-   LOCALSTATEDIR=$localstatedir
++   LOCALSTATEDIR=$(eval echo ${localstatedir})
+ else
+-   LOCALSTATEDIR=$localstatedir
++   LOCALSTATEDIR=$(eval echo ${localstatedir})
+ fi
+ 
+ old_prefix=$prefix
+ if test "x$prefix" = xNONE; then
+     prefix=$ac_default_prefix
+ fi
+-GLUSTERD_VOLFILE="$sysconfdir/glusterfs/glusterd.vol"
++GLUSTERD_VOLFILE="$(eval echo ${sysconfdir})/glusterfs/glusterd.vol"
+ prefix=$old_prefix
+ 
+ 
+diff --git a/events/src/Makefile.am b/events/src/Makefile.am
+index 8493abd..87282c6 100644
+--- a/events/src/Makefile.am
++++ b/events/src/Makefile.am
+@@ -5,7 +5,7 @@ EXTRA_DIST = glustereventsd.py __init__.py  eventsapiconf.py.in \
+ BUILT_SOURCES = eventtypes.py
+ CLEANFILES = eventtypes.py
+ 
+-eventsdir = $(GLUSTERFS_LIBEXECDIR)/events
++eventsdir = $(libexecdir)/glusterfs/events
+ events_PYTHON = __init__.py gf_event.py eventsapiconf.py eventtypes.py \
+ 	utils.py
+ 
+@@ -13,7 +13,7 @@ eventtypes.py: $(top_srcdir)/events/eventskeygen.py
+ 	$(PYTHON) $(top_srcdir)/events/eventskeygen.py PY_HEADER
+ 
+ if BUILD_EVENTS
+-eventspeerscriptdir = $(GLUSTERFS_LIBEXECDIR)
++eventspeerscriptdir = $(libexecdir)/glusterfs
+ eventsconfdir = $(sysconfdir)/glusterfs
+ eventsconf_DATA = eventsconfig.json
+ 
+@@ -24,10 +24,10 @@ eventspeerscript_SCRIPTS = peer_eventsapi.py
+ install-exec-hook:
+ 	$(mkdir_p) $(DESTDIR)$(sbindir)
+ 	rm -f $(DESTDIR)$(sbindir)/glustereventsd
+-	ln -s $(GLUSTERFS_LIBEXECDIR)/events/glustereventsd.py \
++	ln -s $(libexecdir)/glusterfs/events/glustereventsd.py \
+ 		$(DESTDIR)$(sbindir)/glustereventsd
+ 	rm -f $(DESTDIR)$(sbindir)/gluster-eventsapi
+-	ln -s $(GLUSTERFS_LIBEXECDIR)/peer_eventsapi.py \
++	ln -s $(libexecdir)/glusterfs/peer_eventsapi.py \
+ 		$(DESTDIR)$(sbindir)/gluster-eventsapi
+ 
+ uninstall-hook:
+diff --git a/extras/Makefile.am b/extras/Makefile.am
+index 9dfc93d..53ac476 100644
+--- a/extras/Makefile.am
++++ b/extras/Makefile.am
+@@ -1,4 +1,4 @@
+-addonexecdir = $(GLUSTERFS_LIBEXECDIR)
++addonexecdir = $(libexecdir)/glusterfs
+ addonexec_SCRIPTS = peer_add_secret_pub
+ 
+ EditorModedir = $(docdir)
+diff --git a/geo-replication/src/Makefile.am b/geo-replication/src/Makefile.am
+index 9937a0b..87435d5 100644
+--- a/geo-replication/src/Makefile.am
++++ b/geo-replication/src/Makefile.am
+@@ -1,4 +1,4 @@
+-gsyncddir = $(GLUSTERFS_LIBEXECDIR)
++gsyncddir = $(libexecdir)/glusterfs
+ 
+ gsyncd_SCRIPTS = gverify.sh peer_gsec_create \
+ 	set_geo_rep_pem_keys.sh peer_mountbroker peer_mountbroker.py \
+@@ -21,7 +21,7 @@ noinst_HEADERS = procdiggy.h
+ 
+ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
+ 	-I$(top_srcdir)/rpc/xdr/src -I$(top_builddir)/rpc/xdr/src \
+-	-DGSYNCD_PREFIX=\"$(GLUSTERFS_LIBEXECDIR)\" -DUSE_LIBGLUSTERFS \
++	-DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\" -DUSE_LIBGLUSTERFS \
+ 	-DSBIN_DIR=\"$(sbindir)\" -DPYTHON=\"$(PYTHON)\"
+ 
+ AM_CFLAGS = -Wall $(GF_CFLAGS)
+@@ -35,11 +35,11 @@ $(top_builddir)/libglusterfs/src/libglusterfs.la:
+ install-exec-hook:
+ 	$(mkdir_p) $(DESTDIR)$(sbindir)
+ 	rm -f $(DESTDIR)$(sbindir)/gluster-mountbroker
+-	ln -s $(GLUSTERFS_LIBEXECDIR)/peer_mountbroker.py \
++	ln -s $(libexecdir)/glusterfs/peer_mountbroker.py \
+ 		$(DESTDIR)$(sbindir)/gluster-mountbroker
+ 
+ 	rm -f $(DESTDIR)$(sbindir)/gluster-georep-sshkey
+-	ln -s $(GLUSTERFS_LIBEXECDIR)/peer_georep-sshkey.py \
++	ln -s $(libexecdir)/glusterfs/peer_georep-sshkey.py \
+ 		$(DESTDIR)$(sbindir)/gluster-georep-sshkey
+ 
+ 
+diff --git a/geo-replication/syncdaemon/Makefile.am b/geo-replication/syncdaemon/Makefile.am
+index f80fb26..7cdaf45 100644
+--- a/geo-replication/syncdaemon/Makefile.am
++++ b/geo-replication/syncdaemon/Makefile.am
+@@ -1,4 +1,4 @@
+-syncdaemondir = $(GLUSTERFS_LIBEXECDIR)/python/syncdaemon
++syncdaemondir = $(libexecdir)/glusterfs/python/syncdaemon
+ 
+ syncdaemon_PYTHON = gconf.py gsyncd.py __init__.py master.py README.md repce.py \
+ 	resource.py configinterface.py syncdutils.py monitor.py libcxattr.py \
+diff --git a/tools/gfind_missing_files/Makefile.am b/tools/gfind_missing_files/Makefile.am
+index f77f789..043c34c 100644
+--- a/tools/gfind_missing_files/Makefile.am
++++ b/tools/gfind_missing_files/Makefile.am
+@@ -1,4 +1,4 @@
+-gfindmissingfilesdir = $(GLUSTERFS_LIBEXECDIR)/gfind_missing_files
++gfindmissingfilesdir = $(libexecdir)/glusterfs/gfind_missing_files
+ 
+ gfindmissingfiles_SCRIPTS = gfind_missing_files.sh gfid_to_path.sh \
+ 	gfid_to_path.py
+@@ -21,6 +21,6 @@ uninstall-local:
+ 
+ install-data-local:
+ 	rm -f $(DESTDIR)$(sbindir)/gfind_missing_files
+-	ln -s $(GLUSTERFS_LIBEXECDIR)/gfind_missing_files/gfind_missing_files.sh $(DESTDIR)$(sbindir)/gfind_missing_files
++	ln -s $(libexecdir)/glusterfs/gfind_missing_files/gfind_missing_files.sh $(DESTDIR)$(sbindir)/gfind_missing_files
+ 
+ CLEANFILES =
+diff --git a/tools/glusterfind/Makefile.am b/tools/glusterfind/Makefile.am
+index 92fa614..37f23be 100644
+--- a/tools/glusterfind/Makefile.am
++++ b/tools/glusterfind/Makefile.am
+@@ -6,7 +6,7 @@ bin_SCRIPTS = glusterfind
+ 
+ CLEANFILES = $(bin_SCRIPTS)
+ 
+-deletehookscriptsdir = $(GLUSTERFS_LIBEXECDIR)/glusterfind/
++deletehookscriptsdir = $(libexecdir)/glusterfs/glusterfind/
+ deletehookscripts_SCRIPTS = S57glusterfind-delete-post.py
+ 
+ uninstall-local:
+@@ -16,5 +16,5 @@ install-data-local:
+ 	$(mkdir_p) $(DESTDIR)$(GLUSTERD_WORKDIR)/glusterfind/.keys
+ 	$(mkdir_p) $(DESTDIR)$(GLUSTERD_WORKDIR)/hooks/1/delete/post/
+ 	rm -f $(DESTDIR)$(GLUSTERD_WORKDIR)/hooks/1/delete/post/S57glusterfind-delete-post
+-	ln -s $(GLUSTERFS_LIBEXECDIR)/glusterfind/S57glusterfind-delete-post.py \
++	ln -s $(libexecdir)/glusterfs/glusterfind/S57glusterfind-delete-post.py \
+ 		$(DESTDIR)$(GLUSTERD_WORKDIR)/hooks/1/delete/post/S57glusterfind-delete-post
+diff --git a/tools/glusterfind/src/Makefile.am b/tools/glusterfind/src/Makefile.am
+index e4469c1..541ff94 100644
+--- a/tools/glusterfind/src/Makefile.am
++++ b/tools/glusterfind/src/Makefile.am
+@@ -1,4 +1,4 @@
+-glusterfinddir = $(GLUSTERFS_LIBEXECDIR)/glusterfind
++glusterfinddir = $(libexecdir)/glusterfs/glusterfind
+ 
+ glusterfind_PYTHON = conf.py utils.py __init__.py \
+ 	main.py libgfchangelog.py changelogdata.py
+diff --git a/xlators/features/ganesha/src/Makefile.am b/xlators/features/ganesha/src/Makefile.am
+index 78715d6..54cfcb3 100644
+--- a/xlators/features/ganesha/src/Makefile.am
++++ b/xlators/features/ganesha/src/Makefile.am
+@@ -12,7 +12,7 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
+ 	-fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(GF_HOST_OS)\
+ 	-I$(top_srcdir)/rpc/xdr/src -I$(top_builddir)/rpc/xdr/src \
+ 	-DGANESHA_DIR=\"$(sysconfdir)/ganesha\" \
+-	-DGYSNCD_PREFIX=\"$(GLUSTERFS_LIBEXECDIR)\"
++	-DGYSNCD_PREFIX=\"$(libexecdir)/glusterfs\"
+ 
+ AM_CFLAGS = -Wall $(GF_CFLAGS)
+ 
+diff --git a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am
+index 23ebf37..4f2fffd 100644
+--- a/xlators/mgmt/glusterd/src/Makefile.am
++++ b/xlators/mgmt/glusterd/src/Makefile.am
+@@ -47,7 +47,7 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
+ 	-I$(CONTRIBDIR)/rbtree -I$(top_srcdir)/rpc/rpc-lib/src \
+ 	-I$(CONTRIBDIR)/mount -I$(CONTRIBDIR)/userspace-rcu \
+ 	-DSBIN_DIR=\"$(sbindir)\" -DDATADIR=\"$(localstatedir)\" \
+-	-DGSYNCD_PREFIX=\"$(GLUSTERFS_LIBEXECDIR)\" \
++	-DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\" \
+ 	-DCONFDIR=\"$(localstatedir)/run/gluster/shared_storage/nfs-ganesha\" \
+ 	-DGANESHA_PREFIX=\"$(libexecdir)/ganesha\" \
+ 	-DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) $(XML_CPPFLAGS)
+-- 
+2.7.4
+
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
new file mode 100644
index 00000000000..6dd1baad5df
--- /dev/null
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
@@ -0,0 +1,151 @@
+From d321df349d10f038f0c89b9c11f8059572264f1b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Sat, 13 May 2017 18:54:36 +0200
+Subject: [PATCH] python: Remove all uses of find_library. Fixes #1450593
+
+`find_library()` doesn't consider LD_LIBRARY_PATH on Python < 3.6.
+---
+ api/examples/getvolfile.py                                     |  2 +-
+ geo-replication/syncdaemon/libcxattr.py                        |  3 +--
+ geo-replication/syncdaemon/libgfchangelog.py                   |  3 +--
+ tests/features/ipctest.py                                      | 10 ++--------
+ tests/utils/libcxattr.py                                       |  5 ++---
+ tools/glusterfind/src/libgfchangelog.py                        |  3 +--
+ .../features/changelog/lib/examples/python/libgfchangelog.py   |  3 +--
+ 7 files changed, 9 insertions(+), 20 deletions(-)
+
+diff --git a/api/examples/getvolfile.py b/api/examples/getvolfile.py
+index 0c95213..32c2268 100755
+--- a/api/examples/getvolfile.py
++++ b/api/examples/getvolfile.py
+@@ -3,7 +3,7 @@
+ import ctypes
+ import ctypes.util
+ 
+-api = ctypes.CDLL(ctypes.util.find_library("gfapi"))
++api = ctypes.CDLL("libgfapi.so")
+ api.glfs_get_volfile.argtypes = [ctypes.c_void_p,
+                                  ctypes.c_void_p,
+                                  ctypes.c_ulong]
+diff --git a/geo-replication/syncdaemon/libcxattr.py b/geo-replication/syncdaemon/libcxattr.py
+index 3671e10..f576648 100644
+--- a/geo-replication/syncdaemon/libcxattr.py
++++ b/geo-replication/syncdaemon/libcxattr.py
+@@ -10,7 +10,6 @@
+ 
+ import os
+ from ctypes import CDLL, create_string_buffer, get_errno
+-from ctypes.util import find_library
+ 
+ 
+ class Xattr(object):
+@@ -25,7 +24,7 @@ class Xattr(object):
+          sizes we expect
+     """
+ 
+-    libc = CDLL(find_library("c"), use_errno=True)
++    libc = CDLL("libc.so.6", use_errno=True)
+ 
+     @classmethod
+     def geterrno(cls):
+diff --git a/geo-replication/syncdaemon/libgfchangelog.py b/geo-replication/syncdaemon/libgfchangelog.py
+index d87b56c..003c28c 100644
+--- a/geo-replication/syncdaemon/libgfchangelog.py
++++ b/geo-replication/syncdaemon/libgfchangelog.py
+@@ -10,12 +10,11 @@
+ 
+ import os
+ from ctypes import CDLL, RTLD_GLOBAL, create_string_buffer, get_errno, byref, c_ulong
+-from ctypes.util import find_library
+ from syncdutils import ChangelogException, ChangelogHistoryNotAvailable
+ 
+ 
+ class Changes(object):
+-    libgfc = CDLL(find_library("gfchangelog"), mode=RTLD_GLOBAL, use_errno=True)
++    libgfc = CDLL("libgfchangelog.so", mode=RTLD_GLOBAL, use_errno=True)
+ 
+     @classmethod
+     def geterrno(cls):
+diff --git a/tests/features/ipctest.py b/tests/features/ipctest.py
+index 5aff319..9339248 100755
+--- a/tests/features/ipctest.py
++++ b/tests/features/ipctest.py
+@@ -1,14 +1,8 @@
+ #!/usr/bin/python
+ 
+ import ctypes
+-import ctypes.util
+-
+-# find_library does not lookup LD_LIBRARY_PATH and may miss the
+-# function. In that case, retry with less portable but explicit name.
+-libgfapi = ctypes.util.find_library("gfapi")
+-if libgfapi == None:
+-	libgfapi = "libgfapi.so"
+-api = ctypes.CDLL(libgfapi,mode=ctypes.RTLD_GLOBAL)
++
++api = ctypes.CDLL("libgfapi.so",mode=ctypes.RTLD_GLOBAL)
+ 
+ api.glfs_ipc.argtypes = [ ctypes.c_void_p, ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p ]
+ api.glfs_ipc.restype = ctypes.c_int
+diff --git a/tests/utils/libcxattr.py b/tests/utils/libcxattr.py
+index 149db72..4e6e6c4 100644
+--- a/tests/utils/libcxattr.py
++++ b/tests/utils/libcxattr.py
+@@ -11,7 +11,6 @@
+ import os
+ import sys
+ from ctypes import CDLL, c_int, create_string_buffer
+-from ctypes.util import find_library
+ 
+ 
+ class Xattr(object):
+@@ -28,9 +27,9 @@ class Xattr(object):
+ 
+     if sys.hexversion >= 0x02060000:
+         from ctypes import DEFAULT_MODE
+-        libc = CDLL(find_library("libc"), DEFAULT_MODE, None, True)
++        libc = CDLL("libc.so.6", DEFAULT_MODE, None, True)
+     else:
+-        libc = CDLL(find_library("libc"))
++        libc = CDLL("libc.so.6")
+ 
+     @classmethod
+     def geterrno(cls):
+diff --git a/tools/glusterfind/src/libgfchangelog.py b/tools/glusterfind/src/libgfchangelog.py
+index dd8153e..da822cf 100644
+--- a/tools/glusterfind/src/libgfchangelog.py
++++ b/tools/glusterfind/src/libgfchangelog.py
+@@ -12,14 +12,13 @@
+ import os
+ from ctypes import CDLL, get_errno, create_string_buffer, c_ulong, byref
+ from ctypes import RTLD_GLOBAL
+-from ctypes.util import find_library
+ 
+ 
+ class ChangelogException(OSError):
+     pass
+ 
+ 
+-libgfc = CDLL(find_library("gfchangelog"), use_errno=True, mode=RTLD_GLOBAL)
++libgfc = CDLL("libgfchangelog.so", use_errno=True, mode=RTLD_GLOBAL)
+ 
+ 
+ def raise_oserr():
+diff --git a/xlators/features/changelog/lib/examples/python/libgfchangelog.py b/xlators/features/changelog/lib/examples/python/libgfchangelog.py
+index 10e73c0..2cdbf11 100644
+--- a/xlators/features/changelog/lib/examples/python/libgfchangelog.py
++++ b/xlators/features/changelog/lib/examples/python/libgfchangelog.py
+@@ -1,9 +1,8 @@
+ import os
+ from ctypes import *
+-from ctypes.util import find_library
+ 
+ class Changes(object):
+-    libgfc = CDLL(find_library("gfchangelog"), mode=RTLD_GLOBAL, use_errno=True)
++    libgfc = CDLL("libgfchangelog.so", mode=RTLD_GLOBAL, use_errno=True)
+ 
+     @classmethod
+     def geterrno(cls):
+-- 
+2.7.4
+
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
new file mode 100644
index 00000000000..eb4bd5b7d56
--- /dev/null
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
@@ -0,0 +1,161 @@
+From 616381bc25b0e90198683fb049f994e82d467d96 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Sat, 13 May 2017 02:45:49 +0200
+Subject: [PATCH] Don't use hardcoded /sbin, /usr/bin etc. paths. Fixes
+ #1450546.
+
+Instead, rely on programs to be in PATH, as gluster already
+does in many places across its code base.
+
+Change-Id: Id21152fe42f5b67205d8f1571b0656c4d5f74246
+---
+ contrib/fuse-lib/mount-common.c               |  8 ++++----
+ xlators/mgmt/glusterd/src/glusterd-ganesha.c  |  6 +++---
+ xlators/mgmt/glusterd/src/glusterd-quota.c    |  6 +++---
+ xlators/mgmt/glusterd/src/glusterd-snapshot.c |  4 ++--
+ xlators/mgmt/glusterd/src/glusterd-utils.c    | 14 +-------------
+ 5 files changed, 13 insertions(+), 25 deletions(-)
+
+diff --git a/contrib/fuse-lib/mount-common.c b/contrib/fuse-lib/mount-common.c
+index e9f80fe81..6380dd867 100644
+--- a/contrib/fuse-lib/mount-common.c
++++ b/contrib/fuse-lib/mount-common.c
+@@ -255,16 +255,16 @@ fuse_mnt_umount (const char *progname, const char *abs_mnt,
+                         exit (1);
+                 }
+ #ifdef GF_LINUX_HOST_OS
+-                execl ("/bin/umount", "/bin/umount", "-i", rel_mnt,
++                execl ("umount", "umount", "-i", rel_mnt,
+                        lazy ? "-l" : NULL, NULL);
+-                GFFUSE_LOGERR ("%s: failed to execute /bin/umount: %s",
++                GFFUSE_LOGERR ("%s: failed to execute umount: %s",
+                                progname, strerror (errno));
+ #elif __NetBSD__
+                 /* exitting the filesystem causes the umount */
+                 exit (0);
+ #else
+-                execl ("/sbin/umount", "/sbin/umount", "-f", rel_mnt, NULL);
+-                GFFUSE_LOGERR ("%s: failed to execute /sbin/umount: %s",
++                execl ("umount", "umount", "-f", rel_mnt, NULL);
++                GFFUSE_LOGERR ("%s: failed to execute umount: %s",
+                                progname, strerror (errno));
+ #endif /* GF_LINUX_HOST_OS */
+                 exit (1);
+diff --git a/xlators/mgmt/glusterd/src/glusterd-ganesha.c b/xlators/mgmt/glusterd/src/glusterd-ganesha.c
+index da1fee066..dcb9e5725 100644
+--- a/xlators/mgmt/glusterd/src/glusterd-ganesha.c
++++ b/xlators/mgmt/glusterd/src/glusterd-ganesha.c
+@@ -122,15 +122,15 @@ manage_service (char *action)
+         int     i               = 0;
+         int     ret             = 0;
+         struct service_command sc_list[] = {
+-                { .binary  = "/bin/systemctl",
++                { .binary  = "systemctl",
+                   .service = "nfs-ganesha",
+                   .action  = sc_systemctl_action
+                 },
+-                { .binary  = "/sbin/invoke-rc.d",
++                { .binary  = "invoke-rc.d",
+                   .service = "nfs-ganesha",
+                   .action  = sc_service_action
+                 },
+-                { .binary  = "/sbin/service",
++                { .binary  = "service",
+                   .service = "nfs-ganesha",
+                   .action  = sc_service_action
+                 },
+diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
+index 0e6629cf0..fcb4738b7 100644
+--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
++++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
+@@ -30,7 +30,7 @@
+ 
+ #ifndef _PATH_SETFATTR
+ # ifdef GF_LINUX_HOST_OS
+-#  define _PATH_SETFATTR "/usr/bin/setfattr"
++#  define _PATH_SETFATTR "setfattr"
+ # endif
+ # ifdef __NetBSD__
+ #  define _PATH_SETFATTR "/usr/pkg/bin/setfattr"
+@@ -335,7 +335,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
+ 
+                 if (type == GF_QUOTA_OPTION_TYPE_ENABLE ||
+                     type == GF_QUOTA_OPTION_TYPE_ENABLE_OBJECTS)
+-                        runner_add_args (&runner, "/usr/bin/find", ".", NULL);
++                        runner_add_args (&runner, "find", ".", NULL);
+ 
+                 else if (type == GF_QUOTA_OPTION_TYPE_DISABLE) {
+ 
+@@ -351,7 +351,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
+                                          VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "1",
+                                          "{}", "\\", ";", NULL);
+ #else
+-                        runner_add_args (&runner, "/usr/bin/find", ".",
++                        runner_add_args (&runner, "find", ".",
+                                          "-exec", _PATH_SETFATTR, "-n",
+                                          VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "-v",
+                                          "1", "{}", "\\", ";", NULL);
+diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
+index da0152366..f0d135350 100644
+--- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c
++++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
+@@ -121,7 +121,7 @@ glusterd_build_snap_device_path (char *device, char *snapname,
+         }
+ 
+         runinit (&runner);
+-        runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "vg_name",
++        runner_add_args (&runner, "lvs", "--noheadings", "-o", "vg_name",
+                          device, NULL);
+         runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
+         snprintf (msg, sizeof (msg), "Get volume group for device %s", device);
+@@ -1982,7 +1982,7 @@ glusterd_is_thinp_brick (char *device, uint32_t *op_errno)
+ 
+         runinit (&runner);
+ 
+-        runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "pool_lv",
++        runner_add_args (&runner, "lvs", "--noheadings", "-o", "pool_lv",
+                          device, NULL);
+         runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
+         runner_log (&runner, this->name, GF_LOG_DEBUG, msg);
+diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
+index 51db13df0..6fa7b92f9 100644
+--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
++++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
+@@ -6027,7 +6027,6 @@ static struct fs_info {
+         char *fs_tool_pattern;
+         char *fs_tool_pkg;
+ } glusterd_fs[] = {
+-        /* some linux have these in /usr/sbin/and others in /sbin/? */
+         { "xfs", "xfs_info", NULL, "isize=", "xfsprogs" },
+         { "ext3", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
+         { "ext4", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
+@@ -6048,7 +6047,6 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
+         char           *trail             = NULL;
+         runner_t        runner            = {0, };
+         struct fs_info *fs                = NULL;
+-        char            fs_tool_name[256] = {0, };
+         static dict_t  *cached_fs         = NULL;
+ 
+         memset (key, 0, sizeof (key));
+@@ -6085,17 +6083,7 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
+                                 cur_word = "N/A";
+                                 goto cached;
+                         }
+-
+-                        snprintf (fs_tool_name, sizeof (fs_tool_name),
+-                                  "/usr/sbin/%s", fs->fs_tool_name);
+-                        if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
+-                                runner_add_arg (&runner, fs_tool_name);
+-                        else {
+-                                snprintf (fs_tool_name, sizeof (fs_tool_name),
+-                                          "/sbin/%s", fs->fs_tool_name);
+-                                if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
+-                                        runner_add_arg (&runner, fs_tool_name);
+-                        }
++                        runner_add_arg (&runner, fs->fs_tool_name);
+                         break;
+                 }
+         }
+-- 
+2.12.0
+
diff --git a/pkgs/tools/graphics/ditaa/default.nix b/pkgs/tools/graphics/ditaa/default.nix
index 86ff9ec8fae..56c1c976362 100644
--- a/pkgs/tools/graphics/ditaa/default.nix
+++ b/pkgs/tools/graphics/ditaa/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     description = "Convert ascii art diagrams into proper bitmap graphics";
     homepage = http://ditaa.sourceforge.net/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix
index fb674bc8d80..2a8255e3744 100644
--- a/pkgs/tools/graphics/maim/default.nix
+++ b/pkgs/tools/graphics/maim/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, fetchurl, cmake, gengetopt, imlib2, libXrandr, libXfixes }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, zlib, libpng, libjpeg
+, mesa, glm, libX11, libXext, libXfixes, libXrandr, libXcomposite, slop }:
 
 stdenv.mkDerivation rec {
   name = "maim-${version}";
-  version = "3.4.47";
+  version = "5.4.63";
 
-  src = fetchurl {
-    url = "https://github.com/naelstrof/maim/archive/v${version}.tar.gz";
-    sha256 = "0kfp7k55bxc5h6h0wv8bwmsc5ny66h9ra2z4dzs4yzszq16544pv";
+  src = fetchFromGitHub {
+    owner = "naelstrof";
+    repo = "maim";
+    rev = "v${version}";
+    sha256 = "16jl62hzrq1kciqwr9s3bxgcf9yz42kiwc5abkay1yd0vfcx200i";
   };
 
-  buildInputs = [ cmake gengetopt imlib2 libXrandr libXfixes ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs =
+    [ zlib libpng libjpeg mesa glm libX11 libXext libXfixes libXrandr
+      libXcomposite slop ];
 
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/naelstrof/maim;
+    inherit (src.meta) homepage;
     description = "A command-line screenshot utility";
     longDescription = ''
       maim (make image) takes screenshots of your desktop. It has options to
@@ -23,6 +30,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = with maintainers; [ mbakke ];
+    maintainers = with maintainers; [ primeos mbakke ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 2d25e6bf430..c53f766cb7d 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "m17n engine for ibus";
-    homepage     = https://github.com.com/ibus/ibus-m17n;
+    homepage     = https://github.com/ibus/ibus-m17n;
     license      = licenses.gpl2;
     platforms    = platforms.linux;
     maintainers  = with maintainers; [ ericsagnes ];
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 1654f57c8ed..d392777dfd4 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -3,16 +3,58 @@
 , python3
 , gtk2, gtk3, atk, dconf, glib, json_glib
 , dbus, libnotify, gobjectIntrospection, wayland
-, nodePackages
 }:
 
-stdenv.mkDerivation rec {
+let
+  emojiData = let
+    srcs = {
+      data = fetchurl {
+        url = "http://unicode.org/Public/emoji/5.0/emoji-data.txt";
+        sha256 = "0zfn3z61xy76yah3d24dd745qjssrib009m4nvqpnx4sf1r13i2x";
+      };
+      sequences = fetchurl {
+        url = "http://unicode.org/Public/emoji/5.0/emoji-sequences.txt";
+        sha256 = "0xzk7hi2a8macx9s5gj2pb36d38y8fa9001sj71g6kw25c2h94cn";
+      };
+      variation-sequences = fetchurl {
+        url = "http://unicode.org/Public/emoji/5.0/emoji-variation-sequences.txt";
+        sha256 = "1wlg4gbq7spmpppjfy5zdl82sj0hc836p8gljgfrjmwsjgybq286";
+      };
+      zwj-sequences = fetchurl {
+        url = "http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt";
+        sha256 = "0rrnk94mhm3k9vs74pvyvs4ir7f31f1libx7c196fmdqvp1qfafw";
+      };
+      test = fetchurl {
+        url = "http://unicode.org/Public/emoji/5.0/emoji-test.txt";
+        sha256 = "1dvxw5xp1xiy13c1p1c7l2xc9q8f8znk47kb7q8g7bbgbi21cq5m";
+      };
+    };
+  in stdenv.mkDerivation {
+    name = "emoji-data-5.0";
+    unpackPhase = ":";
+    dontBuild = true;
+    installPhase = with stdenv.lib; ''
+      mkdir $out
+      ${builtins.toString (flip mapAttrsToList srcs (k: v: ''
+        cp ${v} $out/emoji-${k}.txt
+      ''))}
+    '';
+  };
+  cldrEmojiAnnotation = stdenv.mkDerivation rec {
+    name = "cldr-emoji-annotation-${version}";
+    version = "31.0.1_1";
+    src = fetchurl {
+      url = "https://github.com/fujiwarat/cldr-emoji-annotation/releases/download/${version}/${name}.tar.gz";
+      sha256 = "1a3qzsab7vzjqpdialp1g8ppr21x05v0ph8ngyq9pyjkx4vzcdi7";
+    };
+  };
+in stdenv.mkDerivation rec {
   name = "ibus-${version}";
-  version = "1.5.14";
+  version = "1.5.16";
 
   src = fetchurl {
     url = "https://github.com/ibus/ibus/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0g4x02d7j5w1lfn4zvmzsq93h17lajgn9d7hlvr6pws28vz40ax4";
+    sha256 = "07py16jb81kd7vkqhcia9cb2avsbg5jswp2kzf0k4bprwkxppd9n";
   };
 
   postPatch = ''
@@ -30,7 +72,8 @@ stdenv.mkDerivation rec {
     "--disable-memconf"
     "--enable-ui"
     "--enable-python-library"
-    "--with-emoji-json-file=${nodePackages.emojione}/lib/node_modules/emojione/emoji.json"
+    "--with-unicode-emoji-dir=${emojiData}"
+    "--with-emoji-annotation-dir=${cldrEmojiAnnotation}/share/unicode/cldr/common/annotations"
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/misc/aescrypt/default.nix b/pkgs/tools/misc/aescrypt/default.nix
index 819728032bb..53aec187bb7 100644
--- a/pkgs/tools/misc/aescrypt/default.nix
+++ b/pkgs/tools/misc/aescrypt/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.9";
+  version = "3.13";
   name = "aescrypt-${version}";
 
   src = fetchurl {
     url = "http://www.aescrypt.com/download/v3/linux/${name}.tgz";
-    sha256 = "3f3590f9b7e50039611ba9c0cf1cae1b188a44bd39cfc41553db7ec5709c0882";
+    sha256 = "1a1rs7xmbxh355qg3v02rln3gshvy3j6wkx4g9ir72l22mp6zkc7";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index d63819ade21..b885b5ed09d 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -6,48 +6,41 @@
 let
   python = python3Packages.python;
   wrapPython = python3Packages.wrapPython;
-  date = "2017-01-22";
+  version = "1.1";
 in
   stdenv.mkDerivation {
-    name = "autorandr-unstable-${date}";
+    name = "autorandr-${version}";
 
-    buildInputs = [ python wrapPython ];
-
-    phases = [ "unpackPhase" "installPhase" ];
+    buildInputs = [ python ];
 
     installPhase = ''
+      runHook preInstall
       make install TARGETS='autorandr' PREFIX=$out
-      wrapPythonProgramsIn $out/bin/autorandr $out
 
       make install TARGETS='bash_completion' DESTDIR=$out
 
       make install TARGETS='autostart_config' PREFIX=$out DESTDIR=$out
 
-      ${if false then ''
-        # breaks systemd-udev-settle during boot so disabled
+      ${if systemd != null then ''
         make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \
           SYSTEMD_UNIT_DIR=/lib/systemd/system \
           UDEV_RULES_DIR=/etc/udev/rules.d
         substituteInPlace $out/etc/udev/rules.d/40-monitor-hotplug.rules \
-          --replace /bin "${systemd}/bin"
-      '' else if systemd != null then ''
-        make install TARGETS='systemd' PREFIX=$out DESTDIR=$out \
-          SYSTEMD_UNIT_DIR=/lib/systemd/system
-        make install TARGETS='udev' PREFIX=$out DESTDIR=$out \
-          UDEV_RULES_DIR=/etc/udev/rules.d
+          --replace /bin/systemctl "${systemd}/bin/systemctl"
       '' else ''
         make install TARGETS='pmutils' DESTDIR=$out \
           PM_SLEEPHOOKS_DIR=/lib/pm-utils/sleep.d
         make install TARGETS='udev' PREFIX=$out DESTDIR=$out \
           UDEV_RULES_DIR=/etc/udev/rules.d
       ''}
+      runHook postInstall
     '';
 
     src = fetchFromGitHub {
       owner = "phillipberndt";
       repo = "autorandr";
-      rev = "855c18b7f2cfd364d6f085d4301b5b98ba6e572a";
-      sha256 = "1yp1gns3lwa8796cb7par9czkc9i7paap2fkzf7wj6zqlkgjdvv0";
+      rev = "${version}";
+      sha256 = "05jlzxlrdyd4j90srr71fv91c2hf32diw40n9rmybgcdvy45kygd";
     };
 
     meta = {
diff --git a/pkgs/tools/misc/ckb/default.nix b/pkgs/tools/misc/ckb/default.nix
index f2dc5150bbd..b90adfd5852 100644
--- a/pkgs/tools/misc/ckb/default.nix
+++ b/pkgs/tools/misc/ckb/default.nix
@@ -29,8 +29,12 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   installPhase = ''
+    runHook preInstall
+
     install -D --mode 0755 --target-directory $out/bin bin/ckb-daemon bin/ckb
     install -D --mode 0755 --target-directory $out/libexec/ckb-animations bin/ckb-animations/*
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/esptool-ck/default.nix b/pkgs/tools/misc/esptool-ck/default.nix
new file mode 100644
index 00000000000..c1678f3907f
--- /dev/null
+++ b/pkgs/tools/misc/esptool-ck/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "esptool-ck-${version}";
+  version = "0.4.11";
+
+  src = fetchFromGitHub {
+    owner = "igrr";
+    repo = "esptool-ck";
+    rev = "0.4.11";
+    sha256 = "086x68jza24xkaap8nici18kj78id2p2lzbasin98wilvpjc8d7f";
+  };
+
+  makeFlags = [ "VERSION=${version}" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp esptool $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "ESP8266/ESP32 build helper tool";
+    homepage = https://github.com/igrr/esptool-ck;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
new file mode 100644
index 00000000000..04ba5788cd9
--- /dev/null
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+python3.pkgs.buildPythonApplication rec {
+  name = "esptool-${version}";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "espressif";
+    repo = "esptool";
+    rev = "v${version}";
+    sha256 = "0112fybkz4259gyvhcs18wa6938jp6w7clk66kpd0d1dg70lz1h6";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [ pyserial ];
+
+  doCheck = false; # FIXME: requires packaging some new deps
+
+  meta = with stdenv.lib; {
+    description = "ESP8266 and ESP32 serial bootloader utility";
+    homepage = https://github.com/espressif/esptool;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index eba2e82911b..ae6ea6e3f53 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ethtool-${version}";
-  version = "4.10";
+  version = "4.11";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "1fklbjwr41cvd5b7d1qvpl3bqzc4aak732r3m2wjhhgkxhk9f07h";
+    sha256 = "1cp132kk2xd2cwn1ysjv0cl8i9lnq3n4zi4wy676p5k4h2mfvn0j";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index c49f11a72a9..4dd49e02e0e 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }:
+{ stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib }:
 
 with rustPlatform;
 
@@ -12,31 +12,28 @@ let
   };
   cargoPatch = ''
     # use non-git dependencies
-    patch -p1 <<EOF
-   --- exa-v0.4.1-src.org/Cargo.toml       1970-01-01 01:00:01.000000000 +0100
-   +++ exa-v0.4.1-src/Cargo.toml   2017-04-04 10:33:31.554377034 +0200
-   @@ -42,4 +42,4 @@
-    optional = true
-
-    [dependencies.zoneinfo_compiled]
-   -git = "https://github.com/rust-datetime/zoneinfo-compiled.git"
-   +path = "${zoneinfo_compiled}"
-EOF
+    patch Cargo.toml <<EOF
+    46c46
+    < git = "https://github.com/rust-datetime/zoneinfo-compiled.git"
+    ---
+    > path = "${zoneinfo_compiled}"
+    EOF
   '';
 in buildRustPackage rec {
-  name = "exa-unstable-2017-04-02";
+  name = "exa-${version}";
+  version = "0.6.0";
 
-  depsSha256 = "0szjba03q4iwzjzb2dp39hhz554ys4z11qdhcdq1mgxqk94scjf4";
+  depsSha256 = "0c1vyl1c67xq18ss0xs5cjdfn892jpwj6ml51dfppzfyns3namm4";
 
   src = fetchFromGitHub {
     owner = "ogham";
     repo = "exa";
-    rev = "1a6066327d2643881996946942aba530e8a1c67c";
-    sha256 = "1xrsg3zw5d3sw2bwx8g0lrs6zpk8rdrvvnknf7c9drp7rplmd8zq";
+    rev = "v${version}";
+    sha256 = "0065gj4pbbppbnwp23s6bb7zlz428nrir00d0kz7axydxk6swhyv";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ openssl zlib ];
+  buildInputs = [ zlib ];
 
   # Some tests fail, but Travis ensures a proper build
   doCheck = false;
@@ -60,7 +57,7 @@ in buildRustPackage rec {
       for a directory, or recursing into directories with a tree view. exa is
       written in Rust, so it’s small, fast, and portable.
     '';
-    homepage = http://bsago.me/exa;
+    homepage = http://the.exa.website;
     license = licenses.mit;
     maintainer = [ maintainers.ehegnes ];
   };
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 68e4210ad41..232eb68c8a6 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "file-${version}";
-  version = "5.30";
+  version = "5.31";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.astron.com/pub/file/${name}.tar.gz"
       "https://distfiles.macports.org/file/${name}.tar.gz"
     ];
-    sha256 = "694c2432e5240187524c9e7cf1ec6acc77b47a0e19554d34c14773e43dbbf214";
+    sha256 = "1vp4zihaxkhi85chkjgd4r4zdg4k2wa3c6pmajhbmx6gr7d8ii89";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/tools/misc/fsql/default.nix b/pkgs/tools/misc/fsql/default.nix
new file mode 100644
index 00000000000..e3a9297c4ab
--- /dev/null
+++ b/pkgs/tools/misc/fsql/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "fsql-${version}";
+  version = "0.2.1";
+
+  goPackagePath = "github.com/kshvmdn/fsql";
+
+  src = fetchFromGitHub {
+    owner = "kshvmdn";
+    repo = "fsql";
+    rev = "v${version}";
+    sha256 = "1izcfxm77hjj8z7a2nk9bbwbz4wc2yqzs2ir8v3k822m1hvgwb9a";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Search through your filesystem with SQL-esque queries";
+    homepage = https://github.com/kshvmdn/fsql;
+    license = licenses.mit;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
+    inherit version;
+  };
+
+}
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index e1e998b7b56..55f36b5e446 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "fzf-${version}";
-  version = "0.16.7";
+  version = "0.16.8";
   rev = "${version}";
 
   goPackagePath = "github.com/junegunn/fzf";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "junegunn";
     repo = "fzf";
-    sha256 = "11ka5n7mrm5pb9riah28zyshvfz2svm4wn6fbama39yp6sc01x23";
+    sha256 = "0d0fcv07pl2vvj9ql84rmy1kd0zg680chsfapm0iw3vssxqkm9zq";
   };
 
   outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/tools/misc/fzf/deps.nix b/pkgs/tools/misc/fzf/deps.nix
index 289ea9f11ae..7622a5f7b3b 100644
--- a/pkgs/tools/misc/fzf/deps.nix
+++ b/pkgs/tools/misc/fzf/deps.nix
@@ -1,28 +1,55 @@
 # This file was generated by go2nix.
 [
   {
-    goPackagePath = "github.com/junegunn/go-isatty";
+    goPackagePath = "github.com/gdamore/encoding";
     fetch = {
       type = "git";
-      url = "https://github.com/junegunn/go-isatty";
+      url = "https://github.com/gdamore/encoding";
+      rev = "b23993cbb6353f0e6aa98d0ee318a34728f628b9";
+      sha256 = "0d7irqpx2fa9vkxgkhf04yiwazsm10fxh0yk86x5crflhph5fv8a";
+    };
+  }
+  {
+    goPackagePath = "github.com/gdamore/tcell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gdamore/tcell";
+      rev = "44772c121bb7838819d3ba4a7e84c0c2d617328e";
+      sha256 = "1l6yhy2bqckanjvixzvslz6qjjl5s0ciqf9hvk6625a7kfx030i6";
+    };
+  }
+  {
+    goPackagePath = "github.com/lucasb-eyer/go-colorful";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lucasb-eyer/go-colorful";
+      rev = "c900de9dbbc73129068f5af6a823068fc5f2308c";
+      sha256 = "0h6dkm5cvnlibngdhkqq7dh8ql8fjzfxn9xqpl3nv10rfwqdk80h";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
       rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8";
       sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5";
     };
   }
   {
-    goPackagePath = "github.com/junegunn/go-runewidth";
+    goPackagePath = "github.com/mattn/go-runewidth";
     fetch = {
       type = "git";
-      url = "https://github.com/junegunn/go-runewidth";
+      url = "https://github.com/mattn/go-runewidth";
       rev = "14207d285c6c197daabb5c9793d63e7af9ab2d50";
       sha256 = "0y6yq9zd4kh7fimnc00r3h9pr2pwa5j85b3jcn5dyfamsnm2xdsv";
     };
   }
   {
-    goPackagePath = "github.com/junegunn/go-shellwords";
+    goPackagePath = "github.com/mattn/go-shellwords";
     fetch = {
       type = "git";
-      url = "https://github.com/junegunn/go-shellwords";
+      url = "https://github.com/mattn/go-shellwords";
       rev = "02e3cf038dcea8290e44424da473dd12be796a8a";
       sha256 = "1pg7pl25wvpl2dbpyrv9p1r7prnqimxlf6136vn0dfm54j2x4mnr";
     };
@@ -32,8 +59,26 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "abc5fa7ad02123a41f02bf1391c9760f7586e608";
-      sha256 = "1kdfbz46jnpm2hip79db6jvw5m4z4vh7x7rr798mzqdn6fsad7jb";
+      rev = "e1a4589e7d3ea14a3352255d04b6f1a418845e5e";
+      sha256 = "1w90z8r4v96rqx723shjgl8dis12bfmihila20fxid11m8digk5h";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "b90f89a1e7a9c1f6b918820b3daa7f08488c8594";
+      sha256 = "1bnvvk2z6wlmh39wza9cdf81nbyjfssdh86iywnnpxa7n9lg9dxq";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "4ee4af566555f5fbe026368b75596286a312663a";
+      sha256 = "1zybf6nd47fr9vb587yvmzhmkzf2p58g9q5bz4q5mzpnz22ski3a";
     };
   }
 ]
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index aafb865cfac..c554c13bb4a 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name    = "grc-${version}";
-  version = "1.11";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner  = "garabik";
     repo   = "grc";
     rev    = "v${version}";
-    sha256 = "0slxkjg8xf5rg5pqgh4g2p1qxr5m9f6ds7zg7vh2xqzkmwqv18kp";
+    sha256 = "10h65qmv2cymixzfsckfcn6f01xsjzfq1x303rv01nibniwbq5z9";
   };
 
   buildInputs = with python3Packages; [ wrapPython makeWrapper ];
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 176f8aa1f51..192da26b452 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -12,6 +12,9 @@
 # (--enable-unsupported could be used to force the build)
 assert !cpp || mpi == null;
 
+# No point splitting version 1.8.18 into multiple outputs.
+# The library /lib/libhdf5.so has a reference to gcc-wrapper
+
 let inherit (stdenv.lib) optional optionals; in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index c54f8ebec0d..a8bab014b9e 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "lf-unstable-${version}";
-  version = "2017-02-04";
+  version = "2017-05-15";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
-    rev = "c55c4bf254d59c4e943d5559cd6e062652751e36"; # nightly
-    sha256 = "0jq85pfhpzdplv083mxbys7pp8igcvhp4daa9dh0yn4xbd8x821d";
+    rev = "9962b378a816c2f792dcbfe9e3f58ae16d5969dd"; # nightly
+    sha256 = "1ln14ma2iajlp9klj4bhrq0y9955rpw9aggvj7hcj1m5yqa0sdqn";
   };
 
   goPackagePath = "github.com/gokcehan/lf";
diff --git a/pkgs/tools/misc/lf/deps.nix b/pkgs/tools/misc/lf/deps.nix
index d3aff8de33c..bb136e98d66 100644
--- a/pkgs/tools/misc/lf/deps.nix
+++ b/pkgs/tools/misc/lf/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "abe82ce5fb7a42fbd6784a5ceb71aff977e09ed8"; # master
-      sha256 = "156i8apkga8b3272kjhapyqwspgcfkrr9kpqwc5lii43k4swghpv";
+      rev = "7994c181db7761ca3c67a217068cf31826113f5f"; # master
+      sha256 = "0ssc54wamn3h8z68kv4fdgvk3kjii95psi2kk0slsilmg5v6jzhj";
     };
   }
   {
diff --git a/pkgs/tools/misc/loadlibrary/default.nix b/pkgs/tools/misc/loadlibrary/default.nix
new file mode 100644
index 00000000000..6ebf86b06fa
--- /dev/null
+++ b/pkgs/tools/misc/loadlibrary/default.nix
@@ -0,0 +1,31 @@
+{ cabextract, glibc_multi, fetchFromGitHub, readline, stdenv_32bit }:
+
+# stdenv_32bit is needed because the program depends upon 32-bit libraries and does not have
+# support for 64-bit yet: it requires libc6-dev:i386, libreadline-dev:i386.
+
+stdenv_32bit.mkDerivation rec {
+  name = "loadlibrary-${version}";
+  version = "20170525-${stdenv_32bit.lib.strings.substring 0 7 rev}";
+  rev = "721b084c088d779075405b7f20c77c2578e2a961";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "taviso";
+    repo = "loadlibrary";
+    sha256 = "01hb7wzfh1s5b8cvmrmr1gqknpq5zpzj9prq3wrpsgg129jpsjkb";
+  };
+
+  buildInputs = [ glibc_multi cabextract readline stdenv_32bit.cc.libc ];
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    cp mpclient $out/bin/
+  '';
+
+  meta = with stdenv_32bit.lib; {
+    homepage = "https://github.com/taviso/loadlibrary";
+    description = "Porting Windows Dynamic Link Libraries to Linux";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.eleanor ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/misc/logstash/5.x.nix b/pkgs/tools/misc/logstash/5.x.nix
new file mode 100644
index 00000000000..13387b5c1a9
--- /dev/null
+++ b/pkgs/tools/misc/logstash/5.x.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, elk5Version, makeWrapper, jre  }:
+
+stdenv.mkDerivation rec {
+  version = elk5Version;
+  name = "logstash-${version}";
+
+  src = fetchurl {
+    url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
+    sha256 = "019bhsnbbbg1a4g9jf02j3jb1xhhmrr3i7882s5l4pmkyn1d3gd1";
+  };
+
+  dontBuild         = true;
+  dontPatchELF      = true;
+  dontStrip         = true;
+  dontPatchShebangs = true;
+
+  buildInputs = [
+    makeWrapper jre
+  ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r {Gemfile*,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
+
+    wrapProgram $out/bin/logstash \
+       --set JAVA_HOME "${jre}"
+
+    wrapProgram $out/bin/logstash-plugin \
+       --set JAVA_HOME "${jre}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Logstash is a data pipeline that helps you process logs and other event data from a variety of systems";
+    homepage    = https://www.elastic.co/products/logstash;
+    license     = licenses.asl20;
+    platforms   = platforms.unix;
+    maintainers = [ maintainers.wjlroe maintainers.offline ];
+  };
+}
diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
index a232028976d..51ac3249fed 100644
--- a/pkgs/tools/misc/moreutils/default.nix
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, libxml2, libxslt, docbook-xsl, docbook_xml_dtd_44, perl, IPCRun, TimeDate, TimeDuration, makeWrapper }:
+{ stdenv, fetchgit, libxml2, libxslt, docbook-xsl, docbook_xml_dtd_44, perl, IPCRun, TimeDate, TimeDuration, makeWrapper }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "moreutils-${version}";
-  version = "0.59";
+  version = "0.61";
 
-  src = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/m/moreutils/moreutils_${version}.orig.tar.gz";
-    sha256 = "1d6ik3j4lwp90vb93p7yv60k6vk2chz448d1z9xrmxvv371i33m4";
+  src = fetchgit {
+    url = "git://git.joeyh.name/moreutils";
+    rev = "refs/tags/${version}";
+    sha256 = "1qvwlq0a2zs7qkjqc9c842979axkjfdr7nic1gsm4zc6jd72y7pr";
   };
 
   preBuild = ''
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Growing collection of the unix tools that nobody thought to write long ago when unix was young";
     homepage = https://joeyh.name/code/moreutils/;
-    maintainers = with maintainers; [ koral ];
+    maintainers = with maintainers; [ koral pSub ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 08c672b5612..8097902b0d9 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -8,11 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0afk1q8mqzz02h6imyykgi9gwk5gj08hzs6lwgd65ilj4slkh93s";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  preFixup = ''
-    sed -i 's,#![ ]*/usr/bin/env[ ]*perl,#!${perl}/bin/perl,' $out/bin/*
+  nativeBuildInputs = [ makeWrapper perl ];
 
+  postInstall = ''
     wrapProgram $out/bin/parallel \
       ${if stdenv.isLinux then ("--prefix PATH \":\" ${procps}/bin") else ""} \
       --prefix PATH : "${perl}/bin" \
diff --git a/pkgs/tools/misc/patdiff/default.nix b/pkgs/tools/misc/patdiff/default.nix
new file mode 100644
index 00000000000..908da587d4b
--- /dev/null
+++ b/pkgs/tools/misc/patdiff/default.nix
@@ -0,0 +1,12 @@
+{ ocamlPackages }:
+
+with ocamlPackages;
+
+janePackage {
+  name = "patdiff";
+  hash = "15b6nkmd2z07j4nnmkb2g6qn3daw2xmmz3lgswkj03v29ffib014";
+  buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre ];
+  meta = {
+    description = "File Diff using the Patience Diff algorithm";
+  };
+}
diff --git a/pkgs/tools/misc/pick/default.nix b/pkgs/tools/misc/pick/default.nix
index a407a85d1a2..075949f47e1 100644
--- a/pkgs/tools/misc/pick/default.nix
+++ b/pkgs/tools/misc/pick/default.nix
@@ -2,19 +2,23 @@
 
 stdenv.mkDerivation rec {
   name = "pick-${version}";
-  version = "1.4.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "thoughtbot";
     repo = "pick";
     rev = "v${version}";
-    sha256 = "113if0jh7svwrwrxhrsbi7h1whfr5707v2ny4dc9kk2sjbv6b9pg";
+    sha256 = "0iw3yqwg8j0pg56xx52xwn7n95vxlqbqh71zrc934v4mq971qlhd";
   };
 
   buildInputs = [ ncurses ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
+  postPatch = ''
+    sed -i -e 's/\[curses]/\[ncurses]/g' configure.ac
+  '';
+
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "Fuzzy text selection utility";
diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix
index 4377b386d85..016e9726ad9 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -1,17 +1,18 @@
-{stdenv, fetchurl, qtbase, qtsvg, qttools, qmakeHook, makeQtWrapper}:
+{ stdenv, fetchurl, qtbase, qtsvg, qttools, qmakeHook, makeQtWrapper }:
 
 stdenv.mkDerivation rec {
   name = "qt5ct-${version}";
-  version = "0.30";
+  version = "0.33";
 
   src = fetchurl {
     url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2";
-    sha256 = "1k0ywd440qvf84chadjb4fnkn8dkfl56cc3a6wqg6a59drslvng6";
+    sha256 = "0by0wz40rl9gxvwbd85j0y5xy9mjab1cya96rv48x677v95lhm9f";
   };
 
-  buildInputs = [ qtbase qtsvg ];
   nativeBuildInputs = [ makeQtWrapper qmakeHook qttools ];
 
+  buildInputs = [ qtbase qtsvg ];
+
   preConfigure = ''
     qmakeFlags="$qmakeFlags PLUGINDIR=$out/lib/qt5/plugins"
   '';
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index 800fad3b564..b668b7af0d4 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,24 +1,28 @@
-{ stdenv, fetchurl, cmake, gengetopt, libX11, libXext, cppcheck}:
+{ stdenv, fetchFromGitHub, cmake
+, glm, mesa, gengetopt, libX11, libXext, libXrender, cppcheck}:
 
 stdenv.mkDerivation rec {
   name = "slop-${version}";
-  version = "4.1.16";
+  version = "6.3.41";
 
-  src = fetchurl {
-    url = "https://github.com/naelstrof/slop/archive/v${version}.tar.gz";
-    sha256 = "0679ax0jr97x91hmp9qrspdka8cvl3xa77z92k4qgicbnb6hr7y2";
+  src = fetchFromGitHub {
+    owner = "naelstrof";
+    repo = "slop";
+    rev = "v${version}";
+    sha256 = "051w2hcpz4qmvy7bmnzv7llxr2jbcpfxdadlzr2cidr323cann27";
   };
 
-  buildInputs = [ cmake gengetopt libX11 libXext ]
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ glm mesa gengetopt libX11 libXext libXrender ]
                 ++ stdenv.lib.optional doCheck cppcheck;
 
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/naelstrof/slop;
+    inherit (src.meta) homepage;
     description = "Queries a selection from the user and prints to stdout";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = with maintainers; [ mbakke ];
+    maintainers = with maintainers; [ primeos mbakke ];
   };
 }
diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix
new file mode 100644
index 00000000000..00fde7acafb
--- /dev/null
+++ b/pkgs/tools/misc/thefuck/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv, pkgs, ... }:
+
+pkgs.pythonPackages.buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "thefuck";
+  version = "3.18";
+
+  src = fetchurl {
+    url = "https://github.com/nvbn/${pname}/archive/${version}.tar.gz";
+    sha256 = "1xsvkqh89rgxq5w03mnlcfkn9y39nfwhb2pjabjspcc2mi2mq5y6";
+  };
+
+  propagatedBuildInputs = with pkgs.pythonPackages; [
+    psutil
+    colorama
+    six
+    decorator
+    pathlib2
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/nvbn/thefuck";
+    description = "Magnificent app which corrects your previous console command.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 95d1a7275d9..a749f250c11 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -13,7 +13,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "tmux-${version}";
-  version = "2.3";
+  version = "2.5";
 
   outputs = [ "out" "man" ];
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "14c6iw0p3adz7w8jm42w9f3s1zph9is10cbwdjgh5bvifrhxrary";
+    sha256 = "0zwjngfaqrlwwbzicc5pq5pyws8f1qghcajvj0hwkipj51hqyswf";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index c254490555c..03950d601d0 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -2,17 +2,17 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "tmuxp-${version}";
-  version = "1.2.7";
+  version = "1.3.1";
 
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://pypi/t/tmuxp/${name}.tar.gz";
-    sha256 = "19s17frgyjvyvmr16fs0gl5mnbaxbmdffmkckadwhd5mg0pz2i4s";
+    sha256 = "189mxnb2pxj3wjijn56j8y5x1r23fil00fn2q7d6bd13vgr0f85s";
   };
 
   patchPhase = ''
-    sed -i 's/==.*$//' requirements/test.txt
+    sed -i 's/==.*$//' requirements/base.txt requirements/test.txt
   '';
 
   buildInputs = with pythonPackages; [
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 40fc72a0d71..77308ecf2ed 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, coreutils
+{ stdenv, fetchFromGitHub, fetchpatch, coreutils
 , python3, python3Packages, substituteAll }:
 
 assert stdenv.isLinux;
@@ -21,6 +21,12 @@ python3Packages.buildPythonApplication rec {
       df = "${coreutils}/bin/df";
       libc = "${stdenv.cc.libc.out}/lib/libc.so.6";
     })
+
+    # Fix build on Python 3.6.
+    (fetchpatch {
+      url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
+      sha256 = "0w49rjh433sjfc2cl5a9wlbr6kcn9f1qg905qsyv7ay3ar75wvyp";
+    })
   ];
 
   buildInputs = with python3Packages; [ nose mock ];
diff --git a/pkgs/tools/misc/ultrastar-creator/default.nix b/pkgs/tools/misc/ultrastar-creator/default.nix
new file mode 100644
index 00000000000..0700c43b26e
--- /dev/null
+++ b/pkgs/tools/misc/ultrastar-creator/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub
+, qmakeHook, qtbase, makeQtWrapper
+, pkgconfig, taglib, libbass, libbass_fx }:
+
+stdenv.mkDerivation rec {
+  name = "ultrastar-creator-${version}";
+  version = "2017-04-12";
+
+  src = fetchFromGitHub {
+    owner = "UltraStar-Deluxe";
+    repo = "UltraStar-Creator";
+    rev = "ac519a003f8283bfbe5e2d8e9cdff3a3faf97001";
+    sha256 = "00idr8a178gvmylq722n13bli59kpxlsy5d8hlplqn7fih48mnzi";
+  };
+
+  postPatch = with stdenv.lib; ''
+    # we don’t want prebuild binaries checked into version control!
+    rm -rf lib include
+    sed -e "s|DESTDIR =.*$|DESTDIR = $out/bin|" \
+        -e 's|-L".*unix"||' \
+        -e "/QMAKE_POST_LINK/d" \
+        -e "s|../include/bass|${getLib libbass}/include|g" \
+        -e "s|../include/bass_fx|${getLib libbass_fx}/include|g" \
+        -e "s|../include/taglib|${getLib taglib}/include|g" \
+        -i src/UltraStar-Creator.pro
+  '';
+
+  preConfigure = ''
+    cd src
+  '';
+
+  nativeBuildInputs = [ qmakeHook makeQtWrapper pkgconfig ];
+  buildInputs = [ qtbase taglib libbass libbass_fx ];
+
+  meta = with stdenv.lib; {
+    description = "Ultrastar karaoke song creation tool";
+    homepage = https://github.com/UltraStar-Deluxe/UltraStar-Creator;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ profpatsch ];
+  };
+}
diff --git a/pkgs/tools/misc/ultrastar-manager/default.nix b/pkgs/tools/misc/ultrastar-manager/default.nix
new file mode 100644
index 00000000000..61b2c6aaa22
--- /dev/null
+++ b/pkgs/tools/misc/ultrastar-manager/default.nix
@@ -0,0 +1,121 @@
+{ stdenv, fetchFromGitHub, pkgconfig, symlinkJoin, qmakeHook, diffPlugins
+, qtbase, qtmultimedia, makeQtWrapper
+, taglib, libmediainfo, libzen, libbass }:
+
+let
+  version = "2017-05-24";
+  rev = "eed5dc41c849ab29b2dee37d97852fffdb45e390";
+  sha256 = "1ymdgaffazndg9vhh47qqjr5873ld7j066hycp670r08bm519ysg";
+  buildInputs = [ qtbase qtmultimedia taglib libmediainfo libzen libbass ];
+
+  plugins = [
+    "albumartex"
+    "amazon"
+    "audiotag"
+    "cleanup"
+    "freecovers"
+    "lyric"
+    "preparatory"
+    "rename"
+ ];
+
+  patchedSrc =
+    let src = fetchFromGitHub {
+      owner = "UltraStar-Deluxe";
+      repo = "UltraStar-Manager";
+      inherit rev sha256;
+    };
+    in stdenv.mkDerivation {
+      name = "${src.name}-patched";
+      inherit src;
+      phases = [ "unpackPhase" "patchPhase" ];
+
+      patchPhase = with stdenv.lib; ''
+        # we don’t want prebuild binaries checked into version control!
+        rm -rf lib include
+
+        # fix up main project file
+        sed -e 's|-L.*unix.*lbass.*$|-lbass|' \
+            -e "/QMAKE_POST_LINK/d" \
+            -e "s|../include/bass|${getLib libbass}/include|g" \
+            -e "s|../include/taglib|${getLib taglib}/include|g" \
+            -e "s|../include/mediainfo|${getLib libmediainfo}/include|g" \
+            -i src/UltraStar-Manager.pro
+
+        # if more plugins start depending on ../../../include,
+        # it should be abstracted out for all .pro files
+        sed -e "s|../../../include/taglib|${getLib taglib}/include/taglib|g" \
+            -i src/plugins/audiotag/audiotag.pro
+
+        mkdir $out
+        mv * $out
+      '';
+    };
+
+  patchApplicationPath = file: path: ''
+    sed -e "s|QCore.*applicationDirPath()|QString(\"${path}\")|" -i "${file}"
+  '';
+
+  buildPlugin = name: stdenv.mkDerivation {
+    name = "ultrastar-manager-${name}-plugin-${version}";
+    src = patchedSrc;
+
+    buildInputs = [ qmakeHook ] ++ buildInputs;
+
+    postPatch = ''
+      sed -e "s|DESTDIR = .*$|DESTDIR = $out|" \
+          -i src/plugins/${name}/${name}.pro
+
+      # plugins use the application’s binary folder (wtf)
+      for f in $(grep -lr "QCoreApplication::applicationDirPath" src/plugins); do
+        ${patchApplicationPath "$f" "\$out"}
+      done
+
+    '';
+    preConfigure = ''
+      cd src/plugins/${name}
+    '';
+  };
+
+  builtPlugins =
+    symlinkJoin {
+      name = "ultrastar-manager-plugins-${version}";
+      paths = map buildPlugin plugins;
+    };
+
+in stdenv.mkDerivation {
+  name = "ultrastar-manager-${version}";
+  src = patchedSrc;
+
+  postPatch = ''
+    sed -e "s|DESTDIR =.*$|DESTDIR = $out/bin|" \
+        -i src/UltraStar-Manager.pro
+    # patch plugin manager to point to the collected plugin folder
+    ${patchApplicationPath "src/plugins/QUPluginManager.cpp" builtPlugins}
+  '';
+
+  buildPhase = ''
+    find -path './src/plugins/*' -prune -type d -print0 \
+      | xargs -0 -i'{}' basename '{}' \
+      | sed -e '/shared/d' \
+      > found_plugins
+    ${diffPlugins plugins "found_plugins"}
+
+    cd src && qmake && make
+  '';
+
+  # is not installPhase so that qt post hooks can run
+  preInstall = ''
+    make install
+  '';
+
+  nativeBuildInputs = [ makeQtWrapper pkgconfig ];
+  inherit buildInputs;
+
+  meta = with stdenv.lib; {
+    description = "Ultrastar karaoke song manager";
+    homepage = https://github.com/UltraStar-Deluxe/UltraStar-Manager;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ profpatsch ];
+  };
+}
diff --git a/pkgs/tools/misc/vimer/default.nix b/pkgs/tools/misc/vimer/default.nix
new file mode 100644
index 00000000000..231ee9ac157
--- /dev/null
+++ b/pkgs/tools/misc/vimer/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.0";
+  name = "vimer-${version}";
+
+  src = fetchFromGitHub {
+    owner = "susam";
+    repo = "vimer";
+    rev = version;
+    sha256 = "01qhr3i7wasbaxvms39c81infpry2vk0nzh7r5m5b9p713p0phsi";
+  };
+
+  installPhase = ''
+    mkdir $out/bin/ -p
+    cp vimer $out/bin/
+    chmod +x $out/bin/vimer
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/susam/vimer";
+    description = ''
+      A convenience wrapper for gvim/mvim --remote(-tab)-silent to open files
+      in an existing instance of GVim or MacVim.
+    '';
+    license = licenses.mit;
+    maintainers = [ maintainers.matthiasbeyer ];
+    platforms = platforms.linux;
+  };
+
+}
+
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index 600b2c49758..1de8f8c9a10 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "yle-dl-${version}";
-  version = "2.15";
+  version = "2.16";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "1mvgw8ppv33j04mjsyb5rxg358v3i2zfgazwm7nc3ysc5yl091j5";
+    sha256 = "1ahv7b3r52mvi2b5ji77l62hy543b6pdmq8hnd9xxvnxai463k35";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 88750f6e0e1..853f644634d 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, buildPythonApplication
-, zip, ffmpeg, rtmpdump, atomicparsley, pandoc
+, zip, ffmpeg, rtmpdump, atomicparsley, pycryptodome, pandoc
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
 # manpage argument in place in case someone wants to use this derivation to
@@ -8,21 +8,23 @@
 , generateManPage ? false
 , ffmpegSupport ? true
 , rtmpSupport ? true
+, hlsEncryptedSupport ? true
 , makeWrapper }:
 
 with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2017.04.28";
+  version = "2017.05.29";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "0d3mgf8qxb07b7bjf79ppaxhcl4f47q0zjpshp6y2q0lalfskh3j";
+    sha256 = "11zh0h4hwwx39iv6qbkqbvf5a5mgj71ngj2kp7zmq7g0qh37x9rx";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ zip ] ++ optional generateManPage pandoc;
+  propagatedBuildInputs = optional hlsEncryptedSupport pycryptodome;
 
   # Ensure ffmpeg is available in $PATH for post-processing & transcoding support.
   # rtmpdump is required to download files over RTMP
diff --git a/pkgs/tools/nagstamon/default.nix b/pkgs/tools/nagstamon/default.nix
new file mode 100644
index 00000000000..3163b78437e
--- /dev/null
+++ b/pkgs/tools/nagstamon/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "nagstamon-${version}";
+  version = "2.0.1";
+
+  src = fetchurl {
+    url = "https://nagstamon.ifw-dresden.de/files/stable/Nagstamon-${version}.tar.gz";
+    sha256 = "3d4b22190d47250b175a4a70b12391c694ba2399832320887e5909e1ce3dfd7b";
+  };
+
+  # Test assumes darwin
+  doCheck = false;
+
+  propagatedBuildInputs = with pythonPackages; [ configparser pyqt5 psutil requests
+     beautifulsoup4  ];
+
+  meta = with stdenv.lib; {
+    description = "A status monitor for the desktop";
+    homepage = https://nagstamon.ifw-dresden.de/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    inherit version;
+  };
+}
diff --git a/pkgs/tools/networking/aiccu/default.nix b/pkgs/tools/networking/aiccu/default.nix
deleted file mode 100644
index a821c6476f7..00000000000
--- a/pkgs/tools/networking/aiccu/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, gnutls, iproute, makeWrapper }:
-
-stdenv.mkDerivation rec {
-
-  name = "aiccu-${version}";
-  version = "20070115";
-
-  src = fetchurl {
-    url = "http://http.debian.net/debian/pool/main/a/aiccu/aiccu_20070115.orig.tar.gz";
-    sha256 = "1k73vw7i25qzmnbvmsp3ci4pm6h8q70w70vnr512517s2q5gag6j";
-  };
-
-  buildInputs = [ gnutls iproute makeWrapper ];
-
-  patches = [
-    (fetchurl {
-      url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk/gnutls-3.4.0.patch?h=packages/aiccu&id=cc6decc4e734420e4c5d0cd28652077f6bd88d84";
-      sha256 = "1ni3lhwy3r54js124p7fhm1my82a703chvh07vrhslb4v4b71g5s";
-      name = "gnutls-3.4.0.patch";
-    })
-  ];
-
-  configureFlags = "--prefix=$out";
-  installPhase = ''
-    install -D -m 755 unix-console/aiccu $out/bin/aiccu
-    install -D -m 644 doc/aiccu.sgml $out/doc/aiccu.sgml
-    install -D -m 644 doc/aiccu.1 $out/share/man/man1/aiccu.1
-    wrapProgram "$out/bin/aiccu" \
-      --prefix PATH : "${iproute}/bin"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Automatic IPv6 Connectivity Configuration Utility";
-    homepage = "https://www.sixxs.net/tools/aiccu/";
-    longDescription = ''
-      A TIC+ heartbeart client for the public dynamic-IPv4 IPv6 tunnel beta test from the SixXS tunnel service provider.
-    '';
-    maintainers = with maintainers; [ edwtjo ];
-    license = "SixXS";
-    platforms = with platforms; linux;
-  };
-
-}
diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix
index 906e3eda3a6..ae36980a60d 100644
--- a/pkgs/tools/networking/biosdevname/default.nix
+++ b/pkgs/tools/networking/biosdevname/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Udev helper for naming devices per BIOS names";
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = ["x86_64-linux" "i686-linux"];
     maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index 49c88d817a4..fd78c52bc4f 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -4,24 +4,24 @@ stdenv.mkDerivation rec {
 
   name = pname + "-" + version;
   pname = "i2pd";
-  version = "2.13.0";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "1gz8jmy2vq520w642jiff1zg4qpgpm2qkad5dgrq9f14ri14lkpp";
+    sha256 = "1nlnzvb4n351zwg4vd15qjmm8xvbmn2350vfnd249q06va62fqjk";
   };
 
   buildInputs = [ boost zlib openssl ];
-  makeFlags = "USE_AESNI=no";
+  makeFlags = [ "USE_AESNI=no" "USE_AVX=no" ];
 
   installPhase = ''
     install -D i2pd $out/bin/i2pd
   '';
 
   meta = with stdenv.lib; {
-    homepage = "https://track.privacysolutions.no/projects/i2pd";
+    homepage = "https://i2pd.website";
     description = "Minimal I2P router written in C++";
     license = licenses.gpl2;
     maintainers = with maintainers; [ edwtjo ];
diff --git a/pkgs/tools/networking/imapsync/default.nix b/pkgs/tools/networking/imapsync/default.nix
index d01e0ededb3..c05928fa34b 100644
--- a/pkgs/tools/networking/imapsync/default.nix
+++ b/pkgs/tools/networking/imapsync/default.nix
@@ -1,10 +1,10 @@
 {stdenv, makeWrapper, fetchurl, perl, openssl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "imapsync-1.684";
+  name = "imapsync-1.727";
   src = fetchurl {
-    url = "https://fedorahosted.org/released/imapsync/${name}.tgz";
-    sha256 = "1ilqdaabh6xiwpjfdg2mrhygvjlxj6jdkmqjqadq5z29172hji5b";
+    url = "https://releases.pagure.org/imapsync/${name}.tgz";
+    sha256 = "1axacjw2wyaphczfw3kfmi5cl83fyr8nb207nks40fxkbs8q5dlr";
   };
 
   patchPhase = ''
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
   buildInputs = with perlPackages; [ perl openssl MailIMAPClient TermReadKey
     IOSocketSSL DigestHMAC URI FileCopyRecursive IOTee UnicodeString
     DataUniqid JSONWebToken TestMockGuard LWP CryptOpenSSLRSA
-    LWPProtocolHttps
+    LWPProtocolHttps Readonly TestPod TestMockObject ParseRecDescent
+    IOSocketInet6 NTLM
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/mcrcon/default.nix b/pkgs/tools/networking/mcrcon/default.nix
new file mode 100644
index 00000000000..eda93c82cce
--- /dev/null
+++ b/pkgs/tools/networking/mcrcon/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "mcrcon-${version}";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "Tiiffi";
+    repo = "mcrcon";
+    rev = "v${version}";
+    sha256 = "1pwr1cjldjy8bxqpp7w03nvdpw8l4vqfnk6w6b3mf0qpap1k700z";
+  };
+
+  buildPhase = ''
+    $CC mcrcon.c -o mcrcon
+  '';
+
+  installPhase = ''
+    install -Dm 755 mcrcon $out/bin/mcrcon
+  '';
+
+  meta = {
+    homepage = https://bukkit.org/threads/admin-rcon-mcrcon-remote-connection-client-for-minecraft-servers.70910/;
+    description = "Minecraft console client with Bukkit coloring support.";
+    longDescription = ''
+      Mcrcon is a powerful Minecraft RCON terminal client with Bukkit coloring support.
+      It is well suited for remote administration and to be used as part of automated server maintenance scripts.
+      It does not trigger "IO: Broken pipe" or "IO: Connection reset" spam bugs on the server side.
+    '';
+    maintainers = with stdenv.lib.maintainers; [ dermetfan ];
+    license = with stdenv.lib.licenses; [ zlib libpng ];
+  };
+}
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index bf21bae0cd6..09459e0e283 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -24,11 +24,11 @@ let
     };
 in {
   miniupnpc_2 = generic {
-    version = "2.0.20161216";
-    sha256 = "0gpxva9jkjvqwawff5y51r6bmsmdhixl3i5bmzlqsqpwsq449q81";
+    version = "2.0.20170509";
+    sha256 = "0spi75q6nafxp3ndnrhrlqagzmjlp8wwlr5x7rnvdpswgxi6ihyk";
   };
   miniupnpc_1 = generic {
-    version = "1.9.20150430";
-    sha256 = "0ivnvzla0l2pzmy8s0j8ss0fnpsii7z9scvyl4a13g9k911hgmvn";
+    version = "1.9.20160209";
+    sha256 = "0vsbv6a8by67alx4rxfsrxxsnmq74rqlavvvwiy56whxrkm728ap";
   };
 }
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 58e5e9343a7..585ffe1d3b1 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -3,7 +3,7 @@
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
-, python3Packages, docbook_xsl, fetchpatch }:
+, python3Packages, docbook_xsl, fetchpatch, openconnect }:
 
 stdenv.mkDerivation rec {
   name    = "network-manager-${version}";
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
       --replace /bin/sed ${gnused}/bin/sed
     substituteInPlace data/NetworkManager.service.in \
       --replace /bin/kill ${coreutils}/bin/kill
+    substituteInPlace clients/common/nm-vpn-helpers.c \
+      --subst-var-by openconnect ${openconnect}
     # to enable link-local connections
     configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
   '';
@@ -76,6 +78,7 @@ stdenv.mkDerivation rec {
       name = "null-dereference.patch";
       url = "https://github.com/NetworkManager/NetworkManager/commit/4e8eddd100bbc8429806a70620c90b72cfd29cb1.patch";
     })
+    ./openconnect_helper_path.patch
   ];
 
   buildInputs = [ systemd libgudev libnl libuuid polkit ppp libndp
diff --git a/pkgs/tools/networking/network-manager/openconnect_helper_path.patch b/pkgs/tools/networking/network-manager/openconnect_helper_path.patch
new file mode 100644
index 00000000000..597fb753e26
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/openconnect_helper_path.patch
@@ -0,0 +1,29 @@
+diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
+index 15611c45c..4a7444d3a 100644
+--- a/clients/common/nm-vpn-helpers.c
++++ b/clients/common/nm-vpn-helpers.c
+@@ -203,23 +203,8 @@ nm_vpn_openconnect_authenticate_helper (const char *host,
+ 	gboolean ret;
+ 	char **strv = NULL, **iter;
+ 	char *argv[4];
+-	const char *path;
+-	const char *const DEFAULT_PATHS[] = {
+-		"/sbin/",
+-		"/usr/sbin/",
+-		"/usr/local/sbin/",
+-		"/bin/",
+-		"/usr/bin/",
+-		"/usr/local/bin/",
+-		NULL,
+-	};
+-
+-	path = nm_utils_file_search_in_paths ("openconnect", "/usr/sbin/openconnect", DEFAULT_PATHS,
+-	                                      G_FILE_TEST_IS_EXECUTABLE, NULL, NULL, error);
+-	if (!path)
+-		return FALSE;
+ 
+-	argv[0] = (char *) path;
++	argv[0] = "@openconnect@/bin/openconnect";
+ 	argv[1] = "--authenticate";
+ 	argv[2] = (char *) host;
+ 	argv[3] = NULL;
diff --git a/pkgs/tools/networking/networkmanager_dmenu/default.nix b/pkgs/tools/networking/networkmanager_dmenu/default.nix
index f9b84be6015..79fad953a2c 100644
--- a/pkgs/tools/networking/networkmanager_dmenu/default.nix
+++ b/pkgs/tools/networking/networkmanager_dmenu/default.nix
@@ -4,13 +4,13 @@
 let inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
   name = "networkmanager_dmenu-unstable-${version}";
-  version = "2017-04-13";
+  version = "2017-05-28";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = "networkmanager-dmenu";
-    rev = "fbc0704702b32c2efb30ba6b5c0ad6f054a71a18";
-    sha256 = "1584zrhla1njvkrbvb1rq66q06gs510f0l1ls3z7x7jmn322y6yr";
+    rev = "eeb8e6922dee887890884f129b51bb21b0047d30";
+    sha256 = "00n82sjjqk76sfxi92f5vnzpngk66cqwyzqdanbszpl019ajr5h6";
   };
 
   buildInputs = [ glib python pygobject3 gobjectIntrospection networkmanager python3Packages.wrapPython ];
diff --git a/pkgs/tools/networking/nss-pam-ldapd/default.nix b/pkgs/tools/networking/nss-pam-ldapd/default.nix
index 8bb2d7f3c76..9e7282c40bd 100644
--- a/pkgs/tools/networking/nss-pam-ldapd/default.nix
+++ b/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nss-pam-ldapd-${version}";
-  version = "0.8.13";
+  version = "0.9.7";
   
   src = fetchurl {
     url = "http://arthurdejong.org/nss-pam-ldapd/${name}.tar.gz";
-    sha256 = "08jxxskzv983grc28zksk9fd8q5qad64rma9vcjsq0l4r6cax4mp";
+    sha256 = "1sw36w6zkzvabvjckqick032j5p5xi0qi3sgnh0znzxz31jqvf0d";
   };
   
   buildInputs = [ makeWrapper pkgconfig python openldap pam ];
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 0bcb0baaab8..aaef2723da0 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -49,6 +49,13 @@ stdenv.mkDerivation rec {
     ]
     ++ optional withGssapiPatches gssapiSrc;
 
+  postPatch =
+    # On Hydra this makes installation fail (sometimes?),
+    # and nix store doesn't allow such fancy permission bits anyway.
+    ''
+      substituteInPlace Makefile.in --replace '$(INSTALL) -m 4711' '$(INSTALL) -m 0711'
+    '';
+
   buildInputs = [ zlib openssl libedit pkgconfig pam ]
     ++ optional withKerberos kerberos
     ++ optional hpnSupport autoreconfHook;
diff --git a/pkgs/tools/networking/pirate-get/default.nix b/pkgs/tools/networking/pirate-get/default.nix
new file mode 100644
index 00000000000..bd7e87e2c10
--- /dev/null
+++ b/pkgs/tools/networking/pirate-get/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, python3Packages }:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "pirate-get";
+  version = "0.2.10";
+
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04gsilbyq2plldzi495dcf19h5xfldfyn6zdczj2fdki1m29jyr0";
+  };
+
+  propagatedBuildInputs = [ colorama veryprettytable beautifulsoup4 ];
+
+  meta = with stdenv.lib; {
+    description = "A command line interface for The Pirate Bay";
+    homepage = https://github.com/vikstrous/pirate-get;
+    license = licenses.gpl1;
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/simpleproxy/default.nix b/pkgs/tools/networking/simpleproxy/default.nix
new file mode 100644
index 00000000000..476e7dc229d
--- /dev/null
+++ b/pkgs/tools/networking/simpleproxy/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "simpleproxy-${version}";
+  version = "3.5";
+  rev = "v.${version}";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "vzaliva";
+    repo = "simpleproxy";
+    sha256 = "1my9g4vp19dikx3fsbii4ichid1bs9b9in46bkg05gbljhj340f6";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/vzaliva/simpleproxy;
+    description = "A simple TCP proxy";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.montag451 ];
+  };
+}
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 5a9cf8f1f4b..2225df308ac 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "strongswan-${version}";
-  version = "5.5.2";
+  version = "5.5.3";
 
   src = fetchurl {
     url = "http://download.strongswan.org/${name}.tar.bz2";
-    sha256 = "0slzrr5amn1rs9lrjca0fv5n1ya5jwlspfiqg9xzq1bghg56z5ys";
+    sha256 = "1m7qq0l5pwj1wy0f7h2b7msb1d98rx78z6xg27g0hiqpk6qm9sn5";
   };
 
   dontPatchELF = true;
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 0a1d557dd93..7fc5fb90173 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "000lylg5qgriaxh6k78l2inb905qshx01kxgmqj89zn08gvn7ps2";
+    sha256 = "0pw4m4z5qspsagxzbjb61xq5bhd57amw26xqvqzi6b8d3mf6azjc";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 536b9a07a4f..bef203e588e 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
 , pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, readline
 , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
+, libseccomp, busybox
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
 , confDir ? "/etc"
@@ -8,23 +9,38 @@
 
 let
 
-  common = { name, suffix ? "", src, patchPhase ? "", fromGit ? false }: stdenv.mkDerivation rec {
-    inherit name src patchPhase;
+  sh = busybox.override {
+    useMusl = true;
+    enableStatic = true;
+    enableMinimal = true;
+    extraConfig = ''
+      CONFIG_ASH y
+      CONFIG_ASH_BUILTIN_ECHO y
+      CONFIG_ASH_BUILTIN_TEST y
+      CONFIG_ASH_OPTIMIZE_FOR_SIZE y
+    '';
+  };
+
+  common = { name, suffix ? "", src, fromGit ? false }: stdenv.mkDerivation rec {
+    inherit name src;
     version = lib.getVersion name;
 
+    is112 = lib.versionAtLeast version "1.12pre";
+
     VERSION_SUFFIX = lib.optionalString fromGit suffix;
 
     outputs = [ "out" "dev" "man" "doc" ];
 
     nativeBuildInputs =
       [ pkgconfig ]
-      ++ lib.optionals (!lib.versionAtLeast version "1.12pre") [ perl ]
+      ++ lib.optionals (!is112) [ perl ]
       ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook5_xsl ];
 
     buildInputs = [ curl openssl sqlite xz ]
       ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
       ++ lib.optionals fromGit [ brotli readline ] # Since 1.12
-      ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && lib.versionAtLeast version "1.12pre")
+      ++ lib.optional stdenv.isLinux libseccomp
+      ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is112)
           (aws-sdk-cpp.override {
             apis = ["s3"];
             customMemoryManagement = false;
@@ -48,10 +64,12 @@ let
         "--disable-init-state"
         "--enable-gc"
       ]
-      ++ lib.optionals (!lib.versionAtLeast version "1.12pre") [
+      ++ lib.optionals (!is112) [
         "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}"
         "--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}"
         "--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}"
+      ] ++ lib.optionals (is112 && stdenv.isLinux) [
+        "--with-sandbox-shell=${sh}/bin/busybox"
       ];
 
     makeFlags = "profiledir=$(out)/etc/profile.d";
@@ -98,6 +116,7 @@ let
       license = stdenv.lib.licenses.lgpl2Plus;
       maintainers = [ stdenv.lib.maintainers.eelco ];
       platforms = stdenv.lib.platforms.all;
+      outputsToInstall = [ "out" "man" ];
     };
 
     passthru = { inherit fromGit; };
@@ -129,30 +148,21 @@ in rec {
   nix = nixStable;
 
   nixStable = (common rec {
-    name = "nix-1.11.9";
+    name = "nix-1.11.10";
     src = fetchurl {
       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "0e943e277f37843f9196b0293cc31d828613ad7a328ee77cd5be01935dc6e7e1";
+      sha256 = "b29a458c2b803bcc07d8b58cd016ca6ad0788a73ca74edaeaebc588961322467";
     };
-
-    # Until 1.11.9 is released, we do this :)
-    patchPhase = ''
-      substituteInPlace src/libexpr/json-to-value.cc \
-        --replace 'std::less<Symbol>, gc_allocator<Value *>' \
-                  'std::less<Symbol>, gc_allocator<std::pair<const Symbol, Value *> >'
-
-      sed -i '/if (settings.readOnlyMode) {/a curSchema = getSchema();' src/libstore/local-store.cc
-    '';
   }) // { perl-bindings = nixStable; };
 
   nixUnstable = (lib.lowPrio (common rec {
     name = "nix-1.12${suffix}";
-    suffix = "pre5350_7689181e";
+    suffix = "pre5413_b4b1f452";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "7689181e4f5921d3356736996079ec0310e834c6";
-      sha256 = "08daxcpj18dffsbqs3fckahq06gzs8kl6xr4b4jgijwdl5vqwiri";
+      rev = "b4b1f4525f8dc8f320d666c208bff5cb36777580";
+      sha256 = "0qb18k2rp6bbg8g50754srl95dq0lr96i297856yhrx1hh1ja37z";
     };
     fromGit = true;
   })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
index 252be087675..4fa200e5bbd 100644
--- a/pkgs/tools/security/afl/default.nix
+++ b/pkgs/tools/security/afl/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "afl-${version}";
-  version = "2.41b";
+  version = "2.42b";
 
   src = fetchurl {
     url    = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
-    sha256 = "13wnjk0rklcjglj7dmpahv67vig9azifxgnggj56hki66lrb2w06";
+    sha256 = "16ckgi4rh48rdmqcyxgabzcsmkfq77jjaghbxw9smkkm4sbx3yhk";
   };
 
   # Note: libcgroup isn't needed for building, just for the afl-cgroup
diff --git a/pkgs/tools/security/aide/default.nix b/pkgs/tools/security/aide/default.nix
index d190dff842b..5779faec6b9 100644
--- a/pkgs/tools/security/aide/default.nix
+++ b/pkgs/tools/security/aide/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, flex, bison, libmhash, zlib, acl, attr, libselinux }:
+{ stdenv, fetchurl, flex, bison, libmhash, zlib, acl, attr, libselinux, pcre }:
+
 stdenv.mkDerivation rec {
   name = "aide-${version}";
-  version = "0.16a2";
+  version = "0.16";
 
   src = fetchurl {
-    url = "mirror://sourceforge/aide/devel/0.16a2/aide-${version}.tar.gz";
-    sha256 = "11qvp6l2x4ajq9485lmg722gfdikh8r2wqfw17m0jm68df0m295m";
+    url = "mirror://sourceforge/aide/${version}/aide-${version}.tar.gz";
+    sha256 = "0ibkv4z2gk14fn014kq13rp2ysiq6nn2cflv2q5i7zf466hm6758";
   };
 
-  buildInputs = [ flex bison libmhash zlib acl attr libselinux ];
+  buildInputs = [ flex bison libmhash zlib acl attr libselinux pcre ];
 
 
   configureFlags = [
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index 914247dcd0b..e450cf5952e 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.26";
+  version = "1.4.27";
   name = "ccid-${version}";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/file/4205/ccid-1.4.26.tar.bz2";
-    sha256 = "0bxy835c133ajalpj4gx60nqkjvpf9y1n97n04pw105pi9qbyrrj";
+    url = "https://alioth.debian.org/frs/download.php/file/4218/ccid-1.4.27.tar.bz2";
+    sha256 = "0dyikpmhsph36ndgd61bs4yx437v5y0bmm8ahjacp1k9c1ly4q56";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/security/cfssl/default.nix b/pkgs/tools/security/cfssl/default.nix
new file mode 100644
index 00000000000..91a5fa4bdd2
--- /dev/null
+++ b/pkgs/tools/security/cfssl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, pkgs }:
+
+buildGoPackage rec {
+  name = "cfssl-${version}";
+  version = "20170527";
+
+  goPackagePath = "github.com/cloudflare/cfssl";
+
+  src = fetchFromGitHub {
+    owner = "cloudflare";
+    repo = "cfssl";
+    rev = "114dc9691ec7bf3dac49d5953eccf7d91a0e0904";
+    sha256 = "1ijq43mrzrf1gkgj5ssxq7sgy6sd4rl706dzqkq9krqv5f6kwhj1";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://cfssl.org/;
+    description = "Cloudflare's PKI and TLS toolkit";
+    platforms = platforms.linux;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ mbrgm ];
+  };
+}
diff --git a/pkgs/tools/security/hashcat/hashcat3/default.nix b/pkgs/tools/security/hashcat/hashcat3/default.nix
index 810d9df9e2f..c8a8acf907d 100644
--- a/pkgs/tools/security/hashcat/hashcat3/default.nix
+++ b/pkgs/tools/security/hashcat/hashcat3/default.nix
@@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
 
   # $out is not known until the build has started.
   configurePhase = ''
+    runHook preConfigure
     makeFlags="$makeFlags PREFIX=$out"
+    runHook postConfigure
   '';
 
   postFixup = ''
diff --git a/pkgs/tools/security/kwalletcli/default.nix b/pkgs/tools/security/kwalletcli/default.nix
new file mode 100644
index 00000000000..c6217024f1b
--- /dev/null
+++ b/pkgs/tools/security/kwalletcli/default.nix
@@ -0,0 +1,55 @@
+{
+  kdeDerivation, kdeWrapper, fetchurl, lib,
+  pkgconfig,
+  kcoreaddons, ki18n, kwallet,
+  mksh
+}:
+
+let
+  pname = "kwalletcli";
+  version = "3.00";
+
+  unwrapped = kdeDerivation rec {
+    name = "${pname}-${version}";
+
+    src = fetchurl {
+      url = "https://www.mirbsd.org/MirOS/dist/hosted/kwalletcli/${name}.tar.gz";
+      sha256 = "1q87nm7pkmgvkrml6hgbmv0ddx3871w7x86gn90sjc3vw59qfh98";
+    };
+
+    postPatch = ''
+      substituteInPlace GNUmakefile \
+        --replace '-I/usr/include/KF5/KCoreAddons' '-I${kcoreaddons.dev}/include/KF5/KCoreAddons' \
+        --replace '-I/usr/include/KF5/KI18n'       '-I${ki18n.dev}/include/KF5/KI18n' \
+        --replace '-I/usr/include/KF5/KWallet'     '-I${kwallet.dev}/include/KF5/KWallet' \
+        --replace /usr/bin                         $out/bin \
+        --replace /usr/share/man                   $out/share/man
+    '';
+
+    makeFlags = [ "KDE_VER=5" ];
+
+    # we need this when building against qt 5.8+
+    NIX_CFLAGS_COMPILE = [ "-std=c++11" ];
+
+    nativeBuildInputs = [ pkgconfig ];
+    # if using just kwallet, cmake will be added as a buildInput and fail the build
+    propagatedBuildInputs = [ kcoreaddons ki18n (lib.getLib kwallet) ];
+
+    preInstall = ''
+      mkdir -p $out/bin $out/share/man/man1
+    '';
+
+    meta = with lib; {
+      description = "Command-Line Interface to the KDE Wallet";
+      homepage = http://www.mirbsd.org/kwalletcli.htm;
+      license = licenses.miros;
+      maintainers = with maintainers; [ peterhoeg ];
+    };
+  };
+
+in kdeWrapper {
+  inherit unwrapped;
+  targets = map (b: "bin/" + b)
+    [ "kwalletaskpass" "kwalletcli" "kwalletcli_getpin" "pinentry-kwallet" ];
+  paths = [ mksh ];
+}
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 52987d4bf8c..de44760bde7 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/4.14.17"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/4.14.25"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index f19dc8b068e..d3a88a50aec 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,12 +1,13 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: fd3da8f3350d6cf7f0449bf0ead4d51747525c0a
-  ref: refs/tags/4.14.17
+  revision: 8a194207f07c2b8c91c1a72e57c25683d4e9f744
+  ref: refs/tags/4.14.25
   specs:
-    metasploit-framework (4.14.17)
+    metasploit-framework (4.14.25)
       actionpack (~> 4.2.6)
       activerecord (~> 4.2.6)
       activesupport (~> 4.2.6)
+      backports
       bcrypt
       bit-struct
       filesize
@@ -16,7 +17,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 1.2.29)
+      metasploit-payloads (= 1.2.32)
       metasploit_data_models
       metasploit_payloads-mettle (= 0.1.9)
       msgpack
@@ -36,7 +37,7 @@ GIT
       rb-readline
       recog
       redcarpet
-      rex-arch (= 0.1.4)
+      rex-arch
       rex-bin_tools
       rex-core
       rex-encoder
@@ -96,8 +97,9 @@ GEM
     addressable (2.5.1)
       public_suffix (~> 2.0, >= 2.0.2)
     arel (6.0.4)
-    arel-helpers (2.3.0)
+    arel-helpers (2.4.0)
       activerecord (>= 3.1.0, < 6)
+    backports (3.8.0)
     bcrypt (3.1.11)
     bindata (2.4.0)
     bit-struct (0.16)
@@ -106,7 +108,7 @@ GEM
     faraday (0.12.1)
       multipart-post (>= 1.2, < 3)
     filesize (0.1.1)
-    i18n (0.8.1)
+    i18n (0.8.4)
     jsobfu (0.4.2)
       rkelly-remix
     json (2.1.0)
@@ -117,19 +119,20 @@ GEM
       activemodel (~> 4.2.6)
       activesupport (~> 4.2.6)
       railties (~> 4.2.6)
-    metasploit-credential (2.0.9)
+    metasploit-credential (2.0.10)
       metasploit-concern
       metasploit-model
       metasploit_data_models
       pg
       railties
+      rex-socket
       rubyntlm
       rubyzip
     metasploit-model (2.0.4)
       activemodel (~> 4.2.6)
       activesupport (~> 4.2.6)
       railties (~> 4.2.6)
-    metasploit-payloads (1.2.29)
+    metasploit-payloads (1.2.32)
     metasploit_data_models (2.0.14)
       activerecord (~> 4.2.6)
       activesupport (~> 4.2.6)
@@ -141,7 +144,7 @@ GEM
       railties (~> 4.2.6)
       recog (~> 2.0)
     metasploit_payloads-mettle (0.1.9)
-    mini_portile2 (2.1.0)
+    mini_portile2 (2.2.0)
     minitest (5.10.2)
     msgpack (1.1.0)
     multipart-post (2.0.0)
@@ -149,8 +152,8 @@ GEM
     net-ssh (4.1.0)
     network_interface (0.0.1)
     nexpose (6.0.0)
-    nokogiri (1.7.2)
-      mini_portile2 (~> 2.1.0)
+    nokogiri (1.8.0)
+      mini_portile2 (~> 2.2.0)
     octokit (4.7.0)
       sawyer (~> 0.8.0, >= 0.5.3)
     openssl-ccm (1.2.1)
@@ -166,7 +169,7 @@ GEM
       arel (>= 4.0.1)
       pg_array_parser (~> 0.0.9)
     public_suffix (2.0.5)
-    rack (1.6.6)
+    rack (1.6.8)
     rack-test (0.6.3)
       rack (>= 1.0)
     rails-deprecated_sanitizer (1.0.3)
@@ -184,10 +187,10 @@ GEM
       thor (>= 0.18.1, < 2.0)
     rake (12.0.0)
     rb-readline (0.5.4)
-    recog (2.1.6)
+    recog (2.1.8)
       nokogiri
     redcarpet (3.4.0)
-    rex-arch (0.1.4)
+    rex-arch (0.1.8)
       rex-text
     rex-bin_tools (0.1.3)
       metasm
@@ -234,7 +237,7 @@ GEM
       rex-text
     rkelly-remix (0.0.7)
     robots (0.10.1)
-    ruby_smb (0.0.12)
+    ruby_smb (0.0.18)
       bindata
       rubyntlm
       windows_error
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 5e21996caac..4cc287c40f2 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, ruby, bundlerEnv, ncurses }:
+{ stdenv, fetchFromGitHub, makeWrapper, ruby, bundlerEnv }:
 
 # Maintainer notes for updating:
 # 1. increment version number in expression and in Gemfile
@@ -13,13 +13,13 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "metasploit-framework-${version}";
-  version = "4.14.17";
+  version = "4.14.25";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "0g666lxin9f0v9vhfh3s913ym8fnh32rpfl1rpj8d8n1azch5fn0";
+    sha256 = "0cp1ybq29a0r7kabg4p2yj0qm90hjvr4xxp0pynb2g406sbyycjm";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index f4e4b91fcd9..ff3e4d5d832 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -58,10 +58,18 @@
   arel-helpers = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k8hqa2505b2s3w6gajh2lvi2mn832yqldiy2z4c55phzkmr08sr";
+      sha256 = "1sx4qbzhld3a99175p2krz3hv1npc42rv3sd8x4awzkgplg3zy9c";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
+  };
+  backports = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17pcz0z6jms5jydr1r95kf1bpk3ms618hgr26c62h34icy9i1dpm";
+      type = "gem";
+    };
+    version = "3.8.0";
   };
   bcrypt = {
     source = {
@@ -122,10 +130,10 @@
   i18n = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s6971zmjxszdrp59vybns9gzxpdxzdklakc5lp8nl4fx5kpxkbp";
+      sha256 = "1j491wrfzham4nk8q4bifah3lx7nr8wp9ahfb7vd3hxn71v7kic7";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.8.4";
   };
   jsobfu = {
     source = {
@@ -170,20 +178,20 @@
   metasploit-credential = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y36f1f4nw0imhfbckl213ah7qgfldrkv2fpv2acslb6iqiaa3gk";
+      sha256 = "1zblyy2yv31zap6dzf3lpkhvnafkwbzdvr6nsqmyh95ci8yy1q6r";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.0.10";
   };
   metasploit-framework = {
     source = {
       fetchSubmodules = false;
-      rev = "fd3da8f3350d6cf7f0449bf0ead4d51747525c0a";
-      sha256 = "1r04drq34qfbhmhp0mqnm13vrycr7dcq670zk8xqiif5rhbij6qv";
+      rev = "8a194207f07c2b8c91c1a72e57c25683d4e9f744";
+      sha256 = "0q7iv9wd65ji1cay6am4dskrlibvp3wyn66gvld8p1nfnnvn5vmq";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "4.14.17";
+    version = "4.14.25";
   };
   metasploit-model = {
     source = {
@@ -196,10 +204,10 @@
   metasploit-payloads = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c6wvnxgwdiryz5skzrp2wcfbxp57icaclckjcaxlw63v09wgjii";
+      sha256 = "1dqnyzp60da6f8kgnbpjmv5xsg1hvyyd2jkkzbh69sgwp4nw3i9g";
       type = "gem";
     };
-    version = "1.2.29";
+    version = "1.2.32";
   };
   metasploit_data_models = {
     source = {
@@ -220,10 +228,10 @@
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
+      sha256 = "0g5bpgy08q0nc0anisg3yvwc1gc3inl854fcrg48wvg7glqd6dpm";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
   };
   minitest = {
     source = {
@@ -284,10 +292,10 @@
   nokogiri = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jd8q3pr5rkrxx1vklvhcqcgl8kmfv5c8ny36ni3z5mirw6cm70c";
+      sha256 = "1nffsyx1xjg6v5n9rrbi8y1arrcx2i5f21cp6clgh9iwiqkr7rnn";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.8.0";
   };
   octokit = {
     source = {
@@ -372,10 +380,10 @@
   rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "073d6rjgqfb4xjhbshyrflqgbdvxqvx4b907j2d4mi5qgbv8y2ax";
+      sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
       type = "gem";
     };
-    version = "1.6.6";
+    version = "1.6.8";
   };
   rack-test = {
     source = {
@@ -436,10 +444,10 @@
   recog = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ypzrn40jbjbzwdbbjkcqdm74zlsc0yr2iqs0yn479fa5k8ajw4";
+      sha256 = "0d12889rx9ylm0jybg9n5sqx0v413hy9zjqs9rd9qjd1kjva7y87";
       type = "gem";
     };
-    version = "2.1.6";
+    version = "2.1.8";
   };
   redcarpet = {
     source = {
@@ -452,10 +460,10 @@
   rex-arch = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y2mzv6wkqgclxl1x65mdq4d0lcgbbny4r1v24c16gi4jg9nsnc1";
+      sha256 = "13dyic499iblhddmy7w01ajr5l5rm6szagy6vz7sx138y21d1y6f";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "0.1.8";
   };
   rex-bin_tools = {
     source = {
@@ -612,10 +620,10 @@
   ruby_smb = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v2acyx6csndb08sidb1pbixn2dlx9s75cpnjv4riwj0qlp8blli";
+      sha256 = "1jby5wlppxhc2jlqldic05aqd5l57171lsxqv86702grk665n612";
       type = "gem";
     };
-    version = "0.0.12";
+    version = "0.0.18";
   };
   rubyntlm = {
     source = {
@@ -705,4 +713,4 @@
     };
     version = "0.3.0";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/tools/security/metasploit/shell.nix b/pkgs/tools/security/metasploit/shell.nix
index 7d1b66ba419..cd7a01214c6 100644
--- a/pkgs/tools/security/metasploit/shell.nix
+++ b/pkgs/tools/security/metasploit/shell.nix
@@ -3,6 +3,8 @@ with import <nixpkgs> {};
 stdenv.mkDerivation {
   name = "env";
   buildInputs = [
+    ruby.devEnv
+    git
     sqlite
     libpcap
     postgresql
diff --git a/pkgs/tools/security/nitrokey-app/FixInstallDestination.patch b/pkgs/tools/security/nitrokey-app/FixInstallDestination.patch
deleted file mode 100644
index 7acd7239b39..00000000000
--- a/pkgs/tools/security/nitrokey-app/FixInstallDestination.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -273,7 +273,7 @@
-   # Install autocompletion scripts
-   install(FILES
-    ${CMAKE_SOURCE_DIR}/data/bash-autocomplete/nitrokey-app
--    DESTINATION /etc/bash_completion.d
-+    DESTINATION etc/bash_completion.d
-   )
- 
-   install(FILES
diff --git a/pkgs/tools/security/nitrokey-app/HeaderPath.patch b/pkgs/tools/security/nitrokey-app/HeaderPath.patch
deleted file mode 100644
index 695b7559116..00000000000
--- a/pkgs/tools/security/nitrokey-app/HeaderPath.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/utils/hid_libusb.c b/src/utils/hid_libusb.c
-index bd8c14e..537292d 100644
---- a/src/utils/hid_libusb.c
-+++ b/src/utils/hid_libusb.c
-@@ -44,7 +44,7 @@
- #include <wchar.h>
- 
- /* GNU / LibUSB */
--#include "libusb.h"
-+#include "libusb-1.0/libusb.h"
- #include "iconv.h"
- 
- #include "hidapi.h"
diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix
index 5e1baa4f57b..1443409c022 100644
--- a/pkgs/tools/security/nitrokey-app/default.nix
+++ b/pkgs/tools/security/nitrokey-app/default.nix
@@ -1,29 +1,27 @@
-{ stdenv, cmake, fetchFromGitHub, libusb1, pkgconfig, qt5 }:
+{ stdenv, cmake, fetchgit, hidapi, libusb1, pkgconfig, qt5 }:
 
 stdenv.mkDerivation rec {
   name = "nitrokey-app";
-  version = "0.6.3";
+  version = "1.1";
 
-  src = fetchFromGitHub {
-    owner = "Nitrokey";
-    repo = "nitrokey-app";
-    rev = "v${version}";
-    sha256 = "1l5l4lwxmyd3jrafw19g12sfc42nd43sv7h7i4krqxnkk6gfx11q";
+  src = fetchgit {
+    url = "https://github.com/Nitrokey/nitrokey-app.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "11pz1p5qgghkr5f8s2wg34zqhxk2vq465i73w1h479j88x35rdp0";
   };
 
   buildInputs = [
+    hidapi
     libusb1
     qt5.qtbase
+    qt5.qttranslations
   ];
   nativeBuildInputs = [
     cmake
     pkgconfig
   ];
-  patches = [
-     ./FixInstallDestination.patch
-     ./HeaderPath.patch
-  ];
   cmakeFlags = "-DHAVE_LIBAPPINDICATOR=NO";
+
   meta = with stdenv.lib; {
     description      = "Provides extra functionality for the Nitrokey Pro and Storage";
     longDescription  = ''
@@ -34,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage         = https://github.com/Nitrokey/nitrokey-app;
     repositories.git = https://github.com/Nitrokey/nitrokey-app.git;
     license          = licenses.gpl3;
-    maintainer       = maintainers.kaiha;
+    maintainers      = with maintainers; [ kaiha fpletz ];
   };
 }
diff --git a/pkgs/tools/security/nitrokey-app/udev-rules.nix b/pkgs/tools/security/nitrokey-app/udev-rules.nix
new file mode 100644
index 00000000000..99947a0eefe
--- /dev/null
+++ b/pkgs/tools/security/nitrokey-app/udev-rules.nix
@@ -0,0 +1,25 @@
+{ stdenv, nitrokey-app
+, group ? "nitrokey"
+}:
+
+stdenv.mkDerivation {
+  name = "nitrokey-udev-rules";
+
+  inherit (nitrokey-app) src;
+
+  dontBuild = true;
+
+  patchPhase = ''
+    substituteInPlace data/41-nitrokey.rules --replace plugdev "${group}"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/etc/udev/rules.d
+    cp data/41-nitrokey.rules $out/etc/udev/rules.d
+  '';
+
+  meta = {
+    description = "udev rules for Nitrokeys";
+    inherit (nitrokey-app.meta) homepage license maintainers;
+  };
+}
diff --git a/pkgs/tools/security/paperkey/default.nix b/pkgs/tools/security/paperkey/default.nix
index c3b1d64c3a3..97a8c0af2c8 100644
--- a/pkgs/tools/security/paperkey/default.nix
+++ b/pkgs/tools/security/paperkey/default.nix
@@ -1,17 +1,16 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-
-  version = "1.3";
   name = "paperkey-${version}";
-  
+  version = "1.4";
+
   src = fetchurl {
     url = "http://www.jabberwocky.com/software/paperkey/${name}.tar.gz";
-    sha256 = "5b57d7522336fb65c4c398eec27bf44ec0aaa35926157b79a76423231792cbfb";
+    sha256 = "0vrkryxqbsjcmqalsnxvc3pahg6vvyrn139aj8md29sihgnb0az1";
   };
 
   enableParallelBuilding = true;
-  
+
   meta = with stdenv.lib; {
     description = "Store OpenPGP or GnuPG on paper";
     longDescription = ''
@@ -23,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.jabberwocky.com/software/paperkey/";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.skeidel ];
+    maintainers = with maintainers; [ skeidel ];
   };
 }
diff --git a/pkgs/tools/security/pass/rofi-pass.nix b/pkgs/tools/security/pass/rofi-pass.nix
index 165091d934a..2f3fab6de81 100644
--- a/pkgs/tools/security/pass/rofi-pass.nix
+++ b/pkgs/tools/security/pass/rofi-pass.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "rofi-pass-${version}";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "carnager";
     repo = "rofi-pass";
     rev = version;
-    sha256 = "09wpkxg5b7xicdisgbhlfr8vs1iv7z9sc58pjl0p198yap57khq5";
+    sha256 = "08chbn966140p3gmgalkhhm01ym64fvb6d2w5mbwpyl0986m89ba";
   };
 
   buildInputs = [ makeWrapper ];
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A script to make rofi work with password-store";
     homepage = https://github.com/carnager/rofi-pass;
-    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny garbas ];
     license = stdenv.lib.licenses.gpl3;
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 5a40837f1d9..e3aaca2e5b2 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "pcsclite-${version}";
-  version = "1.8.20";
+  version = "1.8.21";
 
   src = fetchurl {
-    # This URL changes in unpredictable ways, so it is not sensicle
+    # This URL changes in unpredictable ways, so it is not sensible
     # to put a version variable in there.
-    url = "https://alioth.debian.org/frs/download.php/file/4203/pcsc-lite-1.8.20.tar.bz2";
-    sha256 = "1ckb0jf4n585a4j26va3jm2nrv3c1y38974514f8qy3c04a02zgc";
+    url = "https://alioth.debian.org/frs/download.php/file/4216/pcsc-lite-1.8.21.tar.bz2";
+    sha256 = "1b8kwl81f6s3y7qh68ahr8sp8a0w6m464v9b3s4zxq2cgpmnaczy";
   };
 
   patches = [ ./no-dropdir-literals.patch ];
diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix
index 1e33c18753a..dfe4579aa58 100644
--- a/pkgs/tools/security/pgpdump/default.nix
+++ b/pkgs/tools/security/pgpdump/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pgpdump-${version}";
-  version = "0.31";
+  version = "0.32";
 
   src = fetchFromGitHub {
     owner = "kazu-yamamoto";
     repo = "pgpdump";
     rev = "v${version}";
-    sha256 = "05ywdgxzq3976dsy95vgdx3nnhd9i9vypzyrkabpmnxphfnjfrb4";
+    sha256 = "1ip7q5sgh3nwdqbrzpp6sllkls5kma98kns53yspw1830xi1n8xc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/rhash/darwin.patch b/pkgs/tools/security/rhash/darwin.patch
new file mode 100644
index 00000000000..76ad8fe9abd
--- /dev/null
+++ b/pkgs/tools/security/rhash/darwin.patch
@@ -0,0 +1,38 @@
+diff --git a/Makefile b/Makefile
+index e40dbc3..e198b93 100644
+--- a/Makefile
++++ b/Makefile
+@@ -17,7 +17,7 @@ ALLCFLAGS = -pipe $(CFLAGS) $(ADDCFLAGS) \
+   -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations
+ LDLIBRHASH = -Llibrhash -lrhash
+ ALLLDFLAGS = $(LDLIBRHASH) $(LDFLAGS) $(ADDLDFLAGS)
+-SHAREDLIB  = librhash/librhash.so.0
++SHAREDLIB  = librhash/librhash.0.dylib
+ SHRDLFLAGS = $(LDFLAGS) $(ADDLDFLAGS)
+ HEADERS = calc_sums.h hash_print.h common_func.h hash_update.h file_mask.h file_set.h find_file.h hash_check.h output.h parse_cmdline.h rhash_main.h win_utils.h version.h
+ SOURCES = calc_sums.c hash_print.c common_func.c hash_update.c file_mask.c file_set.c find_file.c hash_check.c output.c parse_cmdline.c rhash_main.c win_utils.c
+diff --git a/librhash/Makefile b/librhash/Makefile
+index 2f9bcc9..0c5aaad 100644
+--- a/librhash/Makefile
++++ b/librhash/Makefile
+@@ -28,8 +28,8 @@ PREFIX  = /usr/local
+ INCDIR  = $(PREFIX)/include
+ LIBDIR  = $(PREFIX)/lib
+ LIBRARY = librhash.a
+-SONAME  = librhash.so.0
+-SOLINK  = librhash.so
++SONAME  = librhash.0.dylib
++SOLINK  = librhash.dylib
+ TEST_TARGET = test_hashes
+ TEST_SHARED = test_shared
+ # Set variables according to GNU coding standard
+@@ -182,8 +182,7 @@ test-dll: $(DLLNAME) test_hashes.o
+ 
+ # shared and static libraries
+ $(SONAME): $(SOURCES)
+-	sed -n '1s/.*/{ global:/p; s/^RHASH_API.* \([a-z0-9_]\+\)(.*/  \1;/p; $$s/.*/local: *; };/p' $(SO_HEADERS) > exports.sym
+-	$(CC) -fpic $(ALLCFLAGS) -shared $(SOURCES) -Wl,--version-script,exports.sym,-soname,$(SONAME) $(LIBLDFLAGS) -o $@
++	$(CC) -fpic $(ALLCFLAGS) -dynamiclib $(SOURCES) $(LIBLDFLAGS) -Wl,-install_name,$(PREFIX)/lib/$@ -o $@
+ 	ln -s $(SONAME) $(SOLINK)
+ # use 'nm -Cg --defined-only $@' to view exported symbols
+ 
diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix
index 1f72ca294eb..e33c680b457 100644
--- a/pkgs/tools/security/rhash/default.nix
+++ b/pkgs/tools/security/rhash/default.nix
@@ -10,13 +10,15 @@ stdenv.mkDerivation rec {
     sha256 = "0nii6p4m2x8rkaf8r6smgfwb1q4hpf117kkg64yr6gyqgdchnljv";
   };
 
+  patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
+
   installFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
 
   # we build the static library because of two makefile bugs
   # * .h files installed for static library target only
   # * .so.0 -> .so link only created in the static library install target
   buildPhase = ''
-    make lib-shared lib-static build-shared
+    make lib-shared lib-static build-shared CC=cc PREFIX=$out
   '';
 
   # we don't actually want the static library, so we remove it after it
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://rhash.anz.ru;
     description = "Console utility and library for computing and verifying hash sums of files";
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = [ maintainers.andrewrk ];
   };
 }
diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix
index b581d800794..0a9804a743b 100644
--- a/pkgs/tools/security/ssdeep/default.nix
+++ b/pkgs/tools/security/ssdeep/default.nix
@@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f";
   };
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" '';
+
   # For some reason (probably a build system bug), the binary isn't
   # properly linked to $out/lib to find libfuzzy.so
   postFixup = stdenv.lib.optionalString (!stdenv.isDarwin) ''
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
index 90034b641a0..87fda1467f0 100644
--- a/pkgs/tools/security/sslscan/default.nix
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "sslscan-${version}";
-  version = "1.11.8";
+  version = "1.11.10";
 
   src = fetchFromGitHub {
     owner = "rbsec";
     repo = "sslscan";
     rev = "${version}-rbsec";
-    sha256 = "0vm9r0hmpb6ifix2biqbr7za1rld9yx8hi8vf7j69vcm647z7aas";
+    sha256 = "1bxr7p7nhg4b8wkcm7j2xk10gf370sqcvl06vbgnqd3azp55fhpf";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index 50782f17670..785ba93f137 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.20";
+  name = "sudo-1.8.20p1";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "1q70f2wqbpgq828xmfzidbhyll5p08qbj7f3p2sw2v4whpdbi5wy";
+    sha256 = "07fvh8qy0l1h93lccc625f48d8yp0pkp5rjjykq13pb07ar0x64y";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 6eea70797ab..05dbe6b7d84 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.3.0.7";
+  name = "tor-0.3.0.8";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${name}.tar.gz";
-    sha256 = "00kxa83bn0axh7479fynp6r8znq5wy26kvb8ghixgjpkir2c8h4n";
+    sha256 = "0j0dhq1zp6w6zy7y4kiw7zg1imbgv8nsl7imlzwc0951p2kknfk6";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index a3b3c1c0290..21e5c3ffcef 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.0";
+  version = "3.6.0";
   name = "yara-${version}";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "18hn6acfj0cha9cv70f6hyaqf8qbgj0c0dm9db4v2q8z7cgi1681";
+    sha256 = "05nadqpvihdyxym11mn6n02rzv2ng8ga7j9l0g5gnjx366gcai42";
   };
 
   # FIXME: this is probably not the right way to make it work
diff --git a/pkgs/tools/system/ctop/default.nix b/pkgs/tools/system/ctop/default.nix
new file mode 100644
index 00000000000..a0bda0c4335
--- /dev/null
+++ b/pkgs/tools/system/ctop/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "ctop-unstable-${version}";
+  version = "2017-05-28";
+  rev = "b4e1fbf29073625ec803025158636bdbcf2357f4";
+
+  goPackagePath = "github.com/bcicen/ctop";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "bcicen";
+    repo = "ctop";
+    sha256 = "162pc7gds66cgznqlq9gywr0qij5pymn7xszlq9rn4w2fm64qgg3";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Concise commandline monitoring for containers";
+    homepage = "http://ctop.sh/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ apeyroux ];
+  };
+}
diff --git a/pkgs/tools/system/ctop/deps.nix b/pkgs/tools/system/ctop/deps.nix
new file mode 100644
index 00000000000..4fb75cdcd3d
--- /dev/null
+++ b/pkgs/tools/system/ctop/deps.nix
@@ -0,0 +1,120 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
+[
+  {
+    goPackagePath = "github.com/docker/docker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/docker";
+      rev = "599f207b45e74648a8a6a7ac87d77e40930504e9";
+      sha256 = "1n0r9ahcx5h2f97ap5fy5hgnpamzzrgihknx7wgvvpm4hrzxm31r";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/go-units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-units";
+      rev = "0dadbb0345b35ec7ef35e228dabb8de89a65bf52";
+      sha256 = "1sqwvcszxqpv77xf2d8fxvryxphdwj9v8f93231wpnk9kpilhyii";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsouza/go-dockerclient";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsouza/go-dockerclient";
+      rev = "c933ed18bef34ec2955de03de8ef9a3bb996e3df";
+      sha256 = "1qci2m5ifmz3lcmc4y6k9baz9z1i77xnrrcq6zi9mpclhhfr0qzd";
+    };
+  }
+  {
+    goPackagePath = "github.com/gizak/termui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gizak/termui";
+      rev = "ea10e6ccee219e572ffad0ac1909f1a17f6db7d6";
+      sha256 = "1nxihx4vwxwgq3vnccc8a1v34raqvvsl0p10v1nlvs61rjvs9g32";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-cleanhttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-cleanhttp";
+      rev = "3573b8b52aa7b37b9358d966a898feb387f62437";
+      sha256 = "1pbl6p7w5wp1c70x7fp94h4ynk2ajfa76rqin3d2hq1w2fcb7byr";
+    };
+  }
+  {
+    goPackagePath = "github.com/jgautheron/codename-generator";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jgautheron/codename-generator";
+      rev = "16d037c7cc3c9b552fe4af9828b7338d752dbaf9";
+      sha256 = "0v6fji5swnrdjlp3bahv65chnbhxzl25j3hwwnyvvbb4iwa9a376";
+    };
+  }
+  {
+    goPackagePath = "github.com/maruel/panicparse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/maruel/panicparse";
+      rev = "ae43f192cef2add653fe1481a3070ed00a4a6981";
+      sha256 = "11q8v4adbrazqvh24235s5nifck0d1083gbwv4dh5lhd10xlwdvr";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d";
+      sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-wordwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-wordwrap";
+      rev = "ad45545899c7b13c020ea92b2072220eefad42b8";
+      sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9";
+    };
+  }
+  {
+    goPackagePath = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev = "7994c181db7761ca3c67a217068cf31826113f5f";
+      sha256 = "0ssc54wamn3h8z68kv4fdgvk3kjii95psi2kk0slsilmg5v6jzhj";
+    };
+  }
+  {
+    goPackagePath = "github.com/nu7hatch/gouuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nu7hatch/gouuid";
+      rev = "179d4d0c4d8d407a32af483c2354df1d2c91e6c3";
+      sha256 = "1isyfix5w1wm26y3a15ha3nnpsxqaxz5ngq06hnh6c6y0inl2fwj";
+    };
+  }
+  {
+    goPackagePath = "github.com/op/go-logging";
+    fetch = {
+      type = "git";
+      url = "https://github.com/op/go-logging";
+      rev = "970db520ece77730c7e4724c61121037378659d9";
+      sha256 = "1cpna2x5l071z1vrnk7zipdkka8dzwsjyx7m79xk0lr08rip0kcj";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "3da985ce5951d99de868be4385f21ea6c2b22f24";
+      sha256 = "0mhqa53pyj9gxg4m0c9s0f4r5jp0rihlni1nrpkd1d921xxzh714";
+    };
+  }
+]
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 50c8862bc34..c4e0724dddc 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "2.19";
-  sha256 = "1rfnisb8hqwx76rjmgaagvs3k0808z27ll9i3w5ifzysi1c1l6r9";
+  version = "2.20";
+  sha256 = "06sn9ll75xbr2rr7zn8xzdy1v705kqfxv6q1zx6ysvxwri0sxrfx";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/system/journalbeat/default.nix b/pkgs/tools/system/journalbeat/default.nix
index 5a66fcf5299..4b8ea62219e 100644
--- a/pkgs/tools/system/journalbeat/default.nix
+++ b/pkgs/tools/system/journalbeat/default.nix
@@ -7,7 +7,7 @@ let
 in buildGoPackage rec {
 
   name = "journalbeat-${version}";
-  version = "5.1.2";
+  version = "5.4.1";
 
   goPackagePath = "github.com/mheese/journalbeat";
 
@@ -22,7 +22,7 @@ in buildGoPackage rec {
     owner = "mheese";
     repo = "journalbeat";
     rev = "v${version}";
-    sha256 = "179jayzvd5k4mwhn73yflbzl5md1fmv7a9hb8vz2ir76lvr33g3l";
+    sha256 = "14mhx3gqg19ljcr07ahbry9k5hkbj2mjji4qsjrbc7jknis6frz4";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/system/psensor/default.nix b/pkgs/tools/system/psensor/default.nix
new file mode 100644
index 00000000000..b62bb92564c
--- /dev/null
+++ b/pkgs/tools/system/psensor/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchurl, pkgconfig, lm_sensors, libgtop, libatasmart, gtk3
+, libnotify, udisks2, libXNVCtrl, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  name = "psensor-${version}";
+
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "http://wpitchoune.net/psensor/files/psensor-${version}.tar.gz";
+    sha256 = "1smbidbby4rh14jnh9kn7y64qf486aqnmyxcgacjvkz27cqqnw4r";
+  };
+
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
+  buildInputs = [
+    lm_sensors libgtop libatasmart gtk3 libnotify udisks2
+  ];
+
+  preConfigure = ''
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXNVCtrl}/include"
+    NIX_LDFLAGS="$NIX_LDFLAGS -L${libXNVCtrl}/lib"
+  '';
+
+  meta = with lib; {
+    description = "Graphical hardware monitoring application for Linux";
+    homepage = "https://wpitchoune.net/psensor/";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index 3d4f99fc1f0..a9a034ebde9 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -12,11 +12,10 @@ stdenv.mkDerivation rec {
     sha256 = "14d3a93ha5k4al4ib43nyn1ppx7kgb12xw6mkflhx8nxmx8827nc";
   };
 
-  buildInputs = [ pkgconfig openssl stdenv.cc.libc.static ] ++
-                (if libuuid == null
-                 then []
-                 else [ (stdenv.lib.overrideDerivation libuuid
-                          (args: { configureFlags = args.configureFlags + " --enable-static"; })) ]);
+  buildInputs = [ pkgconfig openssl stdenv.cc.libc.static ]
+    ++ stdenv.lib.optional (libuuid != null)
+         (libuuid.overrideAttrs (attrs:
+           { configureFlags = attrs.configureFlags ++ [ "--enable-static" ]; }));
 
   arch = if stdenv.system == "x86_64-linux" then "x86_64"
     else if stdenv.system == "i686-linux" then "x86"
diff --git a/pkgs/tools/text/aha/default.nix b/pkgs/tools/text/aha/default.nix
index 9851f9596c3..7382078f114 100644
--- a/pkgs/tools/text/aha/default.nix
+++ b/pkgs/tools/text/aha/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "aha-${version}";
-  version = "0.4.10.2";
+  version = "0.4.10.6";
 
   src = fetchFromGitHub {
-    sha256 = "14n0py8dzlvirawb8brq143nq0sy9s2z6in5589krrya0frlrlkj";
+    sha256 = "18mz3f5aqw4vbdrxf8wblqm6nca73ppq9hb2z2ppw6k0557i71kz";
     rev = version;
     repo = "aha";
     owner = "theZiz";
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index b22a1da2264..7661db22cc1 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl /*, xmlto */}:
 
 stdenv.mkDerivation rec {
-  name = "colordiff-1.0.16";
+  name = "colordiff-1.0.18";
 
   src = fetchurl {
     urls = [
       "http://www.colordiff.org/${name}.tar.gz"
       "http://www.colordiff.org/archive/${name}.tar.gz"
     ];
-    sha256 = "12qkkw13261dra8pg7mzx4r8p9pb0ajb090bib9j1s6hgphwzwga";
+    sha256 = "1q6n60n4b9fnzccxyxv04mxjsql4ddq17vl2c74ijvjdhpcfrkr9";
   };
 
   buildInputs = [ perl /* xmlto */ ];
diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix
index 587c89554aa..787750c8ecf 100644
--- a/pkgs/tools/text/diffutils/default.nix
+++ b/pkgs/tools/text/diffutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xz, coreutils ? null }:
 
 stdenv.mkDerivation rec {
-  name = "diffutils-3.5";
+  name = "diffutils-3.6";
 
   src = fetchurl {
     url = "mirror://gnu/diffutils/${name}.tar.xz";
-    sha256 = "0csmqfz8ks23kdjsq0v2ll1acqiz8lva06dj19mwmymrsp69ilys";
+    sha256 = "1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn";
   };
 
   outputs = [ "out" "info" ];
diff --git a/pkgs/tools/text/grin/default.nix b/pkgs/tools/text/grin/default.nix
index 56ea13de40e..837ec5b7a5f 100644
--- a/pkgs/tools/text/grin/default.nix
+++ b/pkgs/tools/text/grin/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl, python2Packages }:
+{ stdenv, fetchFromGitHub, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
-  name = "grin-1.2.1";
+  program = "grin";
+  version = "1.2.1";
+  name = "${program}-${version}";
   namePrefix = "";
 
-  src = fetchurl {
-    url = "mirror://pypi/g/grin/${name}.tar.gz";
-    sha256 = "1swzwb17wibam8jszdv98h557hlx44pg6psv6rjz7i33qlxk0fdz";
+  src = fetchFromGitHub {
+    owner = "rkern";
+    repo = program;
+    rev = "8dd4b5309b3bc04fe9d3e71836420f7d8d4a293f";
+    sha256 = "0vz2aahwdcy1296g4w3i79dkvmzk9jc2n2zmlcvlg5m3s6h7b6jd";
   };
 
   buildInputs = with python2Packages; [ nose ];
-  propagatedBuildInputs = with python2Packages; [ argparse ];
 
   meta = {
-    homepage = https://pypi.python.org/pypi/grin;
+    homepage = https://github.com/rkern/grin;
     description = "A grep program configured the way I like it";
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.sjagoe ];
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index df6a1119800..aa9ece8955b 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, perl, groff
 , ghostscript #for postscript and html output
 , psutils, netpbm #for html output
+, buildPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -49,7 +50,7 @@ stdenv.mkDerivation rec {
     # Trick to get the build system find the proper 'native' groff
     # http://www.mail-archive.com/bug-groff@gnu.org/msg01335.html
     preBuild = ''
-      makeFlags="GROFF_BIN_PATH=${groff}/bin GROFFBIN=${groff}/bin/groff"
+      makeFlags="GROFF_BIN_PATH=${buildPackages.groff}/bin GROFFBIN=${buildPackages.groff}/bin/groff"
     '';
   };
 
diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix
index 26e1f9ef275..14680896312 100644
--- a/pkgs/tools/text/silver-searcher/default.nix
+++ b/pkgs/tools/text/silver-searcher/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "silver-searcher-${version}";
-  version = "1.0.2";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "ggreer";
     repo = "the_silver_searcher";
     rev = "${version}";
-    sha256 = "1c504x62yxf4b5k8ixvr97g97nd4kff32flxdjnvxvcrrnany8zx";
+    sha256 = "074ll6l0486ak4ijvfzhwsp6fp8w55x4yjviql5kb8qpisi9ll7y";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/tools/text/xml/jing-trang/default.nix b/pkgs/tools/text/xml/jing-trang/default.nix
index 4c4f6ed7e19..162f7e1a397 100644
--- a/pkgs/tools/text/xml/jing-trang/default.nix
+++ b/pkgs/tools/text/xml/jing-trang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, jre, jdk, ant, saxon }:
+{ stdenv, fetchFromGitHub, jre_headless, jdk, ant, saxon }:
 
 stdenv.mkDerivation rec {
   name = "jing-trang-${version}";
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     for tool in jing trang; do
     cat > "$out/bin/$tool" <<EOF
     #! $SHELL
-    export JAVA_HOME='${jre}'
-    exec '${jre}/bin/java' -jar '$out/share/java/$tool.jar' "\$@"
+    export JAVA_HOME='${jre_headless}'
+    exec '${jre_headless}/bin/java' -jar '$out/share/java/$tool.jar' "\$@"
     EOF
     done
 
diff --git a/pkgs/tools/typesetting/halibut/default.nix b/pkgs/tools/typesetting/halibut/default.nix
index 487af940077..84cd2cf921a 100644
--- a/pkgs/tools/typesetting/halibut/default.nix
+++ b/pkgs/tools/typesetting/halibut/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "halibut-1.1";
+  name = "halibut-1.2";
 
   src = fetchurl {
-    url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}.tar.gz";
-    sha256 = "18409ir55rsa5gkizw2hsr86wgv176jms2dc52px62gd246rar5r";
+    url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}/${name}.tar.gz";
+    sha256 = "0gqnhfqf555rfpk5xj1imbdxnbkkrv4wl3rrdb1r0wgj81igpv8s";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/typesetting/pdf2htmlEX/default.nix b/pkgs/tools/typesetting/pdf2htmlEX/default.nix
index a75e883b179..b6d29052dcc 100644
--- a/pkgs/tools/typesetting/pdf2htmlEX/default.nix
+++ b/pkgs/tools/typesetting/pdf2htmlEX/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     glib
     cairo
     pango
-    (poppler.override { withData = true; })
+    poppler
     fontforge
     openjdk8
   ];
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index 2c34a9aff32..18ab2d1f9c7 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -45,6 +45,9 @@ stdenv.mkDerivation rec {
       --set LUA_CPATH "${luaCPath};" \
   '';
 
+  # Hack to avoid TMPDIR in RPATHs.
+  preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
+
   meta = {
     description = "A typesetting system";
     longDescription = ''
diff --git a/pkgs/tools/virtualization/cloud-init/add-nixos-support.patch b/pkgs/tools/virtualization/cloud-init/add-nixos-support.patch
new file mode 100644
index 00000000000..00cb7d070c6
--- /dev/null
+++ b/pkgs/tools/virtualization/cloud-init/add-nixos-support.patch
@@ -0,0 +1,113 @@
+diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/__init__.py cloud-init-0.7.6/cloudinit/distros/__init__.py
+--- cloud-init-0.7.6.orig/cloudinit/distros/__init__.py	2014-10-10 15:26:25.000000000 +0000
++++ cloud-init-0.7.6/cloudinit/distros/__init__.py	2016-06-08 07:51:45.230357099 +0000
+@@ -43,6 +43,7 @@
+     'freebsd': ['freebsd'],
+     'suse': ['sles'],
+     'arch': ['arch'],
++    'nixos': ['nixos'],
+ }
+ 
+ LOG = logging.getLogger(__name__)
+diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/cloudinit/distros/nixos.py
+--- cloud-init-0.7.6.orig/cloudinit/distros/nixos.py	1970-01-01 00:00:00.000000000 +0000
++++ cloud-init-0.7.6/cloudinit/distros/nixos.py	2016-06-08 07:50:58.602616595 +0000
+@@ -0,0 +1,98 @@
++# vi: ts=4 expandtab
++#
++#    Copyright (C) 2012 Canonical Ltd.
++#    Copyright (C) 2012 Hewlett-Packard Development Company, L.P.
++#    Copyright (C) 2012 Yahoo! Inc.
++#
++#    Author: Scott Moser <scott.moser@canonical.com>
++#    Author: Juerg Haefliger <juerg.haefliger@hp.com>
++#    Author: Joshua Harlow <harlowja@yahoo-inc.com>
++#
++#    This program is free software: you can redistribute it and/or modify
++#    it under the terms of the GNU General Public License version 3, as
++#    published by the Free Software Foundation.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++from cloudinit import distros
++from cloudinit import helpers
++from cloudinit import log as logging
++from cloudinit import util
++
++from cloudinit.distros.parsers.hostname import HostnameConf
++
++LOG = logging.getLogger(__name__)
++
++class Distro(distros.Distro):
++
++    def __init__(self, name, cfg, paths):
++        distros.Distro.__init__(self, name, cfg, paths)
++        # This will be used to restrict certain
++        # calls from repeatly happening (when they
++        # should only happen say once per instance...)
++        self._runner = helpers.Runners(paths)
++        self.osfamily = 'nixos'
++
++    def _select_hostname(self, hostname, fqdn):
++        # Prefer the short hostname over the long
++        # fully qualified domain name
++        if not hostname:
++            return fqdn
++        return hostname
++
++    def _write_hostname(self, your_hostname, out_fn):
++        conf = None
++        try:
++            # Try to update the previous one
++            # so lets see if we can read it first.
++            conf = self._read_hostname_conf(out_fn)
++        except IOError:
++            pass
++        if not conf:
++            conf = HostnameConf('')
++        conf.set_hostname(your_hostname)
++        util.write_file(out_fn, str(conf), 0644)
++
++    def _read_system_hostname(self):
++        sys_hostname = self._read_hostname(self.hostname_conf_fn)
++        return (self.hostname_conf_fn, sys_hostname)
++
++    def _read_hostname_conf(self, filename):
++        conf = HostnameConf(util.load_file(filename))
++        conf.parse()
++        return conf
++
++    def _read_hostname(self, filename, default=None):
++        hostname = None
++        try:
++            conf = self._read_hostname_conf(filename)
++            hostname = conf.hostname
++        except IOError:
++            pass
++        if not hostname:
++            return default
++        return hostname
++
++    def _write_network(self, settings):
++        raise NotImplementedError()
++
++    def apply_locale(self, locale, out_fn=None):
++        raise NotImplementedError()
++
++    def install_packages(self, pkglist):
++        raise NotImplementedError()
++
++    def package_command(self, command, args=None, pkgs=None):
++        raise NotImplementedError()
++
++    def set_timezone(self, tz):
++        raise NotImplementedError()
++
++    def update_package_sources(self):
++        raise NotImplementedError()
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
index c038ca7c1bb..caea7c21c91 100644
--- a/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchurl }:
+{ lib, pythonPackages, fetchurl, kmod, systemd, cloud-utils }:
 
-let version = "0.7.6";
+let version = "0.7.9";
 
 in pythonPackages.buildPythonApplication rec {
   name = "cloud-init-${version}";
@@ -8,10 +8,11 @@ in pythonPackages.buildPythonApplication rec {
 
   src = fetchurl {
     url = "https://launchpad.net/cloud-init/trunk/${version}/+download/cloud-init-${version}.tar.gz";
-    sha256 = "1mry5zdkfaq952kn1i06wiggc66cqgfp6qgnlpk0mr7nnwpd53wy";
+    sha256 = "0wnl76pdcj754pl99wxx76hkir1s61x0bg0lh27sdgdxy45vivbn";
   };
 
-  patchPhase = ''
+  patches = [ ./add-nixos-support.patch ];
+  prePatch = ''
     patchShebangs ./tools
 
     substituteInPlace setup.py \
@@ -19,15 +20,21 @@ in pythonPackages.buildPythonApplication rec {
       --replace /etc $out/etc \
       --replace /lib/systemd $out/lib/systemd \
       --replace 'self.init_system = ""' 'self.init_system = "systemd"'
+
+    substituteInPlace cloudinit/config/cc_growpart.py \
+      --replace 'util.subp(["growpart"' 'util.subp(["${cloud-utils}/bin/growpart"'
+
+    # Argparse is part of python stdlib
+    sed -i s/argparse// requirements.txt
     '';
 
   propagatedBuildInputs = with pythonPackages; [ cheetah jinja2 prettytable
-    oauth pyserial configobj pyyaml argparse requests jsonpatch ];
+    oauthlib pyserial configobj pyyaml requests jsonpatch ];
 
   meta = {
     homepage = http://cloudinit.readthedocs.org;
     description = "Provides configuration and customization of cloud instance";
-    maintainers = [ lib.maintainers.madjar ];
+    maintainers = [ lib.maintainers.madjar lib.maintainers.phile314 ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/virtualization/cloudmonkey/default.nix b/pkgs/tools/virtualization/cloudmonkey/default.nix
new file mode 100644
index 00000000000..b133bc094f9
--- /dev/null
+++ b/pkgs/tools/virtualization/cloudmonkey/default.nix
@@ -0,0 +1,27 @@
+{ python2Packages, lib }:
+
+with python2Packages;
+
+buildPythonApplication rec {
+
+  name = "${pname}-${version}";
+  pname = "cloudmonkey";
+  version = "5.3.3";
+
+  propagatedBuildInputs = [ argcomplete pygments ];
+
+  doCheck = false; # upstream has no tests defined
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "064yk3lwl272nyn20xxrh0qxzh3r1rl9015qqf2i4snqdzwd5cf7";
+  };
+
+  meta = with lib; {
+    description = "CLI for Apache CloudStack.";
+    homepage = "https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI";
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.womfoo ];
+  };
+
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7fb271682d0..c47e3fe325b 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -5,18 +5,25 @@ with self;
 let
   # Removing recurseForDerivation prevents derivations of aliased attribute
   # set to appear while listing all the packages available.
-  removeRecurseForDerivations = _n: alias: with lib;
+  removeRecurseForDerivations = alias: with lib;
     if alias.recurseForDerivations or false then
       removeAttrs alias ["recurseForDerivations"]
     else alias;
 
-  doNotDisplayTwice = aliases:
-    lib.mapAttrs removeRecurseForDerivations aliases;
+  # Disabling distribution prevents top-level aliases for non-recursed package
+  # sets from building on Hydra.
+  removeDistribute = alias: with lib;
+    if isDerivation alias then
+      dontDistribute alias
+    else alias;
+
+  mapAliases = aliases:
+    lib.mapAttrs (n: alias: removeDistribute (removeRecurseForDerivations alias)) aliases;
 in
 
   ### Deprecated aliases - for backward compatibility
 
-doNotDisplayTwice rec {
+mapAliases (rec {
   accounts-qt = libsForQt5.accounts-qt;  # added 2015-12-19
   adobeReader = adobe-reader;
   aircrackng = aircrack-ng; # added 2016-01-14
@@ -141,6 +148,12 @@ doNotDisplayTwice rec {
   xlibs = xorg; # added 2015-09
   youtubeDL = youtube-dl;  # added 2014-10-26
 
+  # added 2017-05-27
+  wineMinimal = winePackages.minimal;
+  wineFull = winePackages.full;
+  wineStable = winePackages.stable;
+  wineUnstable = winePackages.unstable;
+
   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
@@ -156,4 +169,4 @@ doNotDisplayTwice rec {
   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 f7bc4d31974..d929c23dd8c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -98,6 +98,8 @@ with pkgs;
     inherit (haskellPackages) dhall-nix;
   };
 
+  diffPlugins = (callPackage ../build-support/plugins.nix {}).diffPlugins;
+
   dockerTools = callPackage ../build-support/docker { };
 
   docker_compose = pythonPackages.docker_compose;
@@ -405,8 +407,6 @@ with pkgs;
 
   ahcpd = callPackage ../tools/networking/ahcpd { };
 
-  aiccu = callPackage ../tools/networking/aiccu { };
-
   aide = callPackage ../tools/security/aide { };
 
   aircrack-ng = callPackage ../tools/networking/aircrack-ng { };
@@ -474,6 +474,9 @@ with pkgs;
 
   arp-scan = callPackage ../tools/misc/arp-scan { };
 
+  inherit (callPackages ../data/fonts/arphic {})
+    arphic-ukai arphic-uming;
+
   artyFX = callPackage ../applications/audio/artyFX {};
 
   as31 = callPackage ../development/compilers/as31 {};
@@ -525,12 +528,6 @@ with pkgs;
     client = true;
   });
 
-  androidenv = callPackage ../development/mobile/androidenv {
-    pkgs_i686 = pkgsi686Linux;
-  };
-
-  adb-sync = callPackage ../development/mobile/adb-sync { };
-
   apg = callPackage ../tools/security/apg { };
 
   autorevision = callPackage ../tools/misc/autorevision { };
@@ -589,11 +586,17 @@ with pkgs;
     pkgs_i686 = pkgsi686Linux;
   };
 
-  inherit (androidenv) androidsdk_4_4 androidndk;
+  adb-sync = callPackage ../development/mobile/adb-sync { };
+
+  androidenv = callPackage ../development/mobile/androidenv {
+    pkgs_i686 = pkgsi686Linux;
+  };
 
-  androidsdk = androidenv.androidsdk_7_0;
+  inherit (androidenv) androidndk;
 
-  androidsdk_extras = self.androidenv.androidsdk_7_0_extras;
+  androidsdk = androidenv.androidsdk_7_1_1;
+
+  androidsdk_extras = self.androidenv.androidsdk_7_1_1_extras;
 
   arc-theme = callPackage ../misc/themes/arc { };
 
@@ -664,6 +667,12 @@ with pkgs;
 
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
 
+  inherit (callPackages ../misc/logging/beats { })
+    filebeat
+    heartbeat
+    metricbeat
+    packetbeat;
+
   bfr = callPackage ../tools/misc/bfr { };
 
   bibtool = callPackage ../tools/misc/bibtool { };
@@ -814,6 +823,8 @@ with pkgs;
 
   cloud-init = callPackage ../tools/virtualization/cloud-init { };
 
+  cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { };
+
   clib = callPackage ../tools/package-management/clib { };
 
   colord-kde = libsForQt5.callPackage ../tools/misc/colord-kde {};
@@ -949,6 +960,10 @@ with pkgs;
 
   envconsul = callPackage ../tools/system/envconsul { };
 
+  esptool = callPackage ../tools/misc/esptool { };
+
+  esptool-ck = callPackage ../tools/misc/esptool-ck { };
+
   f3 = callPackage ../tools/filesystems/f3 { };
 
   facter = callPackage ../tools/system/facter {
@@ -959,12 +974,12 @@ with pkgs;
 
   fastJson = callPackage ../development/libraries/fastjson { };
 
-  filebeat = callPackage ../misc/logging/filebeat { };
-
   filebench = callPackage ../tools/misc/filebench { };
 
   fsmon = callPackage ../tools/misc/fsmon { };
 
+  fsql = callPackage ../tools/misc/fsql { };
+
   fop = callPackage ../tools/typesetting/fop { };
 
   fondu = callPackage ../tools/misc/fondu { };
@@ -1007,8 +1022,6 @@ with pkgs;
 
   gti = callPackage ../tools/misc/gti { };
 
-  heartbeat = callPackage ../misc/logging/heartbeat { };
-
   heatseeker = callPackage ../tools/misc/heatseeker { };
 
   hexio = callPackage ../development/tools/hexio { };
@@ -1039,8 +1052,6 @@ with pkgs;
 
   meson = callPackage ../development/tools/build-managers/meson { };
 
-  metricbeat = callPackage ../misc/logging/metricbeat { };
-
   mp3fs = callPackage ../tools/filesystems/mp3fs { };
 
   mpdcron = callPackage ../tools/audio/mpdcron { };
@@ -1049,6 +1060,10 @@ with pkgs;
 
   nfdump = callPackage ../tools/networking/nfdump { };
 
+  patdiff = callPackage ../tools/misc/patdiff {
+    ocamlPackages = ocamlPackages_4_03;
+  };
+
   playerctl = callPackage ../tools/audio/playerctl { };
 
   socklog = callPackage ../tools/system/socklog { };
@@ -1380,6 +1395,8 @@ with pkgs;
 
   c14 = callPackage ../applications/networking/c14 { };
 
+  cfssl = callPackage ../tools/security/cfssl { };
+
   checkbashisms = callPackage ../development/tools/misc/checkbashisms { };
 
   clamav = callPackage ../tools/security/clamav { };
@@ -1681,6 +1698,8 @@ with pkgs;
 
   eid-viewer = callPackage ../tools/security/eid-viewer { };
 
+  mcrcon = callPackage ../tools/networking/mcrcon {};
+
   ### DEVELOPMENT / EMSCRIPTEN
 
   buildEmscriptenPackage = callPackage ../development/em-modules/generic { };
@@ -1713,8 +1732,12 @@ with pkgs;
 
   evemu = callPackage ../tools/system/evemu { };
 
+  # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
+  elk5Version = "5.4.0";
+
   elasticsearch = callPackage ../servers/search/elasticsearch { };
   elasticsearch2 = callPackage ../servers/search/elasticsearch/2.x.nix { };
+  elasticsearch5 = callPackage ../servers/search/elasticsearch/5.x.nix { };
 
   elasticsearchPlugins = recurseIntoAttrs (
     callPackage ../servers/search/elasticsearch/plugins.nix { }
@@ -1760,6 +1783,8 @@ with pkgs;
 
   exiftags = callPackage ../tools/graphics/exiftags { };
 
+  exiftool = perlPackages.ImageExifTool;
+
   extundelete = callPackage ../tools/filesystems/extundelete { };
 
   expect = callPackage ../tools/misc/expect { };
@@ -2246,6 +2271,8 @@ with pkgs;
 
   gtdialog = callPackage ../development/libraries/gtdialog {};
 
+  gtkd = callPackage ../development/libraries/gtkd { };
+
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
 
   gtkvnc = callPackage ../tools/admin/gtk-vnc {};
@@ -2310,6 +2337,8 @@ with pkgs;
 
   hal-flash = callPackage ../os-specific/linux/hal-flash { };
 
+  half = callPackage ../development/libraries/half { };
+
   halibut = callPackage ../tools/typesetting/halibut { };
 
   hardinfo = callPackage ../tools/system/hardinfo { };
@@ -2599,7 +2628,8 @@ with pkgs;
 
   keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };
 
-  kibana = callPackage ../development/tools/misc/kibana { };
+  kibana  = callPackage ../development/tools/misc/kibana { };
+  kibana5 = callPackage ../development/tools/misc/kibana/5.x.nix { };
 
   kismet = callPackage ../applications/networking/sniffers/kismet { };
 
@@ -2617,12 +2647,16 @@ with pkgs;
 
   kdiff3 = libsForQt5.callPackage ../tools/text/kdiff3 { };
 
+  kwalletcli = libsForQt5.callPackage ../tools/security/kwalletcli { };
+
   peruse = libsForQt5.callPackage ../tools/misc/peruse { };
 
   kst = libsForQt5.callPackage ../tools/graphics/kst { gsl = gsl_1; };
 
   kytea = callPackage ../tools/text/kytea { };
 
+  lbreakout2 = callPackage ../games/lbreakout2 { };
+
   leocad = callPackage ../applications/graphics/leocad { };
 
   less = callPackage ../tools/misc/less { };
@@ -2649,11 +2683,14 @@ with pkgs;
 
   lnav = callPackage ../tools/misc/lnav { };
 
+  loadlibrary = callPackage ../tools/misc/loadlibrary { };
+
   loc = callPackage ../development/misc/loc { };
 
   lockfileProgs = callPackage ../tools/misc/lockfile-progs { };
 
-  logstash = callPackage ../tools/misc/logstash { };
+  logstash  = callPackage ../tools/misc/logstash { };
+  logstash5 = callPackage ../tools/misc/logstash/5.x.nix { };
 
   logstash-contrib = callPackage ../tools/misc/logstash/contrib.nix { };
 
@@ -2697,6 +2734,10 @@ with pkgs;
 
   mxt-app = callPackage ../misc/mxt-app { };
 
+  nagstamon = callPackage ../tools/nagstamon {
+    pythonPackages = python3Packages;
+  };
+
   netdata = callPackage ../tools/system/netdata { };
 
   netsurf = recurseIntoAttrs (let callPackage = newScope pkgs.netsurf; in rec {
@@ -2776,6 +2817,15 @@ with pkgs;
     enableNpm = false;
   };
 
+  nodejs-8_x = callPackage ../development/web/nodejs/v8.nix {
+    libtool = darwin.cctools;
+  };
+
+  nodejs-slim-8_x = callPackage ../development/web/nodejs/v8.nix {
+    libtool = darwin.cctools;
+    enableNpm = false;
+  };
+
   nodePackages_6_x = callPackage ../development/node-packages/default-v6.nix {
     nodejs = pkgs.nodejs-6_x;
   };
@@ -2825,6 +2875,8 @@ with pkgs;
 
   libevhtp = callPackage ../development/libraries/libevhtp { };
 
+  libfann = callPackage ../development/libraries/libfann { };
+
   libircclient = callPackage ../development/libraries/libircclient { };
 
   libite = callPackage ../development/libraries/libite { };
@@ -3453,8 +3505,6 @@ with pkgs;
     nix = nixUnstable;
   };
 
-  packetbeat = callPackage ../misc/logging/packetbeat { };
-
   packetdrill = callPackage ../tools/networking/packetdrill { };
 
   pakcs = callPackage ../development/compilers/pakcs {};
@@ -3611,6 +3661,8 @@ with pkgs;
 
   pingtcp = callPackage ../tools/networking/pingtcp { };
 
+  pirate-get = callPackage ../tools/networking/pirate-get { };
+
   pius = callPackage ../tools/security/pius { };
 
   pixiewps = callPackage ../tools/networking/pixiewps {};
@@ -3716,6 +3768,10 @@ with pkgs;
 
   psutils = callPackage ../tools/typesetting/psutils { };
 
+  psensor = callPackage ../tools/system/psensor {
+    libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
+  };
+
   pv = callPackage ../tools/misc/pv { };
 
   pwgen = callPackage ../tools/security/pwgen { };
@@ -3781,6 +3837,8 @@ with pkgs;
 
   quilt = callPackage ../development/tools/quilt { };
 
+  wiggle = callPackage ../development/tools/wiggle { };
+
   radamsa = callPackage ../tools/security/radamsa { };
 
   radarr = callPackage ../servers/radarr { };
@@ -4050,6 +4108,8 @@ with pkgs;
   silver-searcher = callPackage ../tools/text/silver-searcher { };
   ag = self.silver-searcher;
 
+  simpleproxy = callPackage ../tools/networking/simpleproxy { };
+
   simplescreenrecorder = callPackage ../applications/video/simplescreenrecorder { };
 
   sipsak = callPackage ../tools/networking/sipsak { };
@@ -4196,6 +4256,10 @@ with pkgs;
 
   stunnel = callPackage ../tools/networking/stunnel { };
 
+  stutter = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.stutter) (drv: {
+    preCheck = "export PATH=dist/build/stutter:$PATH";
+  });
+
   strongswan = callPackage ../tools/networking/strongswan { };
 
   strongswanTNC = callPackage ../tools/networking/strongswan { enableTNC=true; };
@@ -4278,6 +4342,8 @@ with pkgs;
 
   thc-hydra = callPackage ../tools/security/thc-hydra { };
 
+  thefuck = callPackage ../tools/misc/thefuck { };
+
   thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools {  };
 
   tiled = libsForQt5.callPackage ../applications/editors/tiled { };
@@ -4292,6 +4358,8 @@ with pkgs;
 
   tie = callPackage ../development/tools/misc/tie { };
 
+  tilix = callPackage ../applications/misc/tilix { };
+
   tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
 
   tiny8086 = callPackage ../applications/virtualization/8086tiny { };
@@ -4456,7 +4524,9 @@ with pkgs;
 
   vboot_reference = callPackage ../tools/system/vboot_reference { };
 
-  vcsh = callPackage ../applications/version-management/vcsh { };
+  vcsh = callPackage ../applications/version-management/vcsh {
+    inherit (perlPackages) ShellCommand TestMost;
+  };
 
   verilator = callPackage ../applications/science/electronics/verilator {};
 
@@ -4473,6 +4543,8 @@ with pkgs;
 
   vim-vint = callPackage ../development/tools/vim-vint { };
 
+  vimer = callPackage ../tools/misc/vimer { };
+
   vit = callPackage ../applications/misc/vit { };
 
   vnc2flv = callPackage ../tools/video/vnc2flv {};
@@ -4966,6 +5038,8 @@ with pkgs;
     stdenv = overrideCC stdenv gcc49;
   };
 
+  binaryen = callPackage ../development/compilers/binaryen { };
+
   boo = callPackage ../development/compilers/boo {
     inherit (gnome2) gtksourceview;
   };
@@ -5064,6 +5138,7 @@ with pkgs;
   fpc = callPackage ../development/compilers/fpc { };
 
   gambit = callPackage ../development/compilers/gambit { };
+  gerbil = callPackage ../development/compilers/gerbil { };
 
   gcc = gcc5;
   gcc-unwrapped = gcc.cc;
@@ -5096,7 +5171,6 @@ with pkgs;
       else null;
     in wrapGCCCross {
       gcc = forcedNativePackages.gcc.cc.override {
-        cross = targetPlatform;
         crossStageStatic = true;
         langCC = false;
         libcCross = libcCross1;
@@ -5119,7 +5193,6 @@ with pkgs;
 
   gccCrossStageFinal = assert targetPlatform != buildPlatform; wrapGCCCross {
     gcc = forcedNativePackages.gcc.cc.override {
-      cross = targetPlatform;
       crossStageStatic = false;
 
       # Why is this needed?
@@ -5141,10 +5214,6 @@ with pkgs;
     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
     profiledCompiler = !stdenv.isArm;
 
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
     libcCross = if targetPlatform != buildPlatform then libcCross else null;
   }));
 
@@ -5154,10 +5223,6 @@ with pkgs;
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
     profiledCompiler = with stdenv; (!isSunOS && !isDarwin && (isi686 || isx86_64));
 
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
     libcCross = if targetPlatform != buildPlatform then libcCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
@@ -5171,10 +5236,6 @@ with pkgs;
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
     libcCross = if targetPlatform != buildPlatform then libcCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_11 else null;
@@ -5188,10 +5249,6 @@ with pkgs;
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
     libcCross = if targetPlatform != buildPlatform then libcCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
@@ -5203,25 +5260,28 @@ with pkgs;
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
     libcCross = if targetPlatform != buildPlatform then libcCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
   }));
 
+  gcc7 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/7 {
+    inherit noSysDirs;
+
+    # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
+    profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
+
+    libcCross = if targetPlatform != buildPlatform then libcCross else null;
+
+    isl = if !stdenv.isDarwin then isl_0_17 else null;
+  }));
+
   gcc-snapshot = lowPrio (wrapCC (callPackage ../development/compilers/gcc/snapshot {
     inherit noSysDirs;
 
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
     libcCross = if targetPlatform != buildPlatform then libcCross else null;
 
     isl = isl_0_17;
@@ -5261,6 +5321,14 @@ with pkgs;
     profiledCompiler = false;
   });
 
+  gfortran7 = wrapCC (gcc7.cc.override {
+    name = "gfortran";
+    langFortran = true;
+    langCC = false;
+    langC = false;
+    profiledCompiler = false;
+  });
+
   gcj = gcj49;
   gcj49 = wrapCC (gcc49.cc.override {
     name = "gcj";
@@ -5602,7 +5670,7 @@ with pkgs;
   llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
     inherit (stdenvAdapters) overrideCC;
   } // stdenv.lib.optionalAttrs stdenv.isDarwin {
-    cmake = cmake.override { isBootstrap = true; useSharedLibraries = false; };
+    cmake = cmake.override { isBootstrap = true; };
     libxml2 = libxml2.override { pythonSupport = false; };
     python2 = callPackage ../development/interpreters/python/cpython/2.7/boot.nix { inherit (darwin) CF configd; };
   });
@@ -5702,12 +5770,19 @@ with pkgs;
 
   rust = rustStable;
   rustStable = callPackage ../development/compilers/rust {
-    inherit (llvmPackages_39) llvm;
+    inherit (llvmPackages_4) llvm;
   };
   rustBeta = lowPrio (recurseIntoAttrs (callPackage ../development/compilers/rust/beta.nix {}));
-  rustNightly = lowPrio (recurseIntoAttrs (callPackage ../development/compilers/rust/nightly.nix {
-    rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta);
-  }));
+
+  rustNightly = rustBeta;
+
+  # rust support in nixpkgs isn't yet well maintained enough for us to
+  # pretend to support nightlies in a meaningful way.
+
+  # rustNightly = lowPrio (recurseIntoAttrs (callPackage ../development/compilers/rust/nightly.nix {
+  #   rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta);
+  # }));
+
   rustNightlyBin = lowPrio (callPackage ../development/compilers/rust/nightlyBin.nix {
      buildRustPackage = callPackage ../build-support/rust {
        rust = rustNightlyBin;
@@ -5761,7 +5836,7 @@ with pkgs;
 
   scalafmt = callPackage ../development/tools/scalafmt { };
 
-  sdcc = callPackage ../development/compilers/sdcc { boost = boost159; };
+  sdcc = callPackage ../development/compilers/sdcc { };
 
   serpent = callPackage ../development/compilers/serpent { };
 
@@ -5900,93 +5975,22 @@ with pkgs;
 
   clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
 
-  erlangR16 = callPackage ../development/interpreters/erlang/R16.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
-  erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    odbcSupport = true;
-  };
-  erlang_basho_R16B02 = callPackage ../development/interpreters/erlang/R16B02-8-basho.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
-  erlang_basho_R16B02_odbc = callPackage ../development/interpreters/erlang/R16B02-8-basho.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    odbcSupport = true;
-  };
-  erlangR17 = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
-  erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    odbcSupport = true;
-  };
-  erlangR17_javac = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    javacSupport = true;
-  };
-  erlangR17_odbc_javac = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    javacSupport = true; odbcSupport = true;
-  };
-  erlangR18 = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-  };
-  erlangR18_odbc = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    odbcSupport = true;
-  };
-  erlangR18_javac = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true;
-  };
-  erlangR18_odbc_javac = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true; odbcSupport = true;
-  };
-  erlangR19 = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-  };
-  erlangR19_odbc = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    odbcSupport = true;
-  };
-  erlangR19_javac = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true;
-  };
-  erlangR19_odbc_javac = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true; odbcSupport = true;
-  };
-  erlang = erlangR18;
-  erlang_odbc = erlangR18_odbc;
-  erlang_javac = erlangR18_javac;
-  erlang_odbc_javac = erlangR18_odbc_javac;
-
-  rebar = callPackage ../development/tools/build-managers/rebar { };
-  rebar3-open = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = false; };
-  rebar3 = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = true; };
-  hexRegistrySnapshot = callPackage ../development/beam-modules/hex-registry-snapshot.nix { };
-  fetchHex = callPackage ../development/beam-modules/fetch-hex.nix { };
+  beam = callPackage ./beam-packages.nix { };
 
-  beamPackages = callPackage ../development/beam-modules { };
-  hex2nix = beamPackages.callPackage ../development/tools/erlang/hex2nix { };
-  cuter = callPackage ../development/tools/erlang/cuter { };
+  inherit (beam.interpreters)
+    erlang erlang_odbc erlang_javac erlang_odbc_javac
+    elixir
+    lfe
+    erlangR16 erlangR16_odbc
+    erlang_basho_R16B02 erlang_basho_R16B02_odbc
+    erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac
+    erlangR18 erlangR18_odbc erlangR18_javac erlangR18_odbc_javac
+    erlangR19 erlangR19_odbc erlangR19_javac erlangR19_odbc_javac;
 
-  relxExe = callPackage ../development/tools/erlang/relx-exe {};
-
-  elixir = callPackage ../development/interpreters/elixir { debugInfo = true; };
-
-  lfe = callPackage ../development/interpreters/lfe { };
+  inherit (beam.packages)
+    rebar rebar3-open rebar3
+    hexRegistrySnapshot fetchHex beamPackages
+    hex2nix cuter relxExe;
 
   groovy = callPackage ../development/interpreters/groovy { };
 
@@ -6017,6 +6021,10 @@ with pkgs;
     gtk2 = gtk2-x11;
   };
 
+  lxappearance-gtk3 = callPackage ../desktops/lxde/core/lxappearance {
+    withGtk3 = true;
+  };
+
   lxmenu-data = callPackage ../desktops/lxde/core/lxmenu-data.nix { };
 
   lxpanel = callPackage ../desktops/lxde/core/lxpanel {
@@ -6168,7 +6176,7 @@ with pkgs;
   # available as `pythonPackages.tkinter` and can be used as any other Python package.
   python = python2;
   python2 = python27;
-  python3 = python35;
+  python3 = python36;
 
   # Python interpreter that is build with all modules, including tkinter.
   # These are for compatibility and should not be used inside Nixpkgs.
@@ -6182,9 +6190,9 @@ with pkgs;
   python36Full = python36.override{x11Support=true;};
 
   # pythonPackages further below, but assigned here because they need to be in sync
-  pythonPackages = python2Packages;
-  python2Packages = python27Packages;
-  python3Packages = python35Packages;
+  pythonPackages = python.pkgs;
+  python2Packages = python2.pkgs;
+  python3Packages = python3.pkgs;
 
   python27 = callPackage ../development/interpreters/python/cpython/2.7 {
     self = python27;
@@ -6194,19 +6202,22 @@ with pkgs;
     self = python33;
     inherit (darwin) CF configd;
   };
-  python34 = hiPrio (callPackage ../development/interpreters/python/cpython/3.4 {
+  python34 = callPackage ../development/interpreters/python/cpython/3.4 {
     inherit (darwin) CF configd;
     self = python34;
-  });
-  python35 = hiPrio (callPackage ../development/interpreters/python/cpython/3.5 {
+  };
+  python35 = callPackage ../development/interpreters/python/cpython/3.5 {
     inherit (darwin) CF configd;
     self = python35;
-  });
+  };
   python36 = callPackage ../development/interpreters/python/cpython/3.6 {
     inherit (darwin) CF configd;
     self = python36;
   };
 
+  # Should eventually be moved inside Python interpreters.
+  python-setup-hook = callPackage ../development/interpreters/python/setup-hook.nix { };
+
   pypy = pypy27;
 
   pypy27 = callPackage ../development/interpreters/python/pypy/2.7 {
@@ -6461,14 +6472,13 @@ with pkgs;
   bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { };
 
   binutils =
-    if lib.systems.parse.isDarwin targetPlatform.parsed
+    if targetPlatform.isDarwin
     then darwin.binutils
     else binutils-raw;
 
   binutils-raw = callPackage ../development/tools/misc/binutils {
     # FHS sys dirs presumably only have stuff for the build platform
     noSysDirs = (targetPlatform != buildPlatform) || noSysDirs;
-    cross = if targetPlatform != hostPlatform then targetPlatform else null;
   };
 
   binutils_nogold = lowPrio (binutils-raw.override {
@@ -6485,6 +6495,8 @@ with pkgs;
     wxGTK = wxGTK30;
   };
 
+  buck = callPackage ../development/tools/build-managers/buck { };
+
   buildbot = callPackage ../development/tools/build-managers/buildbot {
     pythonPackages = python2Packages;
   };
@@ -6697,6 +6709,8 @@ with pkgs;
 
   elfutils = callPackage ../development/tools/misc/elfutils { };
 
+  elfkickers = callPackage ../development/tools/misc/elfkickers { };
+
   emma = callPackage ../development/tools/analysis/emma { };
 
   epm = callPackage ../development/tools/misc/epm { };
@@ -6705,6 +6719,8 @@ with pkgs;
 
   eztrace = callPackage ../development/tools/profiling/EZTrace { };
 
+  ezquake = callPackage ../games/ezquake { };
+
   findbugs = callPackage ../development/tools/analysis/findbugs { };
 
   foreman = callPackage ../tools/system/foreman { };
@@ -6712,7 +6728,7 @@ with pkgs;
   flow = callPackage ../development/tools/analysis/flow {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
     inherit (darwin) cf-private;
-    ocaml = ocaml_4_02;
+    inherit (ocamlPackages_4_03) ocaml findlib camlp4 sedlex ocamlbuild;
   };
 
   framac = callPackage ../development/tools/analysis/frama-c { };
@@ -6832,6 +6848,8 @@ with pkgs;
 
   jenkins-job-builder = pythonPackages.jenkins-job-builder;
 
+  kati = callPackage ../development/tools/build-managers/kati { };
+
   kconfig-frontends = callPackage ../development/tools/misc/kconfig-frontends {
     gperf = gperf_3_0;
   };
@@ -6937,6 +6955,8 @@ with pkgs;
 
   pahole = callPackage ../development/tools/misc/pahole {};
 
+  inherit (callPackages ../development/tools/build-managers/pants {}) pants pants13-pre;
+
   parse-cli-bin = callPackage ../development/tools/parse-cli-bin { };
 
   patchelf = callPackage ../development/tools/misc/patchelf { };
@@ -6945,6 +6965,8 @@ with pkgs;
 
   peg = callPackage ../development/tools/parsing/peg { };
 
+  pgcli = callPackage ../development/tools/database/pgcli {};
+
   phantomjs = callPackage ../development/tools/phantomjs { };
 
   phantomjs2 = callPackage ../development/tools/phantomjs2 { };
@@ -6999,6 +7021,8 @@ with pkgs;
 
   ragel = ragelStable;
 
+  randoop = callPackage ../development/tools/analysis/randoop { };
+
   inherit (callPackages ../development/tools/parsing/ragel {
       tex = texlive.combined.scheme-small;
     }) ragelStable ragelDev;
@@ -7140,16 +7164,13 @@ with pkgs;
 
   gdbGuile = lowPrio (gdb.override { inherit guile; });
 
-  gdbCross = lowPrio (callPackage ../development/tools/misc/gdb {
-    target = if targetPlatform != buildPlatform then targetPlatform else null;
-  });
-
   gdb-multitarget = lowPrio (gdb.override { multitarget = true; });
 
   valgrind = callPackage ../development/tools/analysis/valgrind {
     inherit (darwin) xnu bootstrap_cmds cctools;
     llvm = llvm_39;
-   };
+  };
+  valgrind-light = self.valgrind.override { gdb = null; };
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
@@ -7436,6 +7457,8 @@ with pkgs;
 
   cryptopp = callPackage ../development/libraries/crypto++ { };
 
+  cryptominisat = callPackage ../applications/science/logic/cryptominisat { };
+
   curlcpp = callPackage ../development/libraries/curlcpp { };
 
   cutee = callPackage ../development/libraries/cutee { };
@@ -8265,7 +8288,7 @@ with pkgs;
   libagar_test = callPackage ../development/libraries/libagar/libagar_test.nix { };
 
   libao = callPackage ../development/libraries/libao {
-    usePulseAudio = config.pulseaudio or true;
+    usePulseAudio = config.pulseaudio or stdenv.isLinux;
     inherit (darwin.apple_sdk.frameworks) CoreAudio CoreServices AudioUnit;
   };
 
@@ -8304,6 +8327,9 @@ with pkgs;
     inherit (ocamlPackages_4_02) bap ocaml findlib ctypes;
   };
 
+  libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
+  libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
+
   libbluedevil = callPackage ../development/libraries/libbluedevil { };
 
   libbdplus = callPackage ../development/libraries/libbdplus { };
@@ -8611,6 +8637,8 @@ with pkgs;
 
   libharu = callPackage ../development/libraries/libharu { };
 
+  libhdhomerun = callPackage ../development/libraries/libhdhomerun { };
+
   libhttpseverywhere = callPackage ../development/libraries/libhttpseverywhere { };
 
   libHX = callPackage ../development/libraries/libHX { };
@@ -8717,15 +8745,19 @@ with pkgs;
 
   libgsf = callPackage ../development/libraries/libgsf { };
 
-  # glibc provides libiconv so systems with glibc don't need to build libiconv
-  # separately, but we also provide libiconvReal, which will always be a
-  # standalone libiconv, just in case you want it
-  libiconv = if stdenv ? cross then
-    (if stdenv.cross.libc == "glibc" then libcCross
-      else if stdenv.cross.libc == "libSystem" then darwin.libiconv
-      else libiconvReal)
-    else if stdenv.isGlibc then glibcIconv stdenv.cc.libc
-    else if stdenv.isDarwin then darwin.libiconv
+  # GNU libc provides libiconv so systems with glibc don't need to build
+  # libiconv separately. Additionally, Apple forked/repackaged libiconv so we
+  # use that instead of the vanilla version on that OS.
+  #
+  # We also provide `libiconvReal`, which will always be a standalone libiconv,
+  # just in case you want it regardless of platform.
+  libiconv =
+    if hostPlatform.libc == "glibc"
+      then glibcIconv (if hostPlatform != buildPlatform
+                       then libcCross
+                       else stdenv.cc.libc)
+    else if hostPlatform.isDarwin
+      then darwin.libiconv
     else libiconvReal;
 
   glibcIconv = libc: let
@@ -8852,6 +8884,8 @@ with pkgs;
 
   libnetfilter_cttimeout = callPackage ../development/libraries/libnetfilter_cttimeout { };
 
+  libnetfilter_log = callPackage ../development/libraries/libnetfilter_log { };
+
   libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { };
 
   libnfnetlink = callPackage ../development/libraries/libnfnetlink { };
@@ -9230,12 +9264,16 @@ with pkgs;
       inherit (darwin) apple_sdk;
     }
     else alternative;
+
   mesa_noglu = mesaDarwinOr (callPackage ../development/libraries/mesa {
     # makes it slower, but during runtime we link against just mesa_drivers
     # through /run/opengl-driver*, which is overriden according to config.grsecurity
-    grsecEnabled = true;
-    llvmPackages = llvmPackages_39;
+    # grsecEnabled = true; # no more support in nixpkgs ATM
+
+    # llvm-4.0.0 won't pass tests on aarch64
+    llvmPackages = if system == "aarch64-linux" then llvmPackages_39 else llvmPackages_4;
   });
+
   mesa_glu =  mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
   mesa_drivers = mesaDarwinOr (
     let mo = mesa_noglu.override {
@@ -10326,7 +10364,7 @@ with pkgs;
 
   wcslib = callPackage ../development/libraries/wcslib { };
 
-  webkitgtk = webkitgtk214x;
+  webkitgtk = webkitgtk216x;
 
   webkitgtk24x = callPackage ../development/libraries/webkitgtk/2.4.nix {
     harfbuzz = harfbuzz-icu;
@@ -10334,7 +10372,7 @@ with pkgs;
     inherit (darwin) libobjc;
   };
 
-  webkitgtk214x = callPackage ../development/libraries/webkitgtk/2.14.nix {
+  webkitgtk216x = callPackage ../development/libraries/webkitgtk/2.16.nix {
     harfbuzz = harfbuzz-icu;
     gst-plugins-base = gst_all_1.gst-plugins-base;
   };
@@ -10694,9 +10732,9 @@ with pkgs;
 
   python34Packages = python34.pkgs;
 
-  python35Packages = recurseIntoAttrs python35.pkgs;
+  python35Packages = python35.pkgs;
 
-  python36Packages = python36.pkgs;
+  python36Packages = recurseIntoAttrs python36.pkgs;
 
   pypyPackages = pypy.pkgs;
 
@@ -10833,6 +10871,8 @@ with pkgs;
 
   couchpotato = callPackage ../servers/couchpotato {};
 
+  dex-oidc = callPackage ../servers/dex { };
+
   dico = callPackage ../servers/dico { };
 
   dict = callPackage ../servers/dict {
@@ -10845,6 +10885,10 @@ with pkgs;
 
   diod = callPackage ../servers/diod { lua = lua5_1; };
 
+  dkimproxy = callPackage ../servers/mail/dkimproxy {
+    inherit (perlPackages) Error MailDKIM MIMEtools NetServer;
+  };
+
   dnschain = callPackage ../servers/dnschain { };
 
   dovecot = callPackage ../servers/mail/dovecot { };
@@ -11716,6 +11760,8 @@ with pkgs;
 
   iw = callPackage ../os-specific/linux/iw { };
 
+  iwd = callPackage ../os-specific/linux/iwd { };
+
   jfbview = callPackage ../os-specific/linux/jfbview { };
   jfbpdf = callPackage ../os-specific/linux/jfbview {
     imageSupport = false;
@@ -12403,6 +12449,7 @@ with pkgs;
   inherit (callPackage ../misc/uboot {})
     buildUBoot
     ubootTools
+    ubootA20OlinuxinoLime
     ubootBananaPi
     ubootBeagleboneBlack
     ubootJetsonTK1
@@ -12878,6 +12925,8 @@ with pkgs;
 
   raleway = callPackage ../data/fonts/raleway { };
 
+  rictydiminished-with-firacode = callPackage ../data/fonts/rictydiminished-with-firacode { };
+
   roboto = callPackage ../data/fonts/roboto { };
 
   roboto-mono = callPackage ../data/fonts/roboto-mono { };
@@ -13341,7 +13390,7 @@ with pkgs;
   clipit = callPackage ../applications/misc/clipit { };
 
   cloud-print-connector = callPackage ../servers/cloud-print-connector { };
-  
+
   cmatrix = callPackage ../applications/misc/cmatrix { };
 
   cmus = callPackage ../applications/audio/cmus {
@@ -13397,6 +13446,8 @@ with pkgs;
     liblapack = liblapackWithoutAtlas;
   };
 
+  ctop = callPackage ../tools/system/ctop { };
+
   cuneiform = callPackage ../tools/graphics/cuneiform {};
 
   cutecom = callPackage ../tools/misc/cutecom { };
@@ -13976,6 +14027,8 @@ with pkgs;
   firefox-esr = wrapFirefox firefox-esr-unwrapped { };
 
   firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
+    channel = "release";
+    generated = import ../applications/networking/browsers/firefox-bin/release_sources.nix;
     gconf = pkgs.gnome2.GConf;
     inherit (pkgs.gnome2) libgnome libgnomeui;
     inherit (pkgs.gnome3) defaultIconTheme;
@@ -13989,6 +14042,7 @@ with pkgs;
   };
 
   firefox-beta-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
+    channel = "beta";
     generated = import ../applications/networking/browsers/firefox-bin/beta_sources.nix;
     gconf = pkgs.gnome2.GConf;
     inherit (pkgs.gnome2) libgnome libgnomeui;
@@ -14002,6 +14056,22 @@ with pkgs;
     desktopName = "Firefox Beta";
   };
 
+  firefox-devedition-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
+    channel = "devedition";
+    generated = import ../applications/networking/browsers/firefox-bin/devedition_sources.nix;
+    gconf = pkgs.gnome2.GConf;
+    inherit (pkgs.gnome2) libgnome libgnomeui;
+    inherit (pkgs.gnome3) defaultIconTheme;
+  };
+
+  firefox-devedition-bin = self.wrapFirefox firefox-devedition-bin-unwrapped {
+    browserName = "firefox";
+    nameSuffix = "-devedition";
+    name = "firefox-devedition-bin-" +
+      (builtins.parseDrvName firefox-devedition-bin-unwrapped.name).version;
+    desktopName = "Firefox DevEdition";
+  };
+
   firestr = libsForQt5.callPackage ../applications/networking/p2p/firestr
     { boost = boost155;
     };
@@ -14306,6 +14376,9 @@ with pkgs;
 
   hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
 
+  hledger = haskell.lib.justStaticExecutables haskellPackages.hledger;
+  hledger-web = haskell.lib.justStaticExecutables haskellPackages.hledger-web;
+
   homebank = callPackage ../applications/office/homebank {
     gtk = gtk3;
   };
@@ -14456,7 +14529,7 @@ with pkgs;
     lcms = lcms2;
   };
 
-  inspectrum = callPackage ../applications/misc/inspectrum { };
+  inspectrum = libsForQt5.callPackage ../applications/misc/inspectrum { };
 
   ion3 = callPackage ../applications/window-managers/ion-3 {
     lua = lua5_1;
@@ -14761,7 +14834,7 @@ with pkgs;
 
   lynx = callPackage ../applications/networking/browsers/lynx { };
 
-  lyx = libsForQt56.callPackage ../applications/misc/lyx { };
+  lyx = libsForQt5.callPackage ../applications/misc/lyx { };
 
   mail-notification = callPackage ../desktops/gnome-2/desktop/mail-notification {};
 
@@ -15061,6 +15134,8 @@ with pkgs;
 
   polybar = callPackage ../applications/misc/polybar { };
 
+  rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
+
   scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
 
   shotcut = libsForQt5.callPackage ../applications/video/shotcut { };
@@ -15391,6 +15466,7 @@ with pkgs;
 
   profanity = callPackage ../applications/networking/instant-messengers/profanity {
     notifySupport   = config.profanity.notifySupport   or true;
+    traySupport     = config.profanity.traySupport     or true;
     autoAwaySupport = config.profanity.autoAwaySupport or true;
   };
 
@@ -15750,6 +15826,8 @@ with pkgs;
 
   sxiv = callPackage ../applications/graphics/sxiv { };
 
+  resilio-sync = callPackage ../applications/networking/resilio-sync { };
+
   bittorrentSync = bittorrentSync14;
   bittorrentSync14 = callPackage ../applications/networking/bittorrentsync/1.4.x.nix { };
   bittorrentSync20 = callPackage ../applications/networking/bittorrentsync/2.0.x.nix { };
@@ -16333,20 +16411,22 @@ with pkgs;
 
   wily = callPackage ../applications/editors/wily { };
 
+  winswitch = callPackage ../tools/X11/winswitch { };
+
+  wings = callPackage ../applications/graphics/wings { };
+
+  wireguard = callPackage ../os-specific/linux/wireguard { };
+
   alsamixer.app = callPackage ../applications/window-managers/windowmaker/dockapps/alsamixer.app.nix { };
 
+  wllvm = callPackage  ../development/tools/wllvm { };
+
   wmcalclock = callPackage ../applications/window-managers/windowmaker/dockapps/wmcalclock.nix { };
 
   wmsm.app = callPackage ../applications/window-managers/windowmaker/dockapps/wmsm.app.nix { };
 
   wmsystemtray = callPackage ../applications/window-managers/windowmaker/dockapps/wmsystemtray.nix { };
 
-  winswitch = callPackage ../tools/X11/winswitch { };
-
-  wings = callPackage ../applications/graphics/wings { };
-
-  wireguard = callPackage ../os-specific/linux/wireguard { };
-
   wmname = callPackage ../applications/misc/wmname { };
 
   wmctrl = callPackage ../tools/X11/wmctrl { };
@@ -16382,6 +16462,7 @@ with pkgs;
       ++ optional (cfg.enableBeetleSaturn or false) beetle-saturn
       ++ optional (cfg.enableBsnesMercury or false) bsnes-mercury
       ++ optional (cfg.enableDesmume or false) desmume
+      ++ optional (cfg.enableDolphin or false) dolphin
       ++ optional (cfg.enableFBA or false) fba
       ++ optional (cfg.enableFceumm or false) fceumm
       ++ optional (cfg.enableGambatte or false) gambatte
@@ -16390,6 +16471,7 @@ with pkgs;
       ++ optional (cfg.enableMGBA or false) mgba
       ++ optional (cfg.enableMupen64Plus or false) mupen64plus
       ++ optional (cfg.enableNestopia or false) nestopia
+      ++ optional (cfg.enableParallelN64 or false) parallel-n64
       ++ optional (cfg.enablePicodrive or false) picodrive
       ++ optional (cfg.enablePrboom or false) prboom
       ++ optional (cfg.enablePPSSPP or false) ppsspp
@@ -16421,15 +16503,20 @@ with pkgs;
     plugins = let inherit (lib) optional optionals; in with kodiPlugins;
       ([]
       ++ optional (config.kodi.enableAdvancedLauncher or false) advanced-launcher
+      ++ optional (config.kodi.enableAdvancedEmulatorLauncher or false)
+        advanced-emulator-launcher
       ++ optionals (config.kodi.enableControllers or false)
         (with controllers;
           [ default dreamcast gba genesis mouse n64 nes ps snes ])
       ++ optional (config.kodi.enableExodus or false) exodus
       ++ optionals (config.kodi.enableHyperLauncher or false)
            (with hyper-launcher; [ plugin service pdfreader ])
+      ++ optional (config.kodi.enableJoystick or false) joystick
       ++ optional (config.kodi.enableSVTPlay or false) svtplay
+      ++ optional (config.kodi.enableSteamController or false) steam-controller
       ++ optional (config.kodi.enableSteamLauncher or false) steam-launcher
       ++ optional (config.kodi.enablePVRHTS or false) pvr-hts
+      ++ optional (config.kodi.enablePVRHDHomeRun or false) pvr-hdhomerun
       );
   };
 
@@ -16477,9 +16564,7 @@ with pkgs;
   };
   xbmcPlain = kodiPlain;
 
-  kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix {
-    kodi = kodiPlain;
-  });
+  kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix {});
   xbmcPlugins = kodiPlugins;
 
   kodi = wrapKodi {
@@ -16704,6 +16789,8 @@ with pkgs;
 
   zim = callPackage ../applications/office/zim { };
 
+  zoom-us = callPackage ../applications/networking/instant-messengers/zoom-us { };
+
   zotero = callPackage ../applications/office/zotero {
     firefox = firefox-esr-unwrapped;
   };
@@ -16897,6 +16984,8 @@ with pkgs;
     wxGTK = wxGTK28.override { unicode = false; };
   };
 
+  galaxis = callPackage ../games/galaxis { };
+
   gambatte = callPackage ../games/gambatte { };
 
   garden-of-coloured-lights = callPackage ../games/garden-of-coloured-lights { allegro = allegro4; };
@@ -17116,6 +17205,8 @@ with pkgs;
 
   rogue = callPackage ../games/rogue { };
 
+  robotfindskitten = callPackage ../games/robotfindskitten { };
+
   saga = callPackage ../applications/gis/saga { };
 
   samplv1 = callPackage ../applications/audio/samplv1 { };
@@ -17241,7 +17332,15 @@ with pkgs;
 
   ultimatestunts = callPackage ../games/ultimatestunts { };
 
-  ultrastardx = callPackage ../games/ultrastardx {
+  ultrastar-creator = libsForQt5.callPackage ../tools/misc/ultrastar-creator { };
+
+  ultrastar-manager = libsForQt5.callPackage ../tools/misc/ultrastar-manager { };
+
+  ultrastardx = callPackage ../games/ultrastardx/1.1.nix {
+    ffmpeg = ffmpeg_0;
+    lua = lua5;
+  };
+  ultrastardx-beta = callPackage ../games/ultrastardx/1.3-beta.nix {
     ffmpeg = ffmpeg_0;
     lua = lua5;
   };
@@ -17276,6 +17375,8 @@ with pkgs;
 
   vessel = callPackage_i686 ../games/vessel { };
 
+  vms-empire = callPackage ../games/vms-empire { };
+
   voxelands = callPackage ../games/voxelands {
     libpng = libpng12;
   };
@@ -17692,20 +17793,13 @@ with pkgs;
     camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
     lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
   };
-  coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix {
-    inherit (ocamlPackages_4_02) ocaml findlib lablgtk;
-    camlp5 = ocamlPackages_4_02.camlp5_transitional;
-  };
-  coq_8_5 = callPackage ../applications/science/logic/coq {
-    version = "8.5pl3";
-  };
-  coq_8_6 = callPackage ../applications/science/logic/coq {};
-  coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {};
-  coq = coq_8_6;
 
   mkCoqPackages_8_4 = self: let callPackage = newScope self; in {
     inherit callPackage;
-    coq = coq_8_4;
+    coq = callPackage ../applications/science/logic/coq/8.4.nix {
+      inherit (ocamlPackages_4_02) ocaml findlib lablgtk;
+      camlp5 = ocamlPackages_4_02.camlp5_transitional;
+    };
     coqPackages = coqPackages_8_4;
 
     contribs =
@@ -17737,7 +17831,9 @@ with pkgs;
 
   mkCoqPackages_8_5 = self: let callPackage = newScope self; in rec {
     inherit callPackage;
-    coq = coq_8_5;
+    coq = callPackage ../applications/science/logic/coq {
+      version = "8.5pl3";
+    };
     coqPackages = coqPackages_8_5;
 
     coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
@@ -17754,7 +17850,7 @@ with pkgs;
 
   mkCoqPackages_8_6 = self: let callPackage = newScope self; in rec {
     inherit callPackage;
-    coq = coq_8_6;
+    coq = callPackage ../applications/science/logic/coq {};
     coqPackages = coqPackages_8_6;
 
     coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
@@ -17771,7 +17867,13 @@ with pkgs;
   coqPackages_8_4 = mkCoqPackages_8_4 coqPackages_8_4;
   coqPackages_8_5 = mkCoqPackages_8_5 coqPackages_8_5;
   coqPackages_8_6 = mkCoqPackages_8_6 coqPackages_8_6;
-  coqPackages = coqPackages_8_4;
+  coqPackages = coqPackages_8_6;
+
+  coq_8_4 = coqPackages_8_4.coq;
+  coq_8_5 = coqPackages_8_5.coq;
+  coq_8_6 = coqPackages_8_6.coq;
+  coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {};
+  coq = coqPackages.coq;
 
   cryptoverif = callPackage ../applications/science/logic/cryptoverif { };
 
@@ -17835,6 +17937,7 @@ with pkgs;
   mcrl2 = callPackage ../applications/science/logic/mcrl2 { };
 
   minisat = callPackage ../applications/science/logic/minisat {};
+  minisatUnstable = callPackage ../applications/science/logic/minisat/unstable.nix {};
 
   opensmt = callPackage ../applications/science/logic/opensmt { };
 
@@ -18064,6 +18167,8 @@ with pkgs;
     motif = null; # motif or lesstif
   };
 
+  cernlib = callPackage ../development/libraries/physics/cernlib { };
+
   g4py = callPackage ../development/libraries/physics/geant4/g4py { };
 
   hepmc = callPackage ../development/libraries/physics/hepmc { };
@@ -18507,10 +18612,10 @@ with pkgs;
   inherit (callPackage ../applications/networking/cluster/terraform {})
     terraform_0_8_5
     terraform_0_8_8
-    terraform_0_9_4;
+    terraform_0_9_6;
 
   terraform_0_8 = terraform_0_8_8;
-  terraform_0_9 = terraform_0_9_4;
+  terraform_0_9 = terraform_0_9_6;
   terraform = terraform_0_9;
 
   terraform-inventory = callPackage ../applications/networking/cluster/terraform-inventory {};
@@ -18608,48 +18713,59 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
-  wineMinimal = callPackage ../misc/emulators/wine {
-    wineRelease = config.wine.release or "stable";
-    wineBuild = config.wine.build or "wine32";
+  winePackages = rec {
+    minimal = callPackage ../misc/emulators/wine {
+      wineRelease = config.wine.release or "stable";
+      wineBuild = config.wine.build or "wine32";
+    };
+
+    base = minimal.override {
+      pngSupport = true;
+      jpegSupport = true;
+      tiffSupport = true;
+      gettextSupport = true;
+      fontconfigSupport = true;
+      alsaSupport = true;
+      openglSupport = true;
+      tlsSupport = true;
+      cupsSupport = true;
+      dbusSupport = true;
+      cairoSupport = true;
+      cursesSupport = true;
+      saneSupport = true;
+      pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
+      udevSupport = true;
+      xineramaSupport = true;
+      xmlSupport = true;
+    };
+
+    full = base.override {
+      gtkSupport = true;
+      gstreamerSupport = true;
+      colorManagementSupport = true;
+      mpg123Support = true;
+      openalSupport = true;
+      openclSupport = true;
+      odbcSupport = true;
+      netapiSupport = true;
+      vaSupport = true;
+      pcapSupport = true;
+      v4lSupport = true;
+      gsmSupport = true;
+      gphoto2Support = true;
+      ldapSupport = true;
+    };
+
+    stable = base.override { wineRelease = "stable"; };
+    unstable = base.override { wineRelease = "unstable"; };
+    staging = base.override { wineRelease = "staging"; };
   };
-  wine = lowPrio (self.wineMinimal.override {
-    pngSupport = true;
-    jpegSupport = true;
-    tiffSupport = true;
-    gettextSupport = true;
-    fontconfigSupport = true;
-    alsaSupport = true;
-    openglSupport = true;
-    tlsSupport = true;
-    cupsSupport = true;
-    colorManagementSupport = true;
-    dbusSupport = true;
-    mpg123Support = true;
-    openalSupport = true;
-    cairoSupport = true;
-    cursesSupport = true;
-    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
-    xineramaSupport = true;
-    xmlSupport = true;
-  });
-  wineFull = lowPrio (self.wine.override {
-    gtkSupport = true;
-    gstreamerSupport = true;
-    openclSupport = true;
-    odbcSupport = true;
-    netapiSupport = true;
-    vaSupport = true;
-    pcapSupport = true;
-    v4lSupport = true;
-    saneSupport = true;
-    gsmSupport = true;
-    gphoto2Support = true;
-    ldapSupport = true;
-    pulseaudioSupport = true;
+
+  wine = winePackages.base;
+
+  wineStaging = lowPrio (winePackages.full.override {
+    wineRelease = "staging";
   });
-  wineStable = self.wine.override { wineRelease = "stable"; };
-  wineUnstable = lowPrio (self.wine.override { wineRelease = "unstable"; });
-  wineStaging = lowPrio (self.wine.override { wineRelease = "staging"; });
 
   winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
     inherit (gnome2) zenity;
@@ -18796,6 +18912,7 @@ with pkgs;
   xrq = callPackage ../applications/misc/xrq { };
 
   nitrokey-app = callPackage ../tools/security/nitrokey-app { };
+  nitrokey-udev-rules = callPackage ../tools/security/nitrokey-app/udev-rules.nix { };
 
   fpm2 = callPackage ../tools/security/fpm2 { };
 
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
new file mode 100644
index 00000000000..3451816c0c5
--- /dev/null
+++ b/pkgs/top-level/beam-packages.nix
@@ -0,0 +1,65 @@
+{ pkgs, stdenv, callPackage, wxGTK30, darwin }:
+
+rec {
+  lib = import ../development/beam-modules/lib.nix { inherit pkgs; };
+
+  interpreters = rec {
+
+    # R18 is the Default version.
+    erlang = erlangR18;
+    erlang_odbc = erlangR18_odbc;
+    erlang_javac = erlangR18_javac;
+    erlang_odbc_javac = erlangR18_odbc_javac;
+
+    # These are standard Erlang versions, using the generic builder.
+    erlangR16 = lib.callErlang ../development/interpreters/erlang/R16.nix {};
+    erlangR16_odbc = erlangR16.override { odbcSupport = true; };
+    erlangR17 = lib.callErlang ../development/interpreters/erlang/R17.nix {};
+    erlangR17_odbc = erlangR17.override { odbcSupport = true; };
+    erlangR17_javac = erlangR17.override { javacSupport = true; };
+    erlangR17_odbc_javac = erlangR17.override {
+      javacSupport = true; odbcSupport = true;
+    };
+    erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
+      wxGTK = wxGTK30;
+    };
+    erlangR18_odbc = erlangR18.override { odbcSupport = true; };
+    erlangR18_javac = erlangR18.override { javacSupport = true; };
+    erlangR18_odbc_javac = erlangR18.override {
+      javacSupport = true; odbcSupport = true;
+    };
+    erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
+      wxGTK = wxGTK30;
+    };
+    erlangR19_odbc = erlangR19.override { odbcSupport = true; };
+    erlangR19_javac = erlangR19.override { javacSupport = true; };
+    erlangR19_odbc_javac = erlangR19.override {
+      javacSupport = true; odbcSupport = true;
+    };
+
+    # Bash fork, using custom builder.
+    erlang_basho_R16B02 = lib.callErlang ../development/interpreters/erlang/R16B02-8-basho.nix {
+    };
+    erlang_basho_R16B02_odbc = erlang_basho_R16B02.override {
+      odbcSupport = true;
+    };
+
+    # Other Beam languages.
+    elixir = callPackage ../development/interpreters/elixir { debugInfo = true; };
+    lfe = callPackage ../development/interpreters/lfe { };
+  };
+
+  packages = rec {
+    rebar = callPackage ../development/tools/build-managers/rebar { };
+    rebar3-open = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = false; };
+    rebar3 = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = true; };
+    hexRegistrySnapshot = callPackage ../development/beam-modules/hex-registry-snapshot.nix { };
+    fetchHex = callPackage ../development/beam-modules/fetch-hex.nix { };
+
+    beamPackages = callPackage ../development/beam-modules { };
+    hex2nix = beamPackages.callPackage ../development/tools/erlang/hex2nix { };
+    cuter = callPackage ../development/tools/erlang/cuter { };
+
+    relxExe = callPackage ../development/tools/erlang/relx-exe {};
+  };
+}
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 13ece3dec43..4486049ef91 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -5,6 +5,7 @@ let
     let
       packageSet = self:
         with self; let inherit (self) callPackage; in
+     let ocamlPackages =
   {
     callPackage = newScope self;
 
@@ -30,11 +31,17 @@ let
 
     async_extra_p4 = callPackage ../development/ocaml-modules/async_extra { };
 
-    async_find = callPackage ../development/ocaml-modules/async_find { };
+    async_find =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.async_find
+      else callPackage ../development/ocaml-modules/async_find { };
 
     async_kernel_p4 = callPackage ../development/ocaml-modules/async_kernel { };
 
-    async_shell = callPackage ../development/ocaml-modules/async_shell { };
+    async_shell =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.async_shell
+      else callPackage ../development/ocaml-modules/async_shell { };
 
     async_unix_p4 = callPackage ../development/ocaml-modules/async_unix { };
 
@@ -47,8 +54,6 @@ let
 
     atdgen = callPackage ../development/ocaml-modules/atdgen { };
 
-    base = callPackage ../development/ocaml-modules/base { };
-
     base64 = callPackage ../development/ocaml-modules/base64 { };
 
     bap = callPackage ../development/ocaml-modules/bap { };
@@ -125,6 +130,8 @@ let
 
     cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
 
+    cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1.0.nix { };
+
     cohttp = callPackage ../development/ocaml-modules/cohttp {
       lwt = ocaml_lwt;
     };
@@ -381,9 +388,10 @@ let
 
     ocpBuild = callPackage ../development/tools/ocaml/ocp-build { };
 
-    ocpIndent = callPackage ../development/tools/ocaml/ocp-indent { };
+    ocpIndent = callPackage ../development/tools/ocaml/ocp-indent { cmdliner = cmdliner_1_0; };
+    ocpIndent_1_5_2 = callPackage ../development/tools/ocaml/ocp-indent/1.5.2.nix { };
 
-    ocp-index = callPackage ../development/tools/ocaml/ocp-index { };
+    ocp-index = callPackage ../development/tools/ocaml/ocp-index { ocpIndent = ocpIndent_1_5_2; };
 
     ocplib-endian = callPackage ../development/ocaml-modules/ocplib-endian { };
 
@@ -525,8 +533,6 @@ let
 
     sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
 
-    stdio = callPackage ../development/ocaml-modules/stdio { };
-
     stog = callPackage ../applications/misc/stog { };
 
     stringext = callPackage ../development/ocaml-modules/stringext { };
@@ -582,149 +588,168 @@ let
     };
 
     # Jane Street
-    js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {};
 
-    buildOcamlJane = callPackage ../development/ocaml-modules/janestreet/buildOcamlJane.nix {};
+    janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
 
-    ocaml-compiler-libs = callPackage ../development/ocaml-modules/janestreet/ocaml-compiler-libs.nix {};
+    janeStreet = import ../development/ocaml-modules/janestreet {
+      inherit lib janePackage ocamlbuild ctypes cryptokit magic-mime;
+      inherit ocaml-migrate-parsetree octavius ounit ppx_deriving re zarith;
+      inherit (pkgs) stdenv openssl;
+    };
 
-    ppx_ast = callPackage ../development/ocaml-modules/janestreet/ppx_ast.nix {};
+    js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {};
+
+    buildOcamlJane = callPackage ../development/ocaml-modules/janestreet/buildOcamlJane.nix {};
 
     ppx_core =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_core-113_33_01.nix {}
+      then janeStreet.ppx_core
       else callPackage ../development/ocaml-modules/janestreet/ppx-core.nix {};
 
     ppx_optcomp =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_optcomp-113_33_01.nix {
-        oasis = ocaml_oasis; }
+      then janeStreet.ppx_optcomp
       else callPackage ../development/ocaml-modules/janestreet/ppx-optcomp.nix {};
 
-    ppx_driver = callPackage ../development/ocaml-modules/janestreet/ppx-driver.nix {};
+    ppx_driver =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.ppx_driver
+      else callPackage ../development/ocaml-modules/janestreet/ppx-driver.nix {};
 
     ppx_type_conv =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_type_conv-113_33_02.nix { }
+      then janeStreet.ppx_type_conv
       else callPackage ../development/ocaml-modules/janestreet/ppx-type-conv.nix {};
 
     ppx_compare =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_compare-113_33_00.nix {}
+      then janeStreet.ppx_compare
       else callPackage ../development/ocaml-modules/janestreet/ppx-compare.nix {};
 
-    ppx_here = callPackage ../development/ocaml-modules/janestreet/ppx-here.nix {};
+    ppx_here =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.ppx_here
+      else callPackage ../development/ocaml-modules/janestreet/ppx-here.nix {};
 
     ppx_sexp_conv =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_sexp_conv-113_33_01.nix { }
+      then janeStreet.ppx_sexp_conv
       else callPackage ../development/ocaml-modules/janestreet/ppx-sexp-conv.nix {};
 
-    ppx_assert = callPackage ../development/ocaml-modules/janestreet/ppx-assert.nix {};
+    ppx_assert =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.ppx_assert
+      else callPackage ../development/ocaml-modules/janestreet/ppx-assert.nix {};
 
     ppx_inline_test =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_inline_test-113_33_00.nix {}
+      then janeStreet.ppx_inline_test
       else callPackage ../development/ocaml-modules/janestreet/ppx-inline-test.nix {};
 
     ppx_bench =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_bench-113_33_00.nix {}
+      then janeStreet.ppx_bench
       else callPackage ../development/ocaml-modules/janestreet/ppx-bench.nix {};
 
     ppx_bin_prot =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_bin_prot-113_33_00.nix {}
+      then janeStreet.ppx_bin_prot
       else callPackage ../development/ocaml-modules/janestreet/ppx-bin-prot.nix {};
 
     ppx_custom_printf =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_custom_printf-113_33_00.nix {}
+      then janeStreet.ppx_custom_printf
       else callPackage ../development/ocaml-modules/janestreet/ppx-custom-printf.nix {};
 
     ppx_enumerate =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_enumerate-113_33_00.nix {}
+      then janeStreet.ppx_enumerate
       else callPackage ../development/ocaml-modules/janestreet/ppx-enumerate.nix {};
 
     ppx_fail =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_fail-113_33_00.nix {}
+      then janeStreet.ppx_fail
       else callPackage ../development/ocaml-modules/janestreet/ppx-fail.nix {};
 
     ppx_fields_conv =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_fields_conv-113_33_00.nix {}
+      then janeStreet.ppx_fields_conv
       else callPackage ../development/ocaml-modules/janestreet/ppx-fields-conv.nix {};
 
     ppx_let =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_let-113_33_00.nix {}
+      then janeStreet.ppx_let
       else callPackage ../development/ocaml-modules/janestreet/ppx-let.nix {};
 
     ppx_pipebang =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_pipebang-113_33_00.nix {}
+      then janeStreet.ppx_pipebang
       else callPackage ../development/ocaml-modules/janestreet/ppx-pipebang.nix {};
 
     ppx_sexp_message =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_sexp_message-113_33_00.nix {}
+      then janeStreet.ppx_sexp_message
       else callPackage ../development/ocaml-modules/janestreet/ppx-sexp-message.nix {};
 
     ppx_sexp_value =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_sexp_value-113_33_00.nix {}
+      then janeStreet.ppx_sexp_value
       else callPackage ../development/ocaml-modules/janestreet/ppx-sexp-value.nix {};
 
     ppx_typerep_conv =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_typerep_conv-113_33_00.nix {}
+      then janeStreet.ppx_typerep_conv
       else callPackage ../development/ocaml-modules/janestreet/ppx-typerep-conv.nix {};
 
     ppx_variants_conv =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_variants_conv-113_33_00.nix {}
+      then janeStreet.ppx_variants_conv
       else callPackage ../development/ocaml-modules/janestreet/ppx-variants-conv.nix {};
 
     ppx_expect =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_expect-113_33_01.nix {}
+      then janeStreet.ppx_expect
       else callPackage ../development/ocaml-modules/janestreet/ppx-expect.nix {};
 
     ppx_jane =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/ppx_jane-113_33_00.nix {}
+      then janeStreet.ppx_jane
       else callPackage ../development/ocaml-modules/janestreet/ppx-jane.nix {};
 
-    ppx_traverse_builtins = callPackage ../development/ocaml-modules/janestreet/ppx_traverse_builtins.nix {};
-
 
     # Core sublibs
     typerep =
-      if lib.versionOlder "4.02" ocaml.version
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.typerep
+      else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.fieldslib
+      else if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/ocaml-modules/janestreet/fieldslib.nix {}
       else fieldslib_p4;
 
     sexplib =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/sexplib-113_33_00.nix {}
+      then janeStreet.sexplib
       else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.variantslib
+      else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.bin_prot
+      else if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/ocaml-modules/janestreet/bin_prot.nix {}
       else bin_prot_p4;
 
@@ -733,60 +758,76 @@ let
 
     core_kernel =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/core_kernel-113_33_01.nix {}
+      then janeStreet.core_kernel
       else 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.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/core-113_33_02.nix {}
+      then janeStreet.core
       else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.re2
+      else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.textutils
+      else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.core_extended
+      else 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.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/async_kernel-113_33_00.nix {}
+      then janeStreet.async_kernel
       else 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_rpc_kernel =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.async_rpc_kernel
+      else callPackage ../development/ocaml-modules/janestreet/async-rpc-kernel.nix {};
 
     async_unix =
       if lib.versionOlder "4.03" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/async_unix-113_33_00.nix {}
+      then janeStreet.async_unix
       else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.async_extra
+      else 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
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.async
+      else if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/ocaml-modules/janestreet/async.nix {}
       else async_p4;
 
-    async_ssl = callPackage ../development/ocaml-modules/janestreet/async_ssl.nix { };
+    async_ssl =
+      if lib.versionOlder "4.03" ocaml.version
+      then janeStreet.async_ssl
+      else callPackage ../development/ocaml-modules/janestreet/async_ssl.nix { };
 
     # Apps / from all-packages
 
@@ -838,6 +879,7 @@ let
     };
 
   };
+    in (ocamlPackages.janeStreet // ocamlPackages);
     in lib.fix' (lib.extends overrides packageSet);
 in rec
 {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 4874d5d01a2..2282cdc2f32 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -517,6 +517,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  AuthenRadius = buildPerlPackage rec {
+    name = "Authen-Radius-0.26";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/P/PO/PORTAONE/${name}.tar.gz";
+      sha256 = "4f272c19b8a9f6514a1107e98efae6773208233df4db11f2dc4764b4784b17c3";
+    };
+    buildInputs = [ TestNoWarnings ];
+    propagatedBuildInputs = [ DataHexDump NetIP ];
+    meta = {
+      description = "Provide simple Radius client facilities  ";
+      license = with stdenv.lib.licenses; [ artistic2 ];
+    };
+  };
+
   AuthenSASL = buildPerlPackage rec {
     name = "Authen-SASL-2.16";
     src = fetchurl {
@@ -1735,6 +1749,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Chart = buildPerlPackage rec {
+    name = "Chart-2.4.10";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/C/CH/CHARTGRP/${name}.tar.gz";
+      sha256 = "84bd99a1a0ce72477b15e35881e6120398bb3f553aeeb5e8d72b088520e4f6bf";
+    };
+    propagatedBuildInputs = [ GD ];
+    meta = {
+        description = "A series of charting modules";
+        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ClassAccessor = buildPerlPackage {
     name = "Class-Accessor-0.34";
     src = fetchurl {
@@ -2941,11 +2968,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  DataGUID = buildPerlPackage {
-    name = "Data-GUID-0.048";
+  DataGUID = buildPerlPackage rec {
+    name = "Data-GUID-0.049";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.048.tar.gz;
-      sha256 = "cb263b1e6eeecc5797de6f945d42ace2db26c156172883550b73fa2ecdab29dc";
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "0yx7d4qwsr9n85gslip0y3mdwr5fkncfbwxz7si2a17x95yl7bxq";
     };
     propagatedBuildInputs = [ DataUUID SubExporter SubInstall ];
     meta = {
@@ -3800,17 +3827,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxClassSchemaLoader = buildPerlPackage rec {
-    name = "DBIx-Class-Schema-Loader-0.07045";
+    name = "DBIx-Class-Schema-Loader-0.07047";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
-      sha256 = "b132c667aa7dfe6f054e097c3e572a7dbf8ad433500f085e372740d5bc23a440";
+      sha256 = "6671fb3afbb1b4f3eb5905f34fb47ce18b29af3e055e479b06c09424bbc1421b";
     };
     buildInputs = [ ConfigAny ConfigGeneral DBDSQLite DBIxClassIntrospectableM2M Moose MooseXMarkAsMethods MooseXNonMoose TestDeep TestDifferences TestException TestPod TestWarn namespaceautoclean ];
     propagatedBuildInputs = [ CarpClan ClassAccessorGrouped ClassC3Componentised ClassInspector ClassUnload DBIxClass DataDump HashMerge LinguaENInflectNumber LinguaENInflectPhrase LinguaENTagger MROCompat ScalarListUtils ScopeGuard StringCamelCase StringToIdentifierEN TryTiny namespaceclean ];
     meta = {
       description = "Create a DBIx::Class::Schema based on a database";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -4511,6 +4537,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  EmailReply = buildPerlPackage rec {
+    name = "Email-Reply-1.204";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "ba4fd80ac5017d6d132e0358c786b0ecd1c7adcbeee5c19fb3da2964791a56f0";
+    };
+    propagatedBuildInputs = [ EmailAbstract EmailAddress EmailMIME ];
+    meta = {
+      homepage = "http://search.cpan.org/~rjbs/${name}";
+      description = "Reply to an email message";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   EmailMessageID = buildPerlPackage {
     name = "Email-MessageID-1.404";
     src = fetchurl {
@@ -4541,6 +4581,22 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  EmailMIMEAttachmentStripper = buildPerlPackage rec {
+    name = "Email-MIME-Attachment-Stripper-1.317";
+    buildInputs = [ CaptureTiny TestPod ];
+    propagatedBuildInputs = [ EmailAbstract EmailMIME ];
+
+    src = fetchurl {
+        url = "http://www.cpan.org/authors/id/R/RJ/RJBS/${name}.tar.gz";
+        sha256 = "dcb98b09dc3e8f757ec3882a4234548108bb2d12e3cfadf95a26cef381a9e789";
+    };
+    meta = {
+        homepage = "http://search.cpan.org/dist/${name}";
+        description = "Strip the attachments from an email";
+        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   EmailMIMEContentType = buildPerlPackage rec {
     name = "Email-MIME-ContentType-1.018";
     src = fetchurl {
@@ -4570,6 +4626,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  EmailMIMEModifier = buildPerlPackage rec {
+    doCheck = false; # tests are broken, it seems
+    name = "Email-MIME-Modifier-1.444";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "4521cf361527cd9b5e8b0db3d2e6c9588c52de6a8997e1daf5c21ed1eb7a4ba2";
+    };
+    propagatedBuildInputs = [ EmailMIME EmailMIMEContentType ];
+    meta = {
+      homepage = "http://search.cpan.org/~rjbs/${name}";
+      description = "Modify Email::MIME Objects Easily";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   EmailSend = buildPerlPackage rec {
     name = "Email-Send-2.201";
     src = fetchurl {
@@ -4651,6 +4722,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  EncodeDetect = buildPerlPackage rec {
+    name = "Encode-Detect-1.01";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JG/JGMYERS/${name}.tar.gz";
+      sha256 = "834d893aa7db6ce3f158afbd0e432d6ed15a276e0940db0a74be13fd9c4bbbf1";
+    };
+    propagatedBuildInputs = [ ModuleBuild ];
+    meta = {
+      description = "An Encode::Encoding subclass that detects the encoding of data";
+      license = stdenv.lib.licenses.free;
+    };
+  };
+
+
   EncodeEUCJPASCII = buildPerlPackage {
     name = "Encode-EUCJPASCII-0.03";
     src = fetchurl {
@@ -7040,6 +7125,32 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  IPCountry = buildPerlPackage rec {
+    name = "IP-Country-2.28";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NW/NWETTERS/${name}.tar.gz";
+      sha256 = "88db833a5ab22ed06cb53d6f205725e3b5371b254596053738885e91fa105f75";
+    };
+    propagatedBuildInputs = [ GeographyCountries ];
+    meta = {
+      description = "Fast lookup of country codes from IP addresses";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  GeographyCountries = buildPerlPackage rec {
+    name = "Geography-Countries-2009041301";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AB/ABIGAIL/${name}.tar.gz";
+      sha256 = "48c42e40e8281ba7c981743a854c48e6def2d51eb0925ea6c96e25c74497f20f";
+    };
+    meta = {
+      description = "2-letter, 3-letter, and numerical codes for countries";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+
   IPCRun = buildPerlPackage {
     name = "IPC-Run-0.92";
     src = fetchurl {
@@ -7096,11 +7207,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   ImageExifTool = buildPerlPackage rec {
-    name = "Image-ExifTool-9.27";
+    name = "Image-ExifTool-${version}";
+    version = "10.48";
 
     src = fetchurl {
       url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz";
-      sha256 = "1f37pi7a6fcphp0kkhj7yr9b5c95m2wvy5jcwjq1xdiq74gdi16c";
+      sha256 = "1wbwapwhv4imh1lj4dw4a8z2mhw983wk5pzdbp7pkijfji0vjj0p";
     };
 
     meta = with stdenv.lib; {
@@ -8062,6 +8174,28 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MailSPF = buildPerlPackage rec {
+    name = "Mail-SPF-v2.9.0";
+    #src = /root/nixops/Mail-SPF-v2.9.0;
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JM/JMEHNLE/mail-spf/${name}.tar.gz";
+      sha256 = "61cb5915f1c7acc7a931ffc1bfc1291bdfac555e2a46eb2391b995ea9ecb6162";
+    };
+    # remove this patch patches = [ ../development/perl-modules/Mail-SPF.patch ];
+
+    buildInputs = [ ModuleBuild NetDNSResolverProgrammable ];
+    propagatedBuildInputs = [ Error NetAddrIP NetDNS URI ];
+
+    buildPhase = "perl Build.PL --install_base=$out --install_path=\"sbin=$out/bin\"; ./Build build ";
+
+    doCheck = false; # The main test performs network access
+    meta = {
+      description = "An object-oriented implementation of Sender Policy Framework";
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+
   MailTools = buildPerlPackage rec {
     name = "MailTools-2.14";
     src = fetchurl {
@@ -9728,6 +9862,19 @@ let self = _self // overrides; _self = with self; {
   # Deprecated.
   NamespaceClean = self.namespaceclean;
 
+  NetIdent = buildPerlPackage rec {
+    name = "Net-Ident-1.24";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/${name}.tar.gz";
+      sha256 = "5f5f1142185a67b87406a3fb31f221564f61838a70ef4c07284a66c55e82ad05";
+    };
+    meta = {
+      homepage = http://wiki.github.com/toddr/Net-Ident/;
+      description = "Lookup the username on the remote end of a TCP/IP connection";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   NetAddrIP = buildPerlPackage rec {
     name = "NetAddr-IP-4.079";
     src = fetchurl {
@@ -10018,6 +10165,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  NetDNSResolverProgrammable = buildPerlPackage rec {
+    name = "Net-DNS-Resolver-Programmable-v0.003";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/${name}.tar.gz";
+      sha256 = "8d402260941f259c83bf1b2564408e75288df028f604136c29da11a9a6a076ec";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ NetDNS ];
+    meta = {
+      description = "Programmable DNS resolver class for offline emulation of DNS";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+
   NetServer = buildPerlPackage {
     name = "Net-Server-2.007";
     src = fetchurl {
@@ -10157,6 +10319,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  NTLM = buildPerlPackage rec {
+    name = "NTLM-1.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NB/NBEBOUT/${name}.tar.gz";
+      sha256 = "c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85";
+    };
+    propagatedBuildInputs = [ DigestHMAC ];
+    meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.pSub ];
+    };
+  };
+
   ObjectAccessor = buildPerlPackage {
     name = "Object-Accessor-0.48";
     src = fetchurl {
@@ -10303,6 +10478,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PatchReader = buildPerlPackage rec {
+    name = "PatchReader-0.9.6";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/T/TM/TMANNERM/${name}.tar.gz";
+      sha256 = "b8de37460347bb5474dc01916ccb31dd2fe0cd92242c4a32d730e8eb087c323c";
+    };
+    meta = {
+      homepage = "http://search.cpan.org/~tmannerm/${name}";
+      description = "Utilities to read and manipulate patches and CVS";
+      license = with stdenv.lib.licenses; [ artistic1 ];
+    };
+  };
+
   PackageStash = buildPerlPackage {
     name = "Package-Stash-0.37";
     src = fetchurl {
@@ -11274,6 +11462,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Razor2ClientAgent = buildPerlPackage rec {
+    name = "Razor2-Client-Agent-2.84";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/${name}.tar.gz";
+      sha256 = "d7c2ed7f347a673b1425e4da7656073d6c52847bc7403bf57e3a404b52f7e501";
+    };
+    propagatedBuildInputs = [ DigestSHA1 URI ];
+    meta = {
+      homepage = http://razor.sourceforge.net/;
+      description = "Collaborative, content-based spam filtering network agent";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+
   Readonly = buildPerlModule rec {
     name = "Readonly-2.05";
     src = fetchurl {
@@ -11353,7 +11556,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "09c8xb43p1s6ala6g4274az51mf33phyjkp66dpvgkgbi1xfnawp";
     };
   };
-  
+
   RegexpGrammars = buildPerlPackage rec {
     name = "Regexp-Grammars-1.045";
     src = fetchurl {
@@ -12094,6 +12297,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ShellCommand = buildPerlPackage {
+    name = "Shell-Command-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz;
+      sha256 = "1lgc2rb3b5a4lxvbq0cbg08qk0n2i88srxbsz93bwi3razpxxr7k";
+    };
+  };
+
   StringToIdentifierEN = buildPerlPackage rec {
     name = "String-ToIdentifier-EN-0.11";
     src = fetchurl {
@@ -12645,6 +12856,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+   TemplateGD = buildPerlPackage rec {
+    name = "Template-GD-2.66";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/A/AB/ABW/${name}.tar.gz";
+      sha256 = "98523c8192f2e8184042e5a2e172bd767ac289dd2e480f35f680dce32160905b";
+    };
+    propagatedBuildInputs = [ GD TemplateToolkit ];
+    meta = {
+      description = "GD plugin(s) for the Template Toolkit";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   TermANSIColor = buildPerlPackage {
     name = "Term-ANSIColor-4.03";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e7305f9ec9a..9e957218263 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -53,15 +53,11 @@ let
         let
           url = "https://files.pythonhosted.org/packages/${python}/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}-${python}-${abi}-${platform}.whl";
         in pkgs.fetchurl {inherit url sha256;};
-
-      fetchSource = {pname, version, sha256}:
+      fetchSource = {pname, version, sha256, extension ? "tar.gz"}:
       # Fetch a source tarball.
         let
-          urls = [
-            "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz"
-            "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.zip"
-          ];
-        in pkgs.fetchurl {inherit urls sha256;};
+          url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.${extension}";
+        in pkgs.fetchurl {inherit url sha256;};
       fetcher = (if format == "wheel" then fetchWheel
         else if format == "setuptools" then fetchSource
         else throw "Unsupported kind ${kind}");
@@ -145,6 +141,8 @@ in {
 
   asn1crypto = callPackage ../development/python-modules/asn1crypto { };
 
+  astropy = callPackage ../development/python-modules/astropy {  };
+
   automat = callPackage ../development/python-modules/automat { };
 
   # packages defined elsewhere
@@ -238,10 +236,14 @@ in {
 
   nltk = callPackage ../development/python-modules/nltk.nix { };
 
+  ntlm-auth = callPackage ../development/python-modules/ntlm-auth { };
+
   pitz = callPackage ../applications/misc/pitz { };
 
   plantuml = callPackage ../tools/misc/plantuml { };
 
+  Pmw = callPackage ../development/python-modules/Pmw { };
+
   pyaes = callPackage ../development/python-modules/pyaes.nix { };
 
   pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}";
@@ -600,6 +602,8 @@ in {
     };
   };
 
+  aiofiles = callPackage ../development/python-modules/aiofiles { };
+
   aiohttp = buildPythonPackage rec {
     name = "aiohttp-${version}";
     version = "1.1.6";
@@ -644,23 +648,7 @@ in {
   };
 
 
-  alembic = buildPythonPackage rec {
-    name = "alembic-0.8.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/alembic/${name}.tar.gz";
-      sha256 = "1sgwvwylzd5h14130mwr0cbyy0fil0a1bq0d0ki97wqvkic3db7f";
-    };
-
-    buildInputs = with self; [ pytest pytestcov mock coverage ];
-    propagatedBuildInputs = with self; [ Mako sqlalchemy python-editor ];
-
-    meta = {
-      homepage = http://bitbucket.org/zzzeek/alembic;
-      description = "A database migration tool for SQLAlchemy";
-      license = licenses.mit;
-    };
-  };
+  alembic = callPackage ../development/python-modules/alembic {};
 
   ansicolors = buildPythonPackage rec {
     name    = "ansicolors-${version}";
@@ -1022,20 +1010,7 @@ in {
     };
   };
 
-  appdirs = buildPythonPackage rec {
-    name = "appdirs-1.4.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/appdirs/appdirs-1.4.0.tar.gz";
-      sha256 = "8fc245efb4387a4e3e0ac8ebcc704582df7d72ff6a42a53f5600bbb18fdaadc5";
-    };
-
-    meta = {
-      description = "A python module for determining appropriate platform-specific dirs";
-      homepage = http://github.com/ActiveState/appdirs;
-      license = licenses.mit;
-    };
-  };
+  appdirs = callPackage ../development/python-modules/appdirs { };
 
   application = buildPythonPackage rec {
     pname = "python-application";
@@ -1159,6 +1134,8 @@ in {
     };
   };
 
+  argcomplete = callPackage ../development/python-modules/argcomplete { };
+
   area53 = buildPythonPackage (rec {
     name = "Area53-0.94";
 
@@ -1305,36 +1282,8 @@ in {
 
   };
 
-  argparse = buildPythonPackage (rec {
-    name = "argparse-1.4.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/argparse/${name}.tar.gz";
-      sha256 = "1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32";
-    };
-
-    checkPhase = ''
-      export PYTHONPATH=`pwd`/build/lib:$PYTHONPATH
-      ${python.interpreter} test/test_argparse.py
-    '';
-
-    # ordering issues in tests
-    doCheck = !isPy3k;
-
-    meta = {
-      homepage = http://code.google.com/p/argparse/;
-      license = licenses.asl20;
-      description = "argparse: Python command line parser";
-      longDescription = ''
-        The argparse module makes writing command line tools in Python
-        easy.  Just briefly describe your command line interface and
-        argparse will take care of the rest, including: parsing the
-        arguments and flags from sys.argv, converting arg strings into
-        objects for your program, formatting and printing any help
-        messages, and much more.
-      '';
-    };
-  });
+  # argparse is part of stdlib in 2.7 and 3.2+
+  argparse = null;
 
   astroid = callPackage ../development/python-modules/astroid { };
 
@@ -1537,13 +1486,26 @@ in {
     };
   };
 
-  awscli = buildPythonPackage rec {
-    name = "awscli-${version}";
-    version = "1.11.75";
-      namePrefix = "";
-      src = pkgs.fetchurl {
-      url = "mirror://pypi/a/awscli/${name}.tar.gz";
-      sha256 = "0bkjyrgb78f29vvr8j2id0386d30w340wrl7krwiha725c9y3pz1";
+  awscli =
+  let
+    colorama_3_7 = self.colorama.overrideAttrs (old: rec {
+      name = "${pname}-${version}";
+      pname = "colorama";
+      version = "0.3.7";
+      src = fetchPypi {
+        inherit pname version;
+        sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0";
+      };
+    });
+  in buildPythonPackage rec {
+    name = "${pname}-${version}";
+    pname = "awscli";
+    version = "1.11.95";
+    namePrefix = "";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "1f99cg5x5kw1p1awny64adp07rvva57srdfrbi81yl2kpw33ybjc";
     };
 
     # No tests included
@@ -1554,7 +1516,7 @@ in {
       bcdoc
       s3transfer
       six
-      colorama_3_3
+      colorama_3_7
       docutils
       rsa
       pyyaml
@@ -2623,7 +2585,7 @@ in {
 
   };
 
-  rarfile = callPackage ../development/python-modules/rarfile {};
+  rarfile = callPackage ../development/python-modules/rarfile { inherit (pkgs) libarchive; };
 
   proboscis = buildPythonPackage rec {
     name = "proboscis-1.2.6.0";
@@ -3075,11 +3037,13 @@ in {
   };
 
   botocore = buildPythonPackage rec {
-    version = "1.5.38"; # This version is required by awscli
-    name = "botocore-${version}";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/botocore/${name}.tar.gz";
-      sha256 = "04cvsi8g8p3r5vr3vr2nb5ldyrsm0y4c2phimabbpk33wv718qyx";
+    name = "${pname}-${version}";
+    pname = "botocore";
+    version = "1.5.58";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "1kd9hngdqvpjm01amizsmsnc08h2a0dxiasdk0f4kg1pibpqdni5";
     };
 
     propagatedBuildInputs =
@@ -3515,20 +3479,7 @@ in {
 
   certifi = callPackage ../development/python-modules/certifi { };
 
-  characteristic = buildPythonPackage rec {
-    name = "characteristic-14.1.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/characteristic/${name}.tar.gz";
-      sha256 = "91e254948180678dd69e6143202b4686f2fa47cce136936079bb4d9a3b82419d";
-    };
-
-    buildInputs = with self; [ self.pytest ];
-
-    meta = {
-      description = "Python attributes without boilerplate";
-      homepage = https://characteristic.readthedocs.org;
-    };
-  };
+  characteristic = callPackage ../development/python-modules/characteristic { };
 
   # This package is no longer actively maintained and can be removed if it becomes broken.
   cgkit = buildPythonPackage rec {
@@ -3864,36 +3815,7 @@ in {
     };
   };
 
-
-  colorama = buildPythonPackage rec {
-    name = "colorama-${version}";
-    version = "0.3.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/colorama/${name}.tar.gz";
-      sha256 = "e043c8d32527607223652021ff648fbb394d5e19cba9f1a698670b338c9d782b";
-    };
-
-    # No tests in archive
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/tartley/colorama;
-      license = "bsd";
-      description = "Cross-platform colored terminal text";
-    };
-  };
-
-  # Needed for awscli
-  colorama_3_3 = self.colorama.override rec {
-    name = "colorama-${version}";
-    version = "0.3.3";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/colorama/${name}.tar.gz";
-      sha256 = "eb21f2ba718fbf357afdfdf6f641ab393901c7ca8d9f37edd0bee4806ffa269c";
-    };
-  };
-
+  colorama = callPackage ../development/python-modules/colorama { };
 
   CommonMark = buildPythonPackage rec {
     name = "CommonMark-${version}";
@@ -4094,11 +4016,11 @@ in {
 
 
   consul = buildPythonPackage (rec {
-    name = "python-consul-0.6.0";
+    name = "python-consul-0.7.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/python-consul/${name}.tar.gz";
-      sha256 = "0vfyr499sbc4nnhhijp2lznyj507nnak95bvv9w8y78ngxggskbh";
+      sha256 = "18gs5myk9wkkq5zvj0n0s68ngj3mrbdcifshxfj1j0bgb1km0wpm";
     };
 
     buildInputs = with self; [ requests six pytest ];
@@ -5299,28 +5221,7 @@ in {
 
   pytest_xdist = callPackage ../development/python-modules/pytest-xdist { };
 
-  pytest-localserver = buildPythonPackage rec {
-    name = "pytest-localserver-${version}";
-    version = "0.3.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-localserver/${name}.tar.gz";
-      sha256 = "0dvqspjr6va55zwmnnc2mmpqc7mm65kxig9ya44x1z8aadzxpa4p";
-    };
-
-    propagatedBuildInputs = with self; [ werkzeug ];
-    buildInputs = with self; [ pytest six requests ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    meta = {
-      description = "Plugin for the pytest testing framework to test server connections locally";
-      homepage = https://pypi.python.org/pypi/pytest-localserver;
-      license = licenses.mit;
-    };
-  };
+  pytest-localserver = callPackage ../development/python-modules/pytest-localserver { };
 
   pytest-subtesthack = buildPythonPackage rec {
     name = "pytest-subtesthack-${version}";
@@ -5432,33 +5333,7 @@ in {
     };
   });
 
-  dask = buildPythonPackage rec {
-    pname = "dask";
-    name = "${pname}-${version}";
-    version = "0.14.1";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "46c8ef9aa41a5755f2194b535bff7fdef1343d3993ab294b198caf95155ec94e";
-    };
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ cloudpickle  numpy toolz dill pandas partd ];
-
-    checkPhase = ''
-      py.test dask
-    '';
-
-    # URLError
-    doCheck = false;
-
-    meta = {
-      description = "Minimal task scheduling abstraction";
-      homepage = "http://github.com/ContinuumIO/dask/";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ fridh ];
-    };
-  };
+  dask = callPackage ../development/python-modules/dask { };
 
   datrie = buildPythonPackage rec {
     name = "datrie";
@@ -5569,28 +5444,7 @@ in {
 
   libais = callPackage ../development/python-modules/libais { };
 
-  libtmux = buildPythonPackage rec {
-    name = "libtmux-${version}";
-    version = "0.6.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/libtmux/${name}.tar.gz";
-      sha256 = "0kmw7x8cxb2hj2mzibmg9nxaijhsm1kcm0vdihn99fhm5kw1phh5";
-    };
-
-    buildInputs = with self; [ pytest_29 ];
-    patchPhase = ''
-      sed -i 's/==.*$//' requirements/test.txt
-    '';
-
-    meta = with stdenv.lib; {
-      description = "Scripting library for tmux";
-      homepage = https://libtmux.readthedocs.io/;
-      license = licenses.bsd3;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ jgeerds ];
-    };
-  };
+  libtmux = callPackage ../development/python-modules/libtmux { };
 
   locket = buildPythonPackage rec {
     name = "locket-${version}";
@@ -6299,6 +6153,8 @@ in {
       nosetests -v --cover-min-percentage 1
     '';
 
+    doCheck = false;
+
     buildInputs = with self; [ coverage tornado mock nose psutil pysocks ];
 
     meta = {
@@ -6379,6 +6235,14 @@ in {
     };
   };
 
+  eccodes = if (isPy27) then
+      (pkgs.eccodes.overrideAttrs (oldattrs: {
+    name = "${python.libPrefix}-" + oldattrs.name;
+  })).override {
+    enablePython = true;
+    pythonPackages = self;
+  } else throw "eccodes not supported for interpreter ${python.executable}";
+
   EditorConfig = buildPythonPackage rec {
     name = "EditorConfig-${version}";
     version = "0.12.0";
@@ -6754,10 +6618,10 @@ in {
 
   Fabric = buildPythonPackage rec {
     name = "Fabric-${version}";
-    version = "1.10.2";
+    version = "1.13.2";
     src = pkgs.fetchurl {
       url = "mirror://pypi/F/Fabric/${name}.tar.gz";
-      sha256 = "0nikc05iz1fx2c9pvxrhrs819cpmg566azm99450yq2m8qmp1cpd";
+      sha256 = "0k944dxr41whw7ib6380q9x15wyskx7fqni656icdn8rzshn9bwq";
     };
     disabled = isPy3k;
     doCheck = (!isPyPy);  # https://github.com/fabric/fabric/issues/11891
@@ -7795,13 +7659,15 @@ in {
 
   libthumbor = buildPythonPackage rec {
     name = "libthumbor-${version}";
-    version = "1.2.0";
+    version = "1.3.2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/l/libthumbor/${name}.tar.gz";
-      sha256 = "09bbaf08124ee33ea4ef99881625bd20450b0b43ab90fd678479beba8c03f86e";
+      sha256 = "1vjhszsf8wl9k16wyg2rfjycjnawzl7z8j39bhiysbz5x4lqg91b";
     };
 
+    buildInputs = with self; [ django ];
+
     propagatedBuildInputs = with self; [ six pycrypto ];
 
     meta = {
@@ -8200,7 +8066,9 @@ in {
     };
   };
 
-  netcdf4 = callPackage ../development/python-modules/netcdf4.nix { };
+  netcdf4 = callPackage ../development/python-modules/netcdf4 { };
+
+  Nikola = callPackage ../development/python-modules/Nikola { };
 
   nxt-python = buildPythonPackage rec {
     version = "unstable-20160819";
@@ -8285,93 +8153,9 @@ in {
     };
   };
 
-  pants = let
-    # Get rid of this when pants 1.3.0 is released and make 0.5 the default
-    pathspec = buildPythonPackage rec {
-      pname   = "pathspec";
-      version = "0.3.4";
-      name    = "${pname}-${version}";
-
-      src = self.fetchPypi {
-        inherit pname version;
-        sha256 = "0a37yrr2jhlg8aiynxivh2xqani7l9j725qxzrm7cm7m4rfcl1bn";
-      };
-
-      meta = {
-        description = "Utility library for gitignore-style pattern matching of file paths";
-        homepage = "https://github.com/cpburnz/python-path-specification";
-        license = licenses.mpl20;
-       maintainers = with maintainers; [ copumpkin ];
-      };
-    };
-  in buildPythonPackage rec {
-    pname   = "pantsbuild.pants";
-    version = "1.2.1";
-    name    = "${pname}-${version}";
-
-    src = self.fetchPypi {
-      inherit pname version;
-      sha256 = "1bnzhhd2acwk7ckv56xzg2d9vxacl3k5bh13bsjxymnq3spm962w";
-    };
-
-    prePatch = ''
-      sed -E -i "s/'([[:alnum:].-]+)[=><][^']*'/'\\1'/g" setup.py
-    '';
-
-    # Unnecessary, and causes some really weird behavior around .class files, which
-    # this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
-    dontStrip = true;
-
-    propagatedBuildInputs = with self; [
-      ansicolors beautifulsoup4 cffi coverage docutils fasteners futures
-      isort lmdb markdown mock packaging pathspec pep8 pex psutil pyflakes
-      pygments pystache pytestcov pytest pywatchman requests scandir
-      setproctitle setuptools six thrift wheel twitter-common-dirutil
-      twitter-common-confluence twitter-common-collections
-    ];
-
-    meta = {
-      description = "A build system for software projects in a variety of languages";
-      homepage    = "http://www.pantsbuild.org/";
-      license     = licenses.asl20;
-      maintainers = with maintainers; [ copumpkin ];
-      platforms   = platforms.unix;
-    };
-  };
-
-  pants13-pre = buildPythonPackage rec {
-    pname   = "pantsbuild.pants";
-    version = "1.3.0.dev19";
-    name    = "${pname}-${version}";
-
-    src = self.fetchPypi {
-      inherit pname version;
-      sha256 = "07gxx8kzkcx3pm2qd5sz2xb3nw9khvbapiqdzgjvzbvai2gsd5qq";
-    };
-
-    prePatch = ''
-      sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py
-    '';
-
-    # Unnecessary, and causes some really weird behavior around .class files, which
-    # this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
-    dontStrip = true;
-
-    propagatedBuildInputs = with self; [
-      twitter-common-collections setproctitle setuptools six ansicolors
-      packaging pathspec scandir twitter-common-dirutil psutil requests
-      pystache pex docutils markdown pygments twitter-common-confluence
-      fasteners coverage pywatchman futures cffi
-    ];
-
-    meta = {
-      description = "A build system for software projects in a variety of languages";
-      homepage    = "http://www.pantsbuild.org/";
-      license     = licenses.asl20;
-      maintainers = with maintainers; [ copumpkin ];
-      platforms   = platforms.unix;
-    };
-  };
+  # These used to be here but were moved to all-packages, but I'll leave them around for a while.
+  pants = pkgs.pants;
+  pants13-pre = pkgs.pants13-pre;
 
   paperwork-backend = buildPythonPackage rec {
     name = "paperwork-backend-${version}";
@@ -8627,29 +8411,6 @@ in {
     };
   };
 
-  pirate-get = buildPythonPackage rec {
-    name = "pirate-get-${version}";
-    version = "0.2.9";
-
-    disabled = !isPy3k;
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pirate-get/${name}.tar.gz";
-      sha256 = "1djmfghnwsn3z525h6d98r0lllayvzsg71z0gskk25zr24kjs24a";
-    };
-
-    propagatedBuildInputs = with self; [ colorama veryprettytable beautifulsoup4 ];
-
-    meta = {
-      description = "A command line interface for The Pirate Bay";
-      homepage = https://github.com/vikstrous/pirate-get;
-      license = licenses.gpl1;
-      maintainers = with maintainers; [ rnhmjoj ];
-      platforms = platforms.unix;
-    };
-  };
-
   plotly = callPackage ../development/python-modules/plotly { };
 
   podcastparser = callPackage ../development/python-modules/podcastparser { };
@@ -10279,28 +10040,10 @@ in {
     };
   };
 
-  django_hijack = buildPythonPackage rec {
-    name = "django-hijack-${version}";
-    version = "2.0.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-hijack/${name}.tar.gz";
-      sha256 = "0rpi1bkfx74xfbb2nk874kfdra1jcqp2vzky1r3z7zidlc9kah04";
-    };
-
-    # TODO improve the that multi-override necessity (the fixpoint based python
-    # packages work can be the solution)
-    propagatedBuildInputs = with self; [ django_1_9 (django_compat.override {
-      django = django_1_9;
-      django_nose = django_nose.override { propagatedBuildInputs = [django_1_9 nose]; };
-    }) ];
-
-    meta = {
-      description = "Allows superusers to hijack (=login as) and work on behalf of another user";
-      homepage = https://github.com/arteria/django-hijack;
-      license = licenses.mit;
-    };
-  };
+  # This package may need an older version of Django.
+  # Override the package set and set e.g. `django = super.django_1_9`.
+  # See the Nixpkgs manual for examples on how to override the package set.
+  django_hijack = callPackage ../development/python-modules/django-hijack { };
 
   django_nose = buildPythonPackage rec {
     name = "django-nose-${version}";
@@ -10882,26 +10625,9 @@ in {
     };
   };
 
-  feedgenerator = buildPythonPackage (rec {
-    name = "feedgenerator-1.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/feedgenerator/${name}.tar.gz";
-      sha256 = "5d6b0b10134ac392be0c0c3a39c0e1d7e9c17cc7894590f75981e3f497a4a60f";
-    };
-
-    buildInputs = [ pkgs.glibcLocales ];
-
-    LC_ALL="en_US.UTF-8";
-
-    propagatedBuildInputs = with self; [ six pytz ];
-
-    meta = {
-      description = "Standalone version of django.utils.feedgenerator,  compatible with Py3k";
-      homepage = https://github.com/dmdm/feedgenerator-py3k.git;
-      maintainers = with maintainers; [ garbas ];
-    };
-  });
+  feedgenerator = callPackage ../development/python-modules/feedgenerator {
+    inherit (pkgs) glibcLocales;
+  };
 
   feedparser = buildPythonPackage (rec {
     name = "feedparser-5.2.1";
@@ -11153,30 +10879,7 @@ in {
 
   flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login.nix { };
 
-  flask_migrate = buildPythonPackage rec {
-    name = "Flask-Migrate-${version}";
-    version = "1.7.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/F/Flask-Migrate/Flask-Migrate-1.7.0.tar.gz";
-      sha256 = "16d7vnaj9xmxvb3qbcmhahm3ldfdhzzi6y221h62x4v1v1jayx7v";
-    };
-
-    # When tests run with python3*, tests should run commands as "python3 <args>",
-    # not "python <args>"
-    patchPhase = ''
-      substituteInPlace tests/test_migrate.py --replace "python" "${python.executable}"
-      substituteInPlace tests/test_multidb_migrate.py --replace "python" "${python.executable}"
-    '';
-
-    propagatedBuildInputs = with self ; [ flask flask_sqlalchemy flask_script alembic ];
-
-    meta = {
-      description = "SQLAlchemy database migrations for Flask applications using Alembic";
-      license = licenses.mit;
-      homepage = https://github.com/miguelgrinberg/Flask-Migrate;
-    };
-  };
+  flask_migrate = callPackage ../development/python-modules/flask-migrate { };
 
   flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib.nix { };
 
@@ -11488,6 +11191,7 @@ in {
       url = "mirror://pypi/h/hug/${name}.tar.gz";
       sha256 = "93325e13706594933a9afb0d4f0b0748134494299038f07df41152baf6f89f4c";
     };
+    disabled = !isPy3k;
 
     propagatedBuildInputs = with self; [ falcon requests ];
 
@@ -11522,24 +11226,7 @@ in {
     inherit python;
   };
 
-  fonttools = buildPythonPackage (rec {
-    version = "3.0";
-    name = "fonttools-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/F/FontTools/fonttools-${version}.tar.gz";
-      sha256 = "0f4iblpbf3y3ghajiccvdwk2f46cim6dsj6fq1kkrbqfv05dr4nz";
-    };
-
-    buildInputs = with self; [
-      numpy
-    ];
-
-    meta = {
-      homepage = "https://github.com/behdad/fonttools";
-      description = "Font file processing tools";
-    };
-  });
+  fonttools = callPackage ../development/python-modules/fonttools { };
 
   foolscap = buildPythonPackage (rec {
     name = "foolscap-${version}";
@@ -11675,37 +11362,7 @@ in {
     };
   };
 
-  future = buildPythonPackage rec {
-    version = "0.15.2";
-    name = "future-${version}";
-
-    src = pkgs.fetchurl {
-      url = "http://github.com/PythonCharmers/python-future/archive/v${version}.tar.gz";
-      sha256 = "0vm61j5br6jiry6pgcxnwvxhki8ksnirp7k9mcbmxmgib3r60xd3";
-    };
-
-    propagatedBuildInputs = with self; optionals isPy26 [ importlib argparse ];
-    doCheck = false;
-
-    meta = {
-      description = "Clean single-source support for Python 3 and 2";
-      longDescription = ''
-        python-future is the missing compatibility layer between Python 2 and
-        Python 3. It allows you to use a single, clean Python 3.x-compatible
-        codebase to support both Python 2 and Python 3 with minimal overhead.
-
-        It provides future and past packages with backports and forward ports
-        of features from Python 3 and 2. It also comes with futurize and
-        pasteurize, customized 2to3-based scripts that helps you to convert
-        either Py2 or Py3 code easily to support both Python 2 and 3 in a
-        single clean Py3-style codebase, module by module.
-      '';
-      homepage = https://python-future.org;
-      downloadPage = https://github.com/PythonCharmers/python-future/releases;
-      license = licenses.mit;
-      maintainers = with maintainers; [ prikhi ];
-    };
-  };
+  future = callPackage ../development/python-modules/future { };
 
   futures = buildPythonPackage rec {
     name = "futures-${version}";
@@ -12176,6 +11833,14 @@ in {
     };
   };
 
+  grib-api = if (isPy27) then
+      (pkgs.grib-api.overrideAttrs (oldattrs: {
+    name = "${python.libPrefix}-" + oldattrs.name;
+  })).override {
+    enablePython = true;
+    pythonPackages = self;
+  } else throw "grib-api not supported for interpreter ${python.executable}";
+
   gspread = buildPythonPackage rec {
     version = "0.2.3";
     name = "gspread-${version}";
@@ -12804,11 +12469,11 @@ in {
   };
 
   ipaddress = if (pythonAtLeast "3.3") then null else buildPythonPackage rec {
-    name = "ipaddress-1.0.16";
+    name = "ipaddress-1.0.18";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/i/ipaddress/${name}.tar.gz";
-      sha256 = "1c3imabdrw8nfksgjjflzg7h4ynjckqacb188rf541m74arq4cas";
+      sha256 = "1q8klj9d84cmxgz66073x1j35cplr3r77vx1znhxiwl5w74391ax";
     };
 
     checkPhase = ''
@@ -13551,7 +13216,7 @@ in {
     };
   };
 
-  llvmlite = callPackage ../development/python-modules/llvmlite {llvm=pkgs.llvm_39;};
+  llvmlite = callPackage ../development/python-modules/llvmlite {llvm=pkgs.llvm_4;};
 
   lockfile = buildPythonPackage rec {
     pname = "lockfile";
@@ -15092,64 +14757,17 @@ in {
     };
   };
 
-  nbconvert = buildPythonPackage rec {
-    version = "5.1.1";
-    name = "nbconvert-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nbconvert/${name}.tar.gz";
-      sha256 = "847731bc39829d0eb1e15a450ac98c71730e3598e53683d4d76a3f3b3fc5017d";
-    };
-
-    buildInputs = with self; [nose ipykernel ];
-
-    propagatedBuildInputs = with self; [ entrypoints bleach mistune jinja2 pygments traitlets testpath jupyter_core nbformat ipykernel pandocfilters tornado jupyter_client];
-
-    checkPhase = ''
-      nosetests -v
-    '';
-
-    # PermissionError. Likely due to being in a chroot
-    doCheck = false;
-
-    meta = {
-      description = "Converting Jupyter Notebooks";
-      homepage = http://jupyter.org/;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ fridh ];
-    };
-  };
-
-  nbformat = buildPythonPackage rec {
-    version = "4.3.0";
-    name = "nbformat-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nbformat/${name}.tar.gz";
-      sha256 = "5febcce872672f1c97569e89323992bdcb8573fdad703f835e6521253191478b";
-    };
-    LC_ALL="en_US.UTF-8";
-    buildInputs = with self; [ pytest pkgs.glibcLocales ];
-    propagatedBuildInputs = with self; [ipython_genutils traitlets testpath jsonschema jupyter_core];
-
-    # Failing tests and permission issues
-    doCheck = false;
+  nbconvert = callPackage ../development/python-modules/nbconvert { };
 
-    meta = {
-      description = "The Jupyter Notebook format";
-      homepage = "http://jupyter.org/";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ fridh ];
-    };
-  };
+  nbformat = callPackage ../development/python-modules/nbformat { };
 
   nbxmpp = buildPythonPackage rec {
-    name = "nbxmpp-0.5.3";
+    name = "nbxmpp-${version}";
+    version = "0.5.5";
 
     src = pkgs.fetchurl {
-      name = "${name}.tar.gz";
-      url = "https://python-nbxmpp.gajim.org/downloads/8";
-      sha256 = "0dcr786dyips1fdvgsn8yvpgcz5j7217fi05c29cfypdl8jnp6mp";
+      url = "mirror://pypi/n/nbxmpp/${name}.tar.gz";
+      sha256 = "1gnzrzrdl4nii1sc5x8p5iw2ya5sl70j3nn34abqsny51p2pzmv6";
     };
 
     meta = {
@@ -15635,26 +15253,7 @@ in {
     };
   };
 
-  emoji = buildPythonPackage rec {
-    name = "emoji-${version}";
-    version = "0.3.9";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/emoji/${name}.tar.gz";
-      sha256 = "19p5c2nlq0w9972rf9fghyswnijwgig5f8cyzs32kppnmzvzbkxw";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    checkPhase = ''nosetests'';
-
-    meta = {
-      description = "Emoji for Python";
-      homepage = https://pypi.python.org/pypi/emoji/;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ joachifm ];
-    };
-  };
+  emoji = callPackage ../development/python-modules/emoji { };
 
   ntfy = buildPythonPackage rec {
     version = "1.2.0";
@@ -16248,18 +15847,19 @@ in {
   });
 
   osc = buildPythonPackage {
-    name = "osc-0.156.0-16-g9e6d1a5";
+    name = "osc-0.156.0-94-gd8ba394";
     disabled = isPy3k;
     src = pkgs.fetchFromGitHub {
       owner = "openSUSE";
       repo = "osc";
-      rev = "64cbb10095cf9ef0270d65fff58085a13bc0abe9";
-      sha256 = "0s5kz5ln96ka0f1sa9nyp34c28mkxkrgcxbvysdawlppg7ay9s1z";
+      rev = "d8ba39416bb193a15489cb2ae57847434adbf1c8";
+      sha256 = "0bxl1sjfpdrhyc0qljyqlkffyzn1iywjqgaz2z1y07zq59gc8wq0";
     };
     buildInputs = with pkgs; [ bashInteractive ]; # needed for bash-completion helper
     propagatedBuildInputs = with self; [ urlgrabber m2crypto pyyaml ];
     postInstall = ''
       ln -s $out/bin/osc-wrapper.py $out/bin/osc
+      install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
       install -D -m555 dist/osc.complete $out/share/bash-completion/helpers/osc-helper
       mkdir -p $out/share/bash-completion/completions
       cat >>$out/share/bash-completion/completions/osc <<EOF
@@ -17894,29 +17494,7 @@ in {
 
   };
 
-  pathpy = buildPythonPackage rec {
-    version = "10.1";
-    name = "path.py-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/path.py/${name}.tar.gz";
-      sha256 = "8b0ee56f6c1421a9038823926ee8da354ce70933424b408558bc6b48496587f3";
-    };
-
-    buildInputs = with self; [setuptools_scm pytestrunner pytest pkgs.glibcLocales ];
-
-    LC_ALL="en_US.UTF-8";
-
-    meta = {
-      description = "A module wrapper for os.path";
-      homepage = http://github.com/jaraco/path.py;
-      license = licenses.mit;
-    };
-
-    checkPhase = ''
-      py.test test_path.py
-    '';
-  };
+  pathpy = callPackage ../development/python-modules/path.py { };
 
   paypalrestsdk = buildPythonPackage rec {
     name = "paypalrestsdk-0.7.0";
@@ -17954,52 +17532,8 @@ in {
     };
   };
 
-  pelican = buildPythonPackage rec {
-    name = "pelican-${version}";
-    version = "3.6.3";
-    disabled = isPy26;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "getpelican";
-      repo = "pelican";
-      rev = version;
-      sha256 = "1k572anw39rws67mvxl2w6y93y8w8q5smnwc0dd2gnnr16cc2vsh";
-    };
-
-    patches = [ ../development/python-modules/pelican-fix-tests-with-pygments-2.1.patch ];
-
-    # There's still some failing tests due to pygments 2.1.3
-    doCheck = false;
-
-    buildInputs = with self; [
-      pkgs.glibcLocales
-      pkgs.pandoc
-      pkgs.git
-      mock
-      nose
-      markdown
-      beautifulsoup4
-      lxml
-      typogrify
-    ];
-
-    propagatedBuildInputs = with self; [
-      jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
-      blinker pillow beautifulsoup4 markupsafe
-    ];
-
-    postPatch= ''
-      sed -i -e "s|'git'|'${pkgs.git}/bin/git'|" pelican/tests/test_pelican.py
-    '';
-
-    LC_ALL="en_US.UTF-8";
-
-    meta = {
-      description = "A tool to generate a static blog from reStructuredText or Markdown input files";
-      homepage = "http://getpelican.com/";
-      license = licenses.agpl3;
-      maintainers = with maintainers; [ offline prikhi garbas ];
-    };
+  pelican = callPackage ../development/python-modules/pelican {
+    inherit (pkgs) glibcLocales pandoc git;
   };
 
   pep8 = buildPythonPackage rec {
@@ -18131,56 +17665,20 @@ in {
     };
   };
 
-  pgcli = buildPythonPackage rec {
-    name = "pgcli-${version}";
-    version = "1.3.1";
-
-    src = pkgs.fetchFromGitHub {
-      sha256 = "18i5pwli36d5d0xh1d7dc80iq85w7vcalphg8hipjclhg2h72bp0";
-      rev = "v${version}";
-      repo = "pgcli";
-      owner = "dbcli";
-    };
-
-    buildInputs = with self; [ pytest mock ];
-    checkPhase = ''
-      py.test tests -k 'not test_missing_rc_dir and not test_quoted_db_uri and not test_port_db_uri'
-    '';
-
-    propagatedBuildInputs = with self; [
-      click configobj humanize prompt_toolkit psycopg2
-      pygments sqlparse pgspecial setproctitle
-    ];
-
-    postPatch = ''
-      substituteInPlace setup.py --replace "==" ">="
-      rm tests/test_rowlimit.py
-    '';
-
-    meta = {
-      description = "Command-line interface for PostgreSQL";
-      longDescription = ''
-        Rich command-line interface for PostgreSQL with auto-completion and
-        syntax highlighting.
-      '';
-      homepage = http://pgcli.com;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ nckx ];
-    };
-  };
-
   pgspecial = buildPythonPackage rec {
-    name = "pgspecial-${version}";
-    version = "1.6.0";
+    pname = "pgspecial";
+    version = "1.8.0";
+    name = "${pname}-${version}";
 
-    src = pkgs.fetchurl {
-      sha256 = "09ilalpgcl86f79648qsjm87dqi97bc70y51nrf0b3i1py3mhs2m";
-      url = "mirror://pypi/p/pgspecial/${name}.tar.gz";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "1dwlv3m4jl34zsakmvxg6hgbfv786jl8dcffxsrlnmcpks829xc9";
     };
 
     buildInputs = with self; [ pytest psycopg2 ];
 
     checkPhase = ''
+      find tests -name \*.pyc -delete
       py.test tests
     '';
 
@@ -18284,7 +17782,7 @@ in {
     # to force it a little.
     installFlags = [ "--ignore-installed" ];
 
-    buildInputs = with self; [ mock scripttest virtualenv pretend pytest ];
+    checkInputs = with self; [ mock scripttest virtualenv pretend pytest ];
     # Pip wants pytest, but tests are not distributed
     doCheck = false;
 
@@ -18603,44 +18101,7 @@ in {
     };
   };
 
-  powerline = buildPythonPackage rec {
-    rev  = "2.5.2";
-    name = "powerline-${rev}";
-    src = pkgs.fetchurl {
-      url    = "https://github.com/powerline/powerline/archive/${rev}.tar.gz";
-      name   = "${name}.tar.gz";
-      sha256 = "064rp2jzz4vp1xqk3445qf08pq3aif00q1rjqaqx2pla15s27yrz";
-    };
-
-    propagatedBuildInputs = with self; [ pkgs.git pkgs.mercurial pkgs.bazaar self.psutil self.pygit2 ];
-
-    # error: This is still beta and some tests still fail
-    doCheck = false;
-
-    postInstall = ''
-      install -dm755 "$out/share/fonts/OTF/"
-      install -dm755 "$out/etc/fonts/conf.d"
-      install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf"
-      install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf"
-
-      install -dm755 "$out/share/vim/vimfiles/plugin"
-      install -m644 "powerline/bindings/vim/plugin/powerline.vim" "$out/share/vim/vimfiles/plugin/powerline.vim"
-
-      install -dm755 "$out/share/zsh/site-contrib"
-      install -m644 "powerline/bindings/zsh/powerline.zsh" "$out/share/zsh/site-contrib/powerline.zsh"
-
-      install -dm755 "$out/share/tmux"
-      install -m644 "powerline/bindings/tmux/powerline.conf" "$out/share/tmux/powerline.conf"
-    '';
-
-    meta = {
-      homepage    = https://github.com/powerline/powerline;
-      description = "The ultimate statusline/prompt utility";
-      license     = licenses.mit;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.all;
-    };
-  };
+  powerline = callPackage ../development/python-modules/powerline { };
 
   pox = buildPythonPackage rec {
     name = "pox-${version}";
@@ -19151,13 +18612,24 @@ in {
   };
 
   pygit2 = buildPythonPackage rec {
-    name = "pygit2-0.25.0";
+    name = "pygit2-0.25.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pygit2/${name}.tar.gz";
-      sha256 = "0wf5rp0fvrw7j3j18dvwjq6xqlbm611wd55aphrfpps0v1gxh3ny";
+      sha256 = "0sja3g9mqwp5bnhdc313b2gc4z3p70nn6zzf2h8j581g0lrn0sg8";
     };
 
+    # Fixes a bug which can cause test failed when cffi==1.10
+    prePatch = let
+      cffiVersionPatch = pkgs.fetchurl {
+        url = "https://github.com/libgit2/pygit2/commit/b88dc868423af2f760f649960112efd0e37e5335.patch";
+        sha256 = "14cfrz56y2dnwlxrrss9pjhxfnyyg5856gbabzjzyx674k0qcid4";
+      };
+    in ''
+      # we need to delete part of the patch because the missing .travis.yml causes problem
+      sed -e '1,36d' ${cffiVersionPatch} | patch -p1
+    '';
+
     preConfigure = ( if stdenv.isDarwin then ''
       export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib"
     '' else "" );
@@ -19168,6 +18640,7 @@ in {
       # disable tests that require networking
       rm test/test_repository.py
       rm test/test_credentials.py
+      rm test/test_submodule.py
     '';
 
     meta = {
@@ -21295,25 +20768,7 @@ in {
     };
   };
 
-  pywinrm = buildPythonPackage rec {
-    version = "0.1.1";
-    name = "pywinrm-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/diyan/pywinrm/archive/v${version}.tar.gz";
-      sha256 = "1pc0987f6q5sxcgm50a1k1xz2pk45ny9xxnyapaf60662rcavvfb";
-    };
-
-    propagatedBuildInputs = with self; [ isodate kerberos xmltodict ];
-
-    meta = {
-      homepage = "http://github.com/diyan/pywinrm/";
-      description = "Python library for Windows Remote Management";
-      license = licenses.mit;
-      # error: libgssapi_krb5.so: cannot open shared object file: No such file or directory
-      broken = true; #
-    };
-  };
+  pywinrm = callPackage ../development/python-modules/pywinrm { };
 
   PyXAPI = stdenv.mkDerivation rec {
     name = "PyXAPI-0.1";
@@ -21576,6 +21031,8 @@ in {
     };
   };
 
+  requests_ntlm = callPackage ../development/python-modules/requests_ntlm { };
+
   requests_oauthlib = callPackage ../development/python-modules/requests-oauthlib.nix { };
 
   requests_toolbelt = buildPythonPackage rec {
@@ -22285,21 +21742,7 @@ in {
      };
   };
 
-  ropper = buildPythonApplication rec {
-    name = "ropper-1.10.10";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/ropper/${name}.tar.gz";
-      sha256 = "1676e07947a19df9d17002307a7555c2647a4224d6f2869949e8fc4bd18f2e87";
-    };
-    propagatedBuildInputs = with self; [ capstone filebytes ];
-    meta = with pkgs.stdenv.lib; {
-      homepage = "https://scoding.de/ropper/";
-      license = licenses.gpl2;
-      description = "Show information about files in different file formats";
-      maintainers = with maintainers; [ bennofs ];
-    };
-  };
-
+  ropper = callPackage ../development/python-modules/ropper { };
 
   routes = buildPythonPackage rec {
     name = "routes-1.12.3";
@@ -22695,32 +22138,8 @@ in {
     };
   };
 
-
-  scikitlearn = buildPythonPackage rec {
-    name = "scikit-learn-${version}";
-    version = "0.18.1";
-    disabled = stdenv.isi686;  # https://github.com/scikit-learn/scikit-learn/issues/5534
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/scikit-learn/${name}.tar.gz";
-      sha256 = "1eddfc27bb37597a5d514de1299981758e660e0af56981c0bfdf462c9568a60c";
-    };
-
-    buildInputs = with self; [ nose pillow pkgs.gfortran pkgs.glibcLocales ];
-    propagatedBuildInputs = with self; [ numpy scipy numpy.blas ];
-
-    LC_ALL="en_US.UTF-8";
-
-    checkPhase = ''
-      HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/
-    '';
-
-    meta = {
-      description = "A set of python modules for machine learning and data mining";
-      homepage = http://scikit-learn.org;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ fridh ];
-    };
+  scikitlearn = callPackage ../development/python-modules/scikitlearn {
+    inherit (pkgs) gfortran glibcLocales;
   };
 
   scripttest = buildPythonPackage rec {
@@ -22808,7 +22227,8 @@ in {
       sha256 = "0bwyc5markib0i7i2qlyhdzxhiywzxbkfiapldma8m91m82jvwfs";
     };
 
-    buildInputs = with self; [ pip pytest ];
+    buildInputs = with self; [ pip ];
+    checkInputs = with self; [ pytest ];
     # Seems to fail due to chroot
     doCheck = false;
 
@@ -22977,30 +22397,7 @@ in {
     };
   };
 
-  simplejson = buildPythonPackage (rec {
-    name = "simplejson-3.8.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/simplejson/${name}.tar.gz";
-      sha256 = "14r4l4rcsyf87p2j4ycsbb017n4vzxfmv285rq2gny4w47rwi2j2";
-    };
-
-    meta = {
-      description = "A simple, fast, extensible JSON encoder/decoder for Python";
-
-      longDescription = ''
-        simplejson is compatible with Python 2.4 and later with no
-        external dependencies.  It covers the full JSON specification
-        for both encoding and decoding, with unicode support.  By
-        default, encoding is done in an encoding neutral fashion (plain
-        ASCII with \uXXXX escapes for unicode characters).
-      '';
-
-      homepage = http://code.google.com/p/simplejson/;
-
-      license = licenses.mit;
-    };
-  });
+  simplejson = callPackage ../development/python-modules/simplejson { };
 
   simpleldap = buildPythonPackage rec {
     version = "0.8";
@@ -24275,32 +23672,7 @@ in {
 
 
 
-  sqlalchemy = buildPythonPackage rec {
-    name = "SQLAlchemy-${version}";
-    version = "1.0.15";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/S/SQLAlchemy/${name}.tar.gz";
-      sha256 = "586f5ccf068211795a89ed22d196c5cc3006b6be00261bcac6f584c0b8e0845a";
-    };
-
-    buildInputs = with self; [ pytest mock pytest_xdist ]
-      ++ stdenv.lib.optional (!isPy3k) pysqlite;
-
-    # Test-only dependency pysqlite doesn't build on Python 3. This isn't an
-    # acceptable reason to make all dependents unavailable on Python 3 as well
-    #doCheck = !(isPyPy || isPy3k);
-
-    checkPhase = ''
-      py.test
-    '';
-
-    meta = {
-      homepage = http://www.sqlalchemy.org/;
-      description = "A Python SQL toolkit and Object Relational Mapper";
-      license = licenses.mit;
-    };
-  };
+  sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
 
   SQLAlchemy-ImageAttach = buildPythonPackage rec {
     pname = "SQLAlchemy-ImageAttach";
@@ -24607,28 +23979,8 @@ in {
     };
   };
 
-  systemd = buildPythonPackage rec {
-    version = "231";
-    name = "python-systemd-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/systemd/python-systemd/archive/v${version}.tar.gz";
-      sha256 = "1sifq7mdg0y5ngab8vjy8995nz9c0hxny35dxs5qjx0k0hyzb71c";
-    };
-
-    buildInputs = with pkgs; [ systemd pkgconfig ];
-
-    patchPhase = ''
-      substituteInPlace setup.py \
-          --replace "/usr/include" "${pkgs.systemd.dev}/include"
-      echo '#include <time.h>' >> systemd/pyutil.h
-    '';
-
-    meta = {
-      description = "Python module for native access to the systemd facilities";
-      homepage = http://www.freedesktop.org/software/systemd/python-systemd/;
-      license = licenses.lgpl21;
-    };
+  systemd = callPackage ../development/python-modules/systemd {
+    inherit (pkgs) pkgconfig systemd;
   };
 
   tabulate = buildPythonPackage rec {
@@ -26287,28 +25639,7 @@ EOF
     };
   };
 
-  wheel = buildPythonPackage rec {
-    name = "wheel-${version}";
-    version = "0.29.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/w/wheel/${name}.tar.gz";
-      sha256 = "1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648";
-    };
-
-    buildInputs = with self; [ pytest pytestcov coverage ];
-
-    propagatedBuildInputs = with self; [ jsonschema ];
-
-    # We add this flag to ignore the copy installed by bootstrapped-pip
-    installFlags = [ "--ignore-installed" ];
-
-    meta = {
-      description = "A built-package format for Python";
-      license = with licenses; [ mit ];
-      homepage = https://bitbucket.org/pypa/wheel/;
-    };
-  };
+  wheel = callPackage ../development/python-modules/wheel { };
 
   widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
 
@@ -28102,23 +27433,21 @@ EOF
   };
 
   ws4py = buildPythonPackage rec {
-    name = "ws4py-${version}";
-
-    version = "git-20130303";
+    name = "${pname}-${version}";
+    pname = "ws4py";
+    version = "0.4.2";
 
-    src = pkgs.fetchgit {
-      url = "https://github.com/Lawouach/WebSocket-for-Python.git";
-      rev = "ace276500ca7e4c357595e3773be151d37bcd6e2";
-      sha256 = "1g7nmhjjxjf6vx75dyzns8bpid3b5i02kakk2lh1i297b5rw2rjq";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0zr3254ky6r7q15l3dhdczfa8i723055zdkqssjifsgcwvirriks";
     };
 
-    # python zip complains about old timestamps
-    preConfigure = ''
-      find -print0 | xargs -0 touch
-    '';
+    buildInputs = with self; [ pytest mock ];
+    propagatedBuildInputs = with self; [ asyncio cherrypy gevent tornado ];
 
-    # Tests depend on other packages
-    doCheck = false;
+    checkPhase = ''
+      pytest test
+    '';
 
     meta = {
       homepage = https://ws4py.readthedocs.org;
@@ -28474,27 +27803,7 @@ EOF
   };
 
 
-  uncertainties = buildPythonPackage rec {
-    name = "uncertainties-${version}";
-    version = "3.0.1";
-
-    src = pkgs.fetchurl {
-       url = "mirror://pypi/u/uncertainties/${name}.tar.gz";
-       sha256 = "de0765cac6911e5afa93ee941063a07b4a98dbd9c314c5eea4ab14bfff0054a4";
-    };
-
-    buildInputs = with self; [ nose numpy ];
-
-    meta = {
-      homepage = "http://pythonhosted.org/uncertainties/";
-      description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)";
-      license = licenses.bsd3;
-    };
-
-    # No tests included
-    doCheck = false;
-  };
-
+  uncertainties = callPackage ../development/python-modules/uncertainties { };
 
   funcy = buildPythonPackage rec {
     name = "funcy-1.6";
@@ -28740,7 +28049,7 @@ EOF
 
   thumbor = buildPythonPackage rec {
     name = "thumbor-${version}";
-    version = "5.2.1";
+    version = "6.3.2";
 
     disabled = ! isPy27;
 
@@ -28750,6 +28059,7 @@ EOF
       tornado
       pycrypto
       pycurl
+      pytz
       pillow
       derpconf
       python_magic
@@ -28761,14 +28071,18 @@ EOF
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/t/thumbor/${name}.tar.gz";
-      sha256 = "57b0d7e261e792b2e2c53a79c3d8c722964003d1828331995dc3491dc67db7d8";
+      sha256 = "0787245x4yci34cdfc9xaxhds0lv60476qgp132pwa78hrpc9m31";
     };
 
+    prePatch = ''
+      substituteInPlace setup.py \
+        --replace '"argparse",' ""
+    '';
+
     meta = {
       description = "A smart imaging service";
       homepage = https://github.com/globocom/thumbor/wiki;
       license = licenses.mit;
-      broken = true;
     };
   };
 
@@ -28936,6 +28250,9 @@ EOF
     buildInputs = with self; [ nose ];
     propagatedBuildInputs = with self; [ decorator ];
 
+    # 17 failures with 3.6 https://github.com/networkx/networkx/issues/2396#issuecomment-304437299
+    doCheck = !(isPy36);
+
     meta = {
       homepage = "https://networkx.github.io/";
       description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks";
@@ -29949,106 +29266,40 @@ EOF
     };
   };
 
-  hidapi = buildPythonPackage rec{
-    version = "0.7.99.post15";
-    name = "hidapi-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hidapi/${name}.tar.gz";
-      sha256 = "09wlr1d7mx80974bsq62j4pk80234jgl7ip4br0y43q6999dpcr0";
-    };
-
-    propagatedBuildInputs = with self; [ pkgs.libusb1 pkgs.udev cython ];
-
-    # Fix the USB backend library lookup
-    postPatch = ''
-      libusb=${pkgs.libusb1.dev}/include/libusb-1.0
-      test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
-      sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py
-    '';
-
-    meta = {
-      description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi";
-      homepage = https://github.com/trezor/cython-hidapi;
-      # license can actually be either bsd3 or gpl3
-      # see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ np ];
-    };
+  hidapi = callPackage ../development/python-modules/hidapi {
+    inherit (pkgs) udev libusb1;
   };
 
-  mnemonic = callPackage ../development/python-modules/mnemonic.nix { };
-
-  trezor = callPackage ../development/python-modules/trezor.nix { };
+  mnemonic = callPackage ../development/python-modules/mnemonic { };
 
-  keepkey = buildPythonPackage rec{
-    version = "0.7.3";
-    name = "keepkey-${version}";
+  keepkey = callPackage ../development/python-modules/keepkey { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/k/keepkey/${name}.tar.gz";
-      sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714";
-    };
+  libagent = callPackage ../development/python-modules/libagent { };
 
-    propagatedBuildInputs = with self; [ protobuf3_0 hidapi ];
+  ledgerblue = callPackage ../development/python-modules/ledgerblue { };
 
-    buildInputs = with self; [ ecdsa mnemonic ];
+  ecpy = callPackage ../development/python-modules/ecpy { };
 
-    # There are no actual tests: "ImportError: No module named tests"
-    doCheck = false;
+  semver = callPackage ../development/python-modules/semver { };
 
-    meta = {
-      description = "KeepKey Python client";
-      homepage = https://github.com/keepkey/python-keepkey;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ np ];
-    };
-  };
+  ed25519 = callPackage ../development/python-modules/ed25519 { };
 
-  semver = buildPythonPackage rec {
-    name = "semver-${version}";
-    version = "2.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/semver/${name}.tar.gz";
-      sha256 = "161gvsfpw0l8lnf1v19rvqc8b9f8n70cc8ppya4l0n6rwc1c1n4m";
-    };
-
-    meta = {
-      description = "Python package to work with Semantic Versioning (http://semver.org/)";
-      homepage = "https://github.com/k-bx/python-semver";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ np ];
-    };
-  };
-
-  ed25519 = buildPythonPackage rec {
-    name = "ed25519-${version}";
-    version = "1.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/ed25519/${name}.tar.gz";
-      sha256 = "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499";
-    };
-
-    meta = {
-      description = "Ed25519 public-key signatures";
-      homepage = "https://github.com/warner/python-ed25519";
-      license = licenses.mit;
-      maintainers = with maintainers; [ np ];
-    };
-  };
+  trezor = callPackage ../development/python-modules/trezor { };
 
   trezor_agent = buildPythonPackage rec{
-    version = "0.7.0";
-    name = "trezor_agent-${version}";
+    name = "${pname}-${version}";
+    pname = "trezor_agent";
+    version = "0.9.0";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/trezor_agent/${name}.tar.gz";
-      sha256 = "1x1gwih6w8kxhpgmcp0v1k7mpmfsqiikkjca291sd0v2if24x7q1";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "1i5cdamlf3c0ym600pjklij74p8ifj9cv7xrpnrfl1b8nkadswbz";
     };
 
-    propagatedBuildInputs = with self; [ trezor ecdsa ed25519 mnemonic keepkey semver ];
+    propagatedBuildInputs = with self; [
+      trezor libagent ecdsa ed25519
+      mnemonic keepkey semver
+    ];
 
     meta = {
       description = "Using Trezor as hardware SSH agent";
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 1e764ef0072..94c1e6c7ad2 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -24,7 +24,7 @@ let
   };
 
   linuxCommon = lib.recursiveUpdate gnuCommon {
-    buildPackages.gdbCross = nativePlatforms;
+    buildPackages.gdb = nativePlatforms;
 
     bison = nativePlatforms;
     busybox = nativePlatforms;
@@ -59,8 +59,8 @@ in
     # there probably a good idea to try to be "more parametric" --- i.e. avoid
     # any special casing.
     crossSystem = {
-      config = "foosys";
-      libc = "foolibc";
+      config = "mips64el-apple-windows-gnu";
+      libc = "glibc";
     };
 
     # Converting to a string (drv path) before checking equality is probably a
@@ -89,101 +89,26 @@ in
     guile = nativePlatforms;
   };
 
-  darwinToAarch64 = let
-    crossSystem = {
-      config = "aarch64-apple-darwin14";
-      arch = "arm64";
-      libc = "libSystem";
-    };
-  in mapTestOnCross crossSystem darwinCommon;
+  crossIphone64 = mapTestOnCross lib.systems.examples.iphone64 darwinCommon;
 
-  darwinToArm = let
-    crossSystem = {
-      config = "arm-apple-darwin10";
-      arch = "armv7-a";
-      libc = "libSystem";
-    };
-  in mapTestOnCross crossSystem darwinCommon;
+  crossIphone32 = mapTestOnCross lib.systems.examples.iphone32 darwinCommon;
 
   /* Test some cross builds to the Sheevaplug */
-  crossSheevaplugLinux = let
-    crossSystem = {
-      config = "armv5tel-unknown-linux-gnueabi";
-      bigEndian = false;
-      arch = "arm";
-      float = "soft";
-      withTLS = true;
-      platform = lib.systems.platforms.sheevaplug;
-      libc = "glibc";
-      openssl.system = "linux-generic32";
-    };
-  in mapTestOnCross crossSystem (linuxCommon // {
+  crossSheevaplugLinux = mapTestOnCross lib.systems.examples.sheevaplug (linuxCommon // {
     ubootSheevaplug = nativePlatforms;
   });
 
-
   /* Test some cross builds on 32 bit mingw-w64 */
-  crossMingw32 = let
-    crossSystem = {
-      config = "i686-pc-mingw32";
-      arch = "x86"; # Irrelevant
-      libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
-      platform = {};
-    };
-  in mapTestOnCross crossSystem windowsCommon;
-
+  crossMingw32 = mapTestOnCross lib.systems.examples.mingw32 windowsCommon;
 
   /* Test some cross builds on 64 bit mingw-w64 */
-  crossMingwW64 = let
-    crossSystem = {
-      # That's the triplet they use in the mingw-w64 docs.
-      config = "x86_64-pc-mingw32";
-      arch = "x86_64"; # Irrelevant
-      libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
-      platform = {};
-    };
-  in mapTestOnCross crossSystem windowsCommon;
-
+  crossMingwW64 = mapTestOnCross lib.systems.examples.mingwW64 windowsCommon;
 
   /* Linux on the fuloong */
-  fuloongminipc = let
-    crossSystem = {
-      config = "mips64el-unknown-linux-gnu";
-      bigEndian = false;
-      arch = "mips";
-      float = "hard";
-      withTLS = true;
-      libc = "glibc";
-      platform = lib.systems.platforms.fuloong2f_n32;
-      openssl.system = "linux-generic32";
-      gcc = {
-        arch = "loongson2f";
-        abi = "n32";
-      };
-    };
-  in mapTestOnCross crossSystem linuxCommon;
-
+  fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
 
   /* Linux on Raspberrypi */
-  rpi = let
-    crossSystem = {
-      config = "armv6l-unknown-linux-gnueabi";
-      bigEndian = false;
-      arch = "arm";
-      float = "hard";
-      fpu = "vfp";
-      withTLS = true;
-      libc = "glibc";
-      platform = lib.systems.platforms.raspberrypi;
-      openssl.system = "linux-generic32";
-      gcc = {
-        arch = "armv6";
-        fpu = "vfp";
-        float = "softfp";
-        abi = "aapcs-linux";
-      };
-    };
-  in mapTestOnCross crossSystem (linuxCommon // {
+  rpi = mapTestOnCross lib.systems.examples.raspberryPi (linuxCommon // {
     vim = nativePlatforms;
     unzip = nativePlatforms;
     ddrescue = nativePlatforms;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 3931a3fe73e..be57b40fca6 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -111,6 +111,7 @@ let
       ocamlPackages = { };
       perlPackages = { };
       pythonPackages = {
+        blaze = unix;
         pandas = unix;
         scikitlearn = unix;
       };
@@ -122,6 +123,12 @@ let
         pandas = unix;
         scikitlearn = unix;
       };
+      python36Packages = {
+        blaze = unix;
+        pandas = unix;
+        scikitlearn = unix;
+      };
+
     } ));
 
 in jobs
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index db147fa9ca9..2fa9ac926d7 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,9 +7,9 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2017-05-15";
-  rev = "c73d61e84a623168a1a9bfff9c71defcc3416631";
-  sha256 = "0c2f4f48bacx0lq33bjw806fq5r4nvbrxvl74n7gd2y44ldafnir";
+  version = "2017-05-31";
+  rev = "d85037df75a945b5a368d6ceaa7e030b67473a51";
+  sha256 = "0567lfjxvbn4pb39557yfdq1nm4ssgbvzvzkrdqnx9sx5xyx7n4s";
 
   src = fetchFromGitHub {
       inherit rev;